🟡 Telegram боти. Приклад використання додаткових параметрів у обробнику
Команди телеграм бота можуть мати аргументи.
Уявімо ситуацію коли ми хочемо реалізувати команду яка рахує суму чисел:
/sum 1 2 3.5
У відповідь будемо очікувати:
Сума: 6.5
До обробника додамо параметр command: CommandObject 🔗 , який полегшує розбір аргументів команди.
Атрибут command.args це рядок з аргументами, якщо вони є, а якщо немає він дорівнює None.
from aiogram.filters import CommandObject
@router.message(Command("sum"))
async def sum_handler(message: Message, command: CommandObject):
success = False
if args := command.args and command.args.split():
try:
result = sum(map(float, args))
success = True
await message.answer(f"Сума: {result}")
except ValueError:
pass
if not success:
await message.answer(
"Щось пішло не так, можливо передані неправильні аргументи /sum"
)
#tg_bots
👍1
217 ·