Создание базовой структуры бота 

 Создания базовой структуры чат-бота на 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):

   ...  

```


Таким образом формируется базовая структура бота - главный файл запуска, конфиг, обработчики, логирование, работа с данными. Это стандартная архитектура, которую можно расширять дополнительными модулями.