Modularbot
ро
module development guide
а у ас едо а ас, а а ерс a og a , а о у аде ца,
как писать блоки, что надо добавить обязательно в бот, при выгрузке или
загрузке, что надо и куда чтобы модуль корректно выключался, максимально
подробно и понятно, все что нужно и надо и что можно
result = await some_operation()
await [Link](f"Результат: {result}")
Создам подробную
except документацию
Exception as e: для написания модулей для ModularBot:
await [Link](f" ❌ Ошибка: {str(e)}")
Документация ModularBot -ошибки
# Логирование Создание модулей
# Документа
ModularBo ция
Создание t -
модулей
Document print(f"Ошибка в модуле {[Link]}: {e}") ## Оглавл
1. [Введе ение
(#введени ние]
2. [Базов е)
структура ая
модуля]
Я создал подробную документацию для написания модулей для ModularBot.
4. Очищайте ресурсы в on_unload
Документация включает в себя:
python
Основные разделы:
async def on_unload(self):
1. Базовая структура - как должен выглядеть файл модуля
"""КРИТИЧЕСКИ ВАЖНО для корректной выгрузки"""
2. Наследование BotModule - правильное использование базового класса
# Отменяем все задачи
3. Методы жизненного цикла - on_load() и on_unload() с примерами
for task_name in ['background_task', 'scheduler_task', 'worker_task']:
4. Настройка обработчиков
if hasattr(self, - регистрация команд, callback'ов и текстовых
task_name):
сообщений task = getattr(self, task_name)
if task and not [Link]():
5. Работа с aiogram 3.x - доступные импорты и функции
[Link]()
6. Проверка владельца
try: - как правильно определить owner'a
await task
7. Управление состоянием - проверка enabled статуса и FSM
except [Link]:
8. Практические примеры
pass - три полных модуля разной сложности
9. Лучшие практики - критически важные рекомендации
# Закрываем соединения
10. Отладка и логирование - как правильно логировать события
if hasattr(self, 'db') and [Link]:
await [Link]()
Ключевые моменты:
проверка [Link] в каждом обработчике
# Очищаем данные
Обязательная
if hasattr(self, 'cache'):
Критическая важность on_unload() для корректной выгрузки
[Link]()
Правильная работа с асинхронными задачами и их отмена
Безопасная работа
5. Используйте с ресурсами (БД
информативные , соединения)
описания
Уникальные префиксы для callback_data
python
Документация содержит готовые к использованию примеры модулей от
def get_info(self) -> Dict[str, str]:
Reply to Claude...
простого до сложного с базой данных и фоновыми задачами.
return {
"name": [Link],
Sonnet 4 Retry
"version": "1.2.0",
"description": "Подробное описание функциональности модуля"