vk-to-telegram — npm
Powered by Telegraf
Установка
npm install vk-to-telegram --save
Пример
const app = require('express')() const bodyParser = требуется ('тело-парсер') const vkToTelegram = require('vk-to-telegram') const vkToTg = новый vkToTelegram({ botToken: 'токен вашего бота', chatName: 'телеграмм чат/название канала', // ownerId: 'ваш идентификатор телеграммы', // номер vkToken: 'ваш очень длинный токен от vk api', vkConfirmation: 'групповое подтверждение' }) app.use(bodyParser.json()) // Необходимо проанализировать тело запроса app.post('/', (req, res) => { vkToTg.send(req, res) .then(() => console.log('Готово!')) .catch((ошибка) => { console.log('Что-то пошло не так') console.log(ошибка) }) }) app.listen(80,()=>{ console.log('прослушивание порта 80') })
Что это?
Инструмент для экспресса, который через VK callback api пересылает сообщения из группы в канал или чат в Telegram!
Они используют vk-to-telegram в производстве
Какой контент он пересылает?
Тип содержимого | Полностью работает? |
---|---|
Фото | Да |
Видео | Да , как ссылки. |
Аудио(а) | №. Почему? Читайте здесь. |
Документ(ы) | Да |
Ссылка | Да , но ВК творит ужасные вещи… с названиями ссылок, написанными кириллицей. |
Содержание приложения | Да |
Опрос | Пока нет , но сервер пересылки отправит ссылку на опрос. |
Альбом(ы) | Да , так как фотографии в подписи имеют ссылки на альбом(ы). |
Граффити | Не проверено. |
Вики-страница | Не проверено. |
Предмет рынка | Не проверено. |
Наклейка | Не проверено. |
Бесплатное использование
Если вы хотите протестировать этот код или использовать его на регулярной основе (бета-версия, работает через heroku), пожалуйста, свяжитесь со мной для получения подробной информации.
Переменные
Переменные | Тип | Обязательно | Описание |
---|---|---|---|
токен | Строка | Да | Токен бота от Botfather |
имя_чата | Строка | Да | Телеграм-канал или ссылка на группу, например ‘@tavernofheroes’ |
идентификатор чата | Номер | Дополнительно | Если вы знаете идентификатор своего чата/канала, укажите его здесь, он заменит параметр chatName |
идентификатор владельца | Номер | Да | Ваш идентификатор телеграммы для отправки ошибки, если они есть. Вы можете узнать это от @getidsbot |
вкПодтверждение | Строка | Да | Строка подтверждения от API-сервера обратного вызова вашей группы: |
от идентификатора | Номер | Дополнительно | Идентификатор группы ВК с ‘-‘ в начале или без, если не нужно проверять. |
пользовательскийVkButton | Строка | Дополнительно | Заголовок для кнопки, которая будет добавлена к каждому посту для его открытия в ВК |
customPollTitle | Строка | Дополнительно | Строка пользовательского шаблона в заголовке кнопки с URL-адресом для опроса («Открыть опрос» -> «Открыть опрос — ${poll.question}») |
CustomLongPostText | Строка | Дополнительно | Пользовательская строка шаблона, заменяющая полный текст сообщения, поскольку она слишком длинная для Telegram (максимум 4096 символов) («Слишком длинное сообщение… [Читать полностью]» -> «Слишком длинное сообщение… Читать полностью» и анализировать как HTML) |
подписанный | Строка | Дополнительно | Пользовательская строка шаблона, добавляющая подписавшего сообщение в конец сообщения Telegram («Post By» -> «\n\nPost by com/id${post.signer_id}»> |
геройку | Логический | Дополнительно | Добавить фильтр, который останавливает пересылку, если обнаружит, что сообщение повторяется (из-за спящего приложения) |
vkToken | Строка | Да | Следуйте приведенным ниже инструкциям: |
1. Создайте приложение Standalone здесь: https://vk.com/apps?act=manage | |||
2. Откройте настройки в созданном приложении и скопируйте идентификатор приложения | |||
3. Откройте эту ссылку, заменив идентификатор вашего приложения: | |||
https://oauth.vk.com/authorize?client_id=ID ВАШЕГО ПРИЛОЖЕНИЯ&display=page&redirect_uri=http://vk. |