From 046c47cd6850b43b57e6feb4b381ea059cf7b171 Mon Sep 17 00:00:00 2001 From: vasilytray Date: Mon, 10 Mar 2025 22:13:15 +0700 Subject: [PATCH] commands, deeplinks, link_preview --- README.md | 134 +++++++++++++++++++++++++++++++++++++++++++++++++++++- bot.py | 42 ++++++++++++++--- bot2.py | 60 ++++++++++++++++++++++++ 3 files changed, 229 insertions(+), 7 deletions(-) create mode 100644 bot2.py diff --git a/README.md b/README.md index b38f3e6..50bc744 100644 --- a/README.md +++ b/README.md @@ -250,4 +250,136 @@ async def extract_data(message: Message): f"E-mail: {html.quote(data['email'])}\n" f"Пароль: {html.quote(data['code'])}" ) -``` \ No newline at end of file +``` + +#### Команды и их аргументы + +В составе aiogram есть фильтр Command(), упрощающий жизнь разработчика. + +Реализуем последний пример в коде: + +```py +@dp.message(Command("settimer", prefix="/!")) # добавим дополнительные префиксы для оперделения команды +async def cmd_settimer( + message: Message, + command: CommandObject +): + # Если не переданы никакие аргументы, то + # command.args будет None + if command.args is None: + await message.answer( + "Ошибка: не переданы аргументы" + ) + return + # Пробуем разделить аргументы на две части по первому встречному пробелу + try: + delay_time, text_to_send = command.args.split(" ", maxsplit=1) + # Если получилось меньше двух частей, вылетит ValueError + except ValueError: + await message.answer( + "Ошибка: неправильный формат команды. Пример:\n" + "/settimer