Files
PrimoPearlBot/Test/commands/send_to_user.py

66 lines
3.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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),
Command("send", "отправить", "отправ", "s", "ыутв", "jnghfdbnm", "jnghfd",
prefix=BotEdit.prefixs, ignore_case=True))
async def send_message(message: types_msg.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 <user_id> <текст>"
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_imp_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