# utils/message_sender.py from utils.logger import logger from telegram import Update, Bot from telegram.ext import CallbackContext from telegram.error import TelegramError from telegram.constants import ParseMode async def send_message( update: Update, context: CallbackContext, text: str, parse_mode: str = ParseMode.HTML, reply_markup=None, disable_web_page_preview: bool = False, chat_id: int = None, ): try: if chat_id: # Отправка по указанному chat_id await context.bot.send_message( chat_id=chat_id, text=text, parse_mode=parse_mode, reply_markup=reply_markup, disable_web_page_preview=disable_web_page_preview ) elif update.message: # Отправка в ответ на сообщение await update.message.reply_text( text=text, parse_mode=parse_mode, reply_markup=reply_markup, disable_web_page_preview=disable_web_page_preview ) elif update.callback_query: # Отправка в ответ на callback-запрос await update.callback_query.message.reply_text( text=text, parse_mode=parse_mode, reply_markup=reply_markup, disable_web_page_preview=disable_web_page_preview ) else: raise ValueError("Некорректный тип обновления") except TelegramError as e: logger.error(f"Ошибка при отправке сообщения: {e}") return False return True # Вспомогательная функция для получения всех ID (пример) def get_all_user_ids(): # Здесь логика получения всех ID из базы данных return [12345, 67890] # Пример списка ID