Telegram bot for informing the audience and feedback. You can fully control the bot from the admin menu: change the displayed menus and messages, collect feedback and send out announcements on a schedule.
The bot was created completely asynchronous using aiogram 3.0+, aiogram-dialogs 2.0+, aiomisc and sqalchemy libraries.
Initially, this project was developed to help the organization of Inclusive Dance.
Environment variables are used to configure the bot for connecting to Telegram, Postgres and Redis.
APP_TELEGRAM_BOT_TOKEN # your bot token
APP_TELEGRAM_BOT_ADMIN_IDS # Superadmin IDs, who can appoint other admins
APP_DEBUG # Flag for debugging (using in sqlalchemy engine for echo)
APP_PG_DSN # DSN of your postgresql database
APP_REDIS_DSN # DSN of your redis storage
You can get image from public Docker Hub from here.
docker pull andytakker/inclusive_dance_bot
Before you need to create env and install dependencies
python3.11 -m venv .venv
source .venv/bin/activate
pip install -U pip poetry
poetry install
For start the bot local you can use poetry
poetry run bot
For the main functions of the bot, tests are written using pytest. For running
pytest -vx ./tests/