/
github_better
/
GenAI
Обзор
Документация
Войти
/
github_better
/
GenAI
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Send_to_users.py
77 строк
3 KB
github_better
New
22 дек 2025, 08:52
22 дек 2025, 08:52
b68d8c4
Код
Авторство
О чём код?
import logging import Database.Database as Database from Bot import bot, to_thread from Lib.Debugger import debug_print logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) def take_text_from_txt_to_message(filename: str) -> str: debug_print(logger) """ :param filename: имя файла txt :return: содержимое файла txt """ try: with open(filename, "r", encoding="utf-8") as f: return f.read().strip() except FileNotFoundError: return "" except Exception as e: debug_print(logger, "error") return "" async def send_message_to_user(user_id: int, message: str): debug_print(logger) """ Отправка сообщения конкретному юзеру :param user_id: айди юзера (телеграмм) :param message: сообщение, которое я буду ему отсылать """ try: await bot.send_message(user_id, message) except Exception as e: debug_print(logger, "error") async def send_message_to_me(message: str): """ Отправляет мне сообщение (отзыв или обратную связь) :param message: сообщение которое отправляется мне """ debug_print(logger) # Замените на ваш реальный Telegram ID MY_TELEGRAM_ID = 1842713654 # Ваш ID администратора try: await bot.send_message(MY_TELEGRAM_ID, message) except Exception as e: debug_print(logger, "error") raise # Пробрасываем ошибку для обработки в вызывающем коде async def send_copy_message_to_all_users(from_chat_id: int, message_id: int): """ Копирует (copy_message) переданное сообщение всем пользователям. :param from_chat_id: чат, из которого копируем сообщение (обычно чат администратора) :param message_id: идентификатор сообщения, которое нужно разослать """ debug_print(logger) user_ids = await to_thread(Database.get_all_users) for uid in user_ids: try: await bot.copy_message( chat_id=uid, from_chat_id=from_chat_id, message_id=message_id ) except Exception: # не валим рассылку из-за одного неудачного пользователя debug_print(logger, f"error while sending copy to {uid}")