Telegram бот который отправляет сообщения из vk.com вам в телеграм и наоборот
2.2K
Нужно это если вы уже давно выбрали Telegram как свой основной мессенджер, но у вас еще остались пара друзей/знакомых которые пишут вам в VK, или же вы просто с Украины (как я), и у вас нет доступа к Вконтакте без всяких неудобных VPN, а вам нужно что-то написать, или просто ответить.
Для начала вам нужен сам бот в телеграме, а точнее <token> бота. Надеюсь вы уже знаете где и как его получить. Если нет - вам сюда
Если у вас есть <token> бота, тогда идите в ВК, и возьмите access_token с правами "offline,messages,video,photos,docs". Не знаете как?
Это очень просто, вам нужно сделать 3 простых шага:
https://oauth.vk.com/authorize?client_id=*ID*&display=page&redirect_uri=https://oauth.vk.com/blank.html&response_type=token&v=5.65&scope=offline,messages,video,photos,docs
У вас есть 2 токена? хорошо, скачивайте бота:
git clone https://github.com/seniv/vk-tg-bot.git
Войдите в папку с ботом:
cd vk-tg-bot
Загрузите модули:
npm install
Почти готово! Далее откройте файл config.json, и измените 3 строчки конфигурации:
"vk_token": "ВАШ ВК ТОКЕН",
"tg_token": "ВАШ ТОКЕН БОТА",
"tg_user": 0, // *TelegramID пользователя*, Измените этот айди на свой
Получить TelegramID пользователя можно введя боту команду "/myid", запустив бота перед этим.
И всё, ваш бот готов к использованию. Запускаем:
npm start
Прошу заметить, бот не будет реагировать если ему напишет кто-то, у кого ID не такой как указан в конфигурации! (будет работать только команда /myid)
docker-cli:
docker run -e VK_TOKEN='ВАШ ВК ТОКЕН' -e TG_TOKEN='ВАШ ТОКЕН БОТА' -e TG_USER=TelegramID пользователя 421p/vk-tg-bot
docker-compose:
version: '3'
services:
bot:
image: 421p/vk-tg-bot
environment:
VK_TOKEN: 'ВАШ ВК ТОКЕН'
TG_TOKEN: 'ВАШ ТОКЕН БОТА'
TG_USER: 0 // id
Для начала можете отправить боту команду "/start", чтобы бот создал клавиатуру с основными командами, но это не обязательно.
Для того чтобы написать что-то кому-то из ВК, сначала вам нужно выбрать получателя. Выбрать получателя очень просто - напишите боту слэш(/), а после него - ID получателя (ID пользователя VK).
Должно получится что то в этом роде: (в примере использован мой айди)
/98117105
После чего бот сообщит вам что получатель изменён, и напишет имя и фамилию нового получателя, а вы сможете отправлять сообщения этому человеку просто написав боту.
Вы можете отправить боту фото, стикер или голосовое сообщение, он загрузит его в ВК и отправит получателю. Стикер из телеграма будет отправлен как картинка.
Так же бот разбирает основные вложения (фотографии, видео, записи на стене, стикеры, голосовые сообщения, любые документы), остальные вложения бот не будет разбирать, и просто отправит вам тип вложения (gift, audio и т.д.). Стикеры из ВК будут отправлены как картинка
В файле config.json вы можете изменить клавиатуру, которая будет создана после ввода команды "/start", или после смены получателя. В ней вы можете добавить несколько людей которым вы часто пишите, или же просто какую-то часто использованную фразу. После добавления команды для смены пользователя должно получится примерно так:
"keyboard": [
["/98117105 - Ivan"],
["/online", "/friends"],
["/friendson", "/history"]
]
Знаю что бот написан не идеально, но это работает!
Нашли баги? пишите сюда
Бота я больше не поддерживаю, т.к. больше не пользуюсь ВК вообще.
Но если у вас есть навыки програмирования и желание сделать что-то хорошее - можете присылать Pull-реквесты, их я буду просматривать и принимать, если они будут полезными.
Так-что вы все ещё можете сообщать о проблемах, возможно кто-то из других разработчиков их исправит. Возможно даже я 😏
Если решите что-то исправить/добавить - вот вам нескольно полезных ссылок которые помогут быстро разобратся с кодом и библиотеками которые сдесь используются:
Content type
Image
Digest
Size
77.9 MB
Last updated
over 7 years ago
docker pull 421p/vk-tg-bot