Skip to content

πŸ€–πŸ’¬ A simple template for creating a telegram bot on webhooks using the aiogram and fastapi

License

Notifications You must be signed in to change notification settings

BushlanovDev/aiogram-fastapi-bot-template

Repository files navigation

πŸ€– Aiogram Fastapi Bot Template

Actions status Python Aiogram MIT license

A simple template for creating a telegram bot on webhooks using the aiogram and fastapi

πŸ’» Installation

  1. Clone project git clone https://github.com/BushlanovDev/aiogram-fastapi-bot-template.git
  2. Create a virtual venv python -m venv venv and source venv/bin/activate
  3. Install dependencies pip install -r requirements.txt
  4. Copy config template cp .env.example .env

✍️ Configuration

Edit the .env file
APP__DEBUG true or false, development mode
APP__PORT Port of application for fastapi (8080)
APP__URL The base domain of the application (https://example.com)
APP__WEBHOOK_PATH The route to which hooks from telegram will come (/webhook/tg)
APP__DEFAULT_LANGUAGE Default response language if the user's language is not received in the hook (en)
TG_BOT__TOKEN Telegram bot secret token

πŸš€ Run bot

For local launch you will most likely need the application ngrok or similar. APP__URL needs to be copied from ngrok window to config.
Run bot python main.py or docker compose up -d

πŸ“ Bot structure

Folder Description
callbacks Callback data
configs Configuration files
handlers Handlers, commands, callbacks
i18n Localization
keyboards Keyboards reply, inline
middlewares Middlewares for localization, throttling
services Custom libraries
states State objects

πŸ“„ License

This repository's source code is available under the MIT License.

About

πŸ€–πŸ’¬ A simple template for creating a telegram bot on webhooks using the aiogram and fastapi

Topics

Resources

License

Stars

Watchers

Forks