Для реализации такой функциональности вам понадобится использовать модуль Python для работы с Telegram API — python-telegram-bot. Начнем по порядку.
1. Создайте нового бота в Telegram и получите его токен через BotFather. Подключитесь к Telegram API, используя этот токен.
2. Установите python-telegram-bot с помощью pip:
pip install python-telegram-bot
3. Импортируйте необходимые классы и методы из python-telegram-bot:
from telegram import Update from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
4. Определите функции-обработчики сообщений. Добавьте функцию, которая будет обрабатывать новое сообщение от определенного пользователя и пересылать его всем пользователям:
def start(update: Update, context: CallbackContext): context.bot.send_message(chat_id=update.effective_chat.id, text="Привет, это бот!") def echo(update: Update, context: CallbackContext): user_id = update.effective_chat.id # Получить текст сообщения от определенного пользователя if user_id == "здесь указываете id пользователя": message_text = update.message.text # Переслать сообщение всем пользователям subscribers = "список id всех подписчиков" for subscriber_id in subscribers: context.bot.send_message(chat_id=subscriber_id, text=message_text) def main(): # Создать экземпляр бота updater = Updater(token="ваш токен", use_context=True) dispatcher = updater.dispatcher # Добавить обработчик команды /start start_handler = CommandHandler('start', start) dispatcher.add_handler(start_handler) # Добавить обработчик обычных сообщений echo_handler = MessageHandler(Filters.text & (~Filters.command), echo) dispatcher.add_handler(echo_handler) # Запустить бота updater.start_polling() updater.idle() if __name__ == '__main__': main()
5. Замените "ваш токен" на токен вашего бота в Telegram, а "здесь указываете id пользователя" и "список id всех подписчиков" на соответствующие значения. Обратите внимание, что id пользователя можно получить в функции echo
с помощью update.effective_chat.id
.
6. Запустите скрипт, который будет контролировать работу бота и обрабатывать входящие сообщения.
После запуска бот будет отвечать на команду /start и пересылать все текстовые сообщения от определенного пользователя всем подписчикам.
Обратите внимание, что это только основная структура бота, и вам может понадобиться добавить дополнительную обработку, валидацию пользовательского ввода и т.д., в зависимости от ваших потребностей и требований.