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