add handlers with decorator and without
This commit is contained in:
parent
22600a4220
commit
13327a9feb
33
bot.py
33
bot.py
@ -3,6 +3,9 @@ import asyncio
|
|||||||
import logging
|
import logging
|
||||||
from aiogram import Bot, Dispatcher, types
|
from aiogram import Bot, Dispatcher, types
|
||||||
from aiogram.filters.command import Command
|
from aiogram.filters.command import Command
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
|
load_dotenv()
|
||||||
|
|
||||||
# Включаем логирование, чтобы не пропустить важные сообщения
|
# Включаем логирование, чтобы не пропустить важные сообщения
|
||||||
logging.basicConfig(level=logging.INFO)
|
logging.basicConfig(level=logging.INFO)
|
||||||
@ -14,10 +17,38 @@ dp = Dispatcher()
|
|||||||
# Хэндлер на команду /start
|
# Хэндлер на команду /start
|
||||||
@dp.message(Command("start"))
|
@dp.message(Command("start"))
|
||||||
async def cmd_start(message: types.Message):
|
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():
|
async def main():
|
||||||
|
# Регистрируем хэндлер cmd_test2 по команде /start
|
||||||
|
dp.message.register(cmd_test2, Command("test2"))
|
||||||
|
# Запускаем бота
|
||||||
await dp.start_polling(bot)
|
await dp.start_polling(bot)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
Loading…
x
Reference in New Issue
Block a user