Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CT Stickers Bot

Бот для текстового поиска стикеров

Сборка

go get .
go build -o CTStickersBot

Запуск

Поднять локальную базу (можно не поднимать, если есть внешняя).

docker-compose -p stickers_bot -f postgresql/docker-compose.yml build
docker-compose -p stickers_bot -f postgresql/docker-compose.yml up -d

Задать переменные окружения:

  • BOT_AUTH_TOKEN - telegram токен бота;
  • OCRAPI_TOKEN - токен для парсинга текста.
./CTStickersBot

Характеристики

Telegram Api

  • Используется https://github.com/go-telegram-bot-api/telegram-bot-api.
  • Реализована Long-polling схема.
  • Поиск стикеров работает через inline сообщения. Не забудьте подключить inline через Bot Father.

Логирование

Хранилище

  • PostgreSQL.
  • SQL для наливки базы в postgresql/initial.sql, в нем уже есть несколько стикеров для примера.
  • Можно запустить как Docker контейнер. Образ лежит в postgresql/docker-compose.yml.

Парсинг текста стикеров

  • Используется api https://api.ocr.space/.
  • Для использования нужно получить бесплатный токен.

Конфиги

  • Все настраивается в config_dev.yaml.
  • Почти все настройки можно переопределять через соответствующие переменные окружения. Соответствие настроек и переменных можно посмотреть в коде.

Web-Сервер

  • Запускается при старте бота.
  • Умеет отвечать на две ручки:
    • / - некоторая статистика из базы;
    • /ping - должна отвечать pong.

Ticker

  • Используется для запуска бота в heroku. Раз в некоторое время бот дергает сам у себя ping через внешний хост, чтобы heroku думал, что сайтом кто-то пользуется.

About

Telegram bot for searching stickers

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages