Совсем недавно я начал осваивать телегу и понял, что благодаря открытому API телеграм является шикарным средством для различного рода уведомлений.
Хочу представить вашему вниманию простое средство для уведомлений о новых личных сообщениях вКонтакте посредством телеграм. С учётом того, что полтора года назад, термин "PHP" был для меня почти столь же понятен, как и основы квантовой хромодинамики, надеюсь данная заметка кому-то, да пригодится. Часто важен и нужен пример, а практическое применение знаниям всегда возможно найти.
Возможности: бот уведомляет в телеграм о новых непрочитанных сообщениях вк от других пользователей и от сообществ, в формате "Имя Фамилия Отправителя + текст сообщения".
Если текст сообщения пустой (т.е. внутри сообщения - фотографии, видео, или репост - то в телегу придёт только имя-фамилия отправителя и пустое сообщение).
1.1. Получаем токен своей анкеты вк с правами messages. Открываем в браузере вот такую ссылку
https://oauth.vk.com/authorize?client_id=6190665&scope=messages,offline&redirect_uri=https://api.vk.com/blank.html&display=page&response_type=token&revoke=1&v=5.68
- нажимаем "Разрешить" и в адресной строке находим токен от анкеты
Набор цифр и букв от знака '=' до знака '&' — подчёркнутый красной линией — это и есть токен. Сохраняем токен в надёжное место.
1.2. Создаём телеграм-бота. В телеграм находим "отца всех ботов", его логин @BotFather и пишем ему команду
/newbot
Нам предлагают указать имя ботa (я своего назвал "Котёнок"), логин ботa (который должен будет заканчиваться словом "bot", например koteyka_bot )
После прохождения данного квеста нам будет выдан токен нового телеграм-бота. Примерный вид его такой:
12345678:AAds68dqosAAds22dqosBtSdsdABCXYZ
Записываем и этот токен.
1.3. В поиске телеграм находим своего ботa и пишем ему какое-нить сообщение, неважно какое. Затем в браузере открываем ссылку такого вида:
https://api.telegram.org/bot12345678:AAds68dqosAAds22dqosBtSdsdABCXYZ/getUpdates
Как можно догадаться, вместо 12345678:AAds68dqosAAds22dqosBtSdsdABCXYZ следует указывать токен своего телеграм-ботa.
В ответе на данный запрос ищем и находим id чата между собой и своим телеграм-ботoм:
Записываем эти цифры :)
Открываем файл vkinformer.php в блокноте и вписываем токен от вк анкеты, токен от телеграм-ботa и цифровой id chata в соответствующие места:
$v_token - как можно догадаться токен от вк
$t_token - токен от телеграма
$chat_id - айди чата между вами и телеграм-роботом.
Шаг 3. Ставим бoта работать.
Загружаем наш скрипт на хостинг на ставим на крон (регулярное выполнение) каждую минуту или чуть реже. Я поставил каждые 5 минут :)
На хостинге бегет это выглядит примерно так:
Скачать скрипт можно по ссылке: vkinformer.zip
Работающий результат будет выглядеть примерно так:
Возможно будет полезно:
API вКонтакте: https://vk.com/dev/methods
API телеграм: https://tlgrm.ru/docs/bots/api
Что такое php и с чем его едят: http://php.net/manual/ru/langref.php
Что такое токен анкеты вКонтакте и для чего он используется: http://makag.ru/2016/09/04/chto-takoe-token-ankety-vkontakte-i-dlya-chego-on-ispolzuetsya.html
Регистрация и использование хостинга бегет в картинках: http://makag.ru/2016/07/19/registraciya-i-ispolzovanie-hostinga-beget-v-kartinkah.html
Набор скриптов Будулай Про для автоматизации вКонтакте: http://budulai-pro.ru/