Телеграм бот для оповещения о новых комментариях под постами групп в ВКонтакте, Одноклассники и Телеграм.
Бот каждые N минут обращается к API соответствующих социальных сетей для получения последних P постов, после чего ищет новые комментарии. Если такие находятся, - бот собирает основные метаданные о каждом из комментариев и отправляет сообщение в телеграм чат мониторинга.
Настройка работы бота делится на два способа:
- до запуска (заполнение токенов API, имя файла базы данных);
- после запуска (то, что можно контролировать через команды бота: общедоступность, разрешенные пользователи, рассматриваемые группы в социальных сетях).
Файл конфигурации, который необходимо заполнить перед начальным запуском, выглядит примерно так:
{
"telegram": {
"api_token": "bot_token",
"is_public": false,
"allowed_user_ids": [
2314321003123121212,
],
"monitoring_channel_id": 238047138
},
"debug": true,
"database": {
"file": "DB.sqlite3"
},
"socials": {
"vk": {
"token": "vk_user_token"
},
"ok": {
"token": "ok_token",
"public_key": "app_public_key",
"secret_key": "app_secret_key",
"app_id": "app_id"
},
"telegram": {
"token": "bot_token"
}
}
}Первостепенно и необходимо внести API токены различных социальных сетей.
ВК
Необходим токен пользователя. Получить можно, например, здесь, но с осторожностью и без гарантий безопасности.
ОК
Необходимо получить права разработчика и создать WEB приложение, после чего получить токены.
ТГ
Использовать тот же токен, что и для работы бота.
Последующую настройку можно производить с помощью команд. Обратитесь к боту с командой /help, для того, чтобы увидеть все доступные команды.
Нынешний вывод команды /help:
[Мониторинг]
Команда: "/addgroup"
Описание: Добавить группу для мониторинга
Пример: /addgroup vk club123
Команда: "/rmgroup"
Описание: Удалить группу из мониторинга
Пример: /rmgroup vk 123
Команда: "/listgroups"
Описание: Показать все отслеживаемые группы
[Общее]
Команда: "/help"
Описание: Напечатать вспомогательное сообщение
Команда: "/about"
Описание: Напечатать информацию о боте
Команда: "/conf"
Описание: Написать текущую конфигурацию
Команда: "/chatid"
Описание: Показать ID канала
Команда: "/setchatid"
Описание: Сменить ID чата для отправки сообщений о комментариях
[Телеграм]
Команда: "/togglepublic"
Описание: Включить или выключить публичный/приватный доступ к боту
Команда: "/adduser"
Описание: Добавить доступ к боту определенному пользователю по ID (напишите боту @userinfobot для получения своего ID)
Пример: /adduser 5293210034
Команда: "/rmuser"
Описание: Убрать доступ к боту определенному пользователю по ID
Пример: /rmuser 5293210034
GPLv3