Телеграм бот, собирает статистики чата для развлечения, присваивает ачивки участникам.
Хочешь принять участие в разработке? Узнай как.
- Зарегистрируй себе тестового бота. Напиши BotFather
/start
, затем/newbot
и следуй инструкциям. - BotFather даст тебе токен похожий на этот
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
. - Добавь этот токен в переменную
TELEGRAM_BOT_TOKEN
в файле.env
.
echo "TELEGRAM_BOT_TOKEN=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" > .env
- Запуск бота.
make up
- При первом запуске бота необходимо установить зависимости и запустить миграции.
make setup
- Можешь писать своему боту в личку или создать себе тестовую группу и добавить его туда.
- Чтобы бот правильно работал когда добавлен в группу, ему нужно выключить Privacy mode это можно сделать в настройках бота у BotFather
@tvoy_bot > Bot settings > Group privacy > Turn off
. В списке юзеров группы, рядом с юзернэймом бота появитсяhas access to messages
Чтобы телеграм логин виджет на главной странице заработал, требуется привязать домен к своему тестовому боту.
- Добавить имя бота в файл
.env
под ключBOT_NAME
, так приложение будет знать какой бот будет логинить юзеров.echo "BOT_NAME=haketestkirill_bot" >> .env
- Определить домен: выполни
make show_local_development_url # команда вернет url вроде этого # https://haketestkirillbot.loca.lt
- Привязать домен к боту: напиши BotFather команду
/setdomain
и следуя инструкциям передай ему свой url.
Если все сделано верно и домен уникальный, после запуска (make dev
), приложение будет доступно в браузере по твоему домену и логин виджет будет работать.
make setup_test
make test
Инструкция для мэйнтейнеров
- Записать свой пароль от DockerHub в файл
docker_password.txt
в корень проекта - Выполнить
make docker-login
- Выполнить
make docker-release-latest
(остальные задачи релиза см. Makefile)
Бот хранит все сообщения, к которым имеет доступ (Телеграм юзернэйм, имя, фамилия указанные в телеграме, текст и время сообщения, в том числе). Бот реализован в развлекательных и образовательных целях, хранимые данные используются только для составления статистики, тем не менее авторы отказываются от ответственности за сохранность данных. Используйте на свой страх и риск.