add handlers with decorator and without

This commit is contained in:
vasilytray 2025-03-05 23:49:33 +07:00
parent 22600a4220
commit 13327a9feb

33
bot.py
View File

@ -3,6 +3,9 @@ import asyncio
import logging
from aiogram import Bot, Dispatcher, types
from aiogram.filters.command import Command
from dotenv import load_dotenv
load_dotenv()
# Включаем логирование, чтобы не пропустить важные сообщения
logging.basicConfig(level=logging.INFO)
@ -14,10 +17,38 @@ dp = Dispatcher()
# Хэндлер на команду /start
@dp.message(Command("start"))
async def cmd_start(message: types.Message):
await message.answer("Hello!")
await message.answer("Привет!")
# Хэндлер на команду /test1
@dp.message(Command("test1"))
async def cmd_test1(message: types.Message):
await message.reply("Test 1")
# Хэндлер на команду /test2
# Без декоратора, т.к. регистрируется ниже в функции main()
async def cmd_test2(message: types.Message):
await message.reply("Test 2")
@dp.message(Command("answer"))
async def cmd_answer(message: types.Message):
await message.answer("Это простой ответ")
@dp.message(Command("reply"))
async def cmd_reply(message: types.Message):
await message.reply('Это ответ с "ответом"')
@dp.message(Command("dice"))
async def cmd_dice(message: types.Message):
await message.answer_dice(emoji=DiceEmoji.DICE)
# Запуск процесса поллинга новых апдейтов
async def main():
# Регистрируем хэндлер cmd_test2 по команде /start
dp.message.register(cmd_test2, Command("test2"))
# Запускаем бота
await dp.start_polling(bot)
if __name__ == "__main__":