Создание базовой структуры бота
Создания базовой структуры чат-бота на Python
1. Файл запуска bot.py
Главный файл запуска бота. Содержит импорт модулей бота, инстанцирование объектов, запуск бота:
```python
import logging
from aiogram import Bot, Dispatcher
from config import TOKEN
# инициализировать бота и диспетчер
bot = Bot(token=TOKEN)
dp = Dispatcher(bot)
# импортировать обработчики
import handlers
# запустить polling
if __name__ == '__main__':
logging.info('Bot started')
dp.start_polling()
```
2. Конфигурация config.py
Хранит константы и параметры подключения - токен бота, настройки базы данных и пр.:
```python
TOKEN = '1234567:AAHjhd83YY83...'
DB_HOST = 'localhost'
DB_NAME = 'database'
DB_USER = 'username'
DB_PASS = 'password'
```
3. Обработчики handlers.py
Файл с функциями-обработчиками разных типов обновлений:
```python
from aiogram import Dispatcher
dp = Dispatcher
@dp.message_handler()
async def echo(message: types.Message):
await message.answer(message.text)
@dp.callback_query_handler()
async def callback_handler(query: types.CallbackQuery)
# обработать callback запрос
```
4. Логирование logging.py
Настройка логирования событий бота - уровни логов, формат вывода, ротация:
```python
import logging
logging.basicConfig(
level=logging.INFO,
format='%(name)s - %(levelname)s - %(message)s',
handlers=[...]
)
```
5. База данных database.py
Модуль для работы с базой данных - подключение, выполнение запросов, миграции:
```python
import sqlite3
conn = sqlite3.connect(DB_NAME)
def insert(table, data):
...
def update(table, id, data):
...
```
Таким образом формируется базовая структура бота - главный файл запуска, конфиг, обработчики, логирование, работа с данными. Это стандартная архитектура, которую можно расширять дополнительными модулями.