From e3e22a9c36266346894f44a889c60d2e2315cadb Mon Sep 17 00:00:00 2001 From: Whyverum Date: Wed, 18 Dec 2024 07:15:51 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9E=D1=82=D0=BF=D1=80=D0=B0=D0=B2=D0=BA?= =?UTF-8?q?=D0=B0=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D1=8E=20(=D0=B2=20=D1=80=D0=B0=D0=B7=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D0=BA=D0=B5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Test/commands/send_to_user.py | 65 +++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 Test/commands/send_to_user.py diff --git a/Test/commands/send_to_user.py b/Test/commands/send_to_user.py new file mode 100644 index 0000000..cade07b --- /dev/null +++ b/Test/commands/send_to_user.py @@ -0,0 +1,65 @@ +# BotCode/routers/commands/admin_cmd/send_to_user.py +# Работа с админ-командой /send, для отправки конкретного сообщения пользователю (в разработке) + +from aiogram import Router, types, F +from aiogram.filters import Command +from BotLibrary import * + +# Создание роутера и настройка экспорта +__all__ = ("router", "send_message",) +router = Router(name="send_router") +command_text = "Send" + + +# Обработчик команды /send для отправки сообщения определенному пользователю (в разработке) +@router.message(F.from_user.id.in_(ListId.important_ids), + Command("send", "отправить", "отправ", "s", "ыутв", "jnghfdbnm", "jnghfd", + prefix=BotEdit.prefixs, ignore_case=True)) +async def send_message(message: types.Message): + try: + if message.chat.id in ListId.adm_list_id: + text = f"использовал(а) команду /{command_text.lower()}" + + # Разбиваем сообщение на аргументы + args = message.text.split() + + # Проверка на правильность команды /send + if len(args) < 3: + texts = "Некорректный формат команды. Используйте: /send <текст>" + await message.reply(texts) + return texts + + # Получаем user_id и текст сообщения + user_id = int(args[1]) + text_send = ' '.join(args[2:]) + + # Отправляем сообщение пользователю + await bot.send_message(chat_id=user_id, text=text_send) + + # Логирование + user_id = find_people_id(user_id) + await cmd_logginger(message, command_text, text) + + # Логирование и отчет об отправке + await message.reply(f"Сообщение успешно отправлено пользователю с ID {user_id}") + return text + + # Проверка на ошибку и ее логирование + except Exception as e: + text_error = await error_cmd_logginger(message, command_text, e) + return text_error + + # Проверка заблокирован ли бот для пользователя + # except exceptions.BotBlocked: + # await message.answer("Пользователь заблокировал бота") + # except aiogram.utils.exceptions.ChatNotFound: + # await message.answer("Чат с пользователем не найден") + # except exceptions.RetryAfter as e: + # await asyncio.sleep(e.timeout) + # return await send_message(message) + # except exceptions.UserDeactivated: + # await message.answer("Пользователь деактивирован") + # except exceptions.TelegramAPIError: + # await message.answer("Произошла ошибка при отправке сообщения") + # except: + # return