VKGIFSBot - удобный бот для отправки GIF-изображений из ВКонтакте в Телеграмe. Работает это очень просто: бот получает токен ВКонтакте API и делает запрос docs.get
, который возвращает доступные документы пользователя.
Происходит отбор GIF-изображений и они возвращаются ботом через Inline. Для токенов я создал своё Standalone-приложение ВКонтакте, которое запрашивает доступ ТОЛЬКО к файлам. Это важно, потому что бот не лезет куда-то дальше,
а значит ваши сообщения в безопасности.
Я добавил функцию поиска гифок, которую можно использовать во время инлайн запроса к боту.
Для того, чтобы отправить GIF из Телеграма в ВКонтакте воспользуйтесь командой /backup
и отправьте GIF.
InlineQuery
в Телеграме может возвращать только 50 элементов, поэтому пришлось добавить кнопку "Следующие 50 GIF". При нажатии на неё пользователь отправляет боту /start
.
Но на самом деле отправляется /start next
- это называется Deep linking. Это полезно знать разработчикам ботов для Телеграма, поэтому я оставлю ссылку.
Слишком большие GIF-изображения также не отображаются.
Оказывается в InlineQuery
можно передать аргумент next_offset
, который по сути является оффсетом для инлайн-окна. Другими словами, когда пользователь будет листать инлайн-ответ, еще раз вызовется инлайн-функция, только с оффсетом, который вы указали в next_offset
и его можно обработать, чтобы вернуть следующие 50 GIF.
В проекте предусмотрена база данных для сохранения токенов пользователей в случае неисправности сервера.
Введите телеграм токен в dockerfile и выполните:
docker build -t vkgifsbot .
docker run -d --name vkgifs -v /local/path/to/rep/db:/usr/src/app/db --rm vkgifsbot
...
Можете поставить звёздочку или поддержать через Киви, мне будет очень приятно!