Бот для текстового поиска стикеров
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
- Используется https://github.com/go-telegram-bot-api/telegram-bot-api.
- Реализована Long-polling схема.
- Поиск стикеров работает через inline сообщения. Не забудьте подключить inline через Bot Father.
- Используется struct логирование через http://go.uber.org/zap.
- PostgreSQL.
- SQL для наливки базы в
postgresql/initial.sql
, в нем уже есть несколько стикеров для примера. - Можно запустить как Docker контейнер. Образ лежит в
postgresql/docker-compose.yml
.
- Используется api https://api.ocr.space/.
- Для использования нужно получить бесплатный токен.
- Все настраивается в
config_dev.yaml
. - Почти все настройки можно переопределять через соответствующие переменные окружения. Соответствие настроек и переменных можно посмотреть в коде.
- Запускается при старте бота.
- Умеет отвечать на две ручки:
/
- некоторая статистика из базы;/ping
- должна отвечатьpong
.
- Используется для запуска бота в heroku. Раз в некоторое время бот дергает сам у себя ping через внешний хост, чтобы heroku думал, что сайтом кто-то пользуется.