@iddimon3

Как сделать один скрипт на более двух ботов телеграм?

задача сделать один скрипт на большое количество ботов. Т.е скрип будет один, но прослушивать он должен всех ботов и отвечать куда нужно.

Возможно ли такое реализовать и есть ли в телеграм готовые решения для таких задач?
  • Вопрос задан
  • 100 просмотров
Пригласить эксперта
Ответы на вопрос 2
Доброе утро! Можно примерно вот так

import logging
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters

# настройка журналирования
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
                    level=logging.INFO)

# словарь с токенами и обработчиками для каждого бота
bots = {
    'bot1': {
        'token': 'BOT1_TOKEN',
        'handlers': []
    },
    'bot2': {
        'token': 'BOT2_TOKEN',
        'handlers': []
    }
}

# функция, которая будет вызываться при получении сообщения
def handle_message(update, context):
    # обработка сообщения
    pass

# добавление обработчиков для каждого бота
for bot_name, bot_config in bots.items():
    # создание объекта бота
    bot = Updater(bot_config['token'], use_context=True)

    # добавление обработчика для команды /start
    start_handler = CommandHandler('start', start)
    bot.dispatcher.add_handler(start_handler)

    # добавление обработчика для получения сообщений
    message_handler = MessageHandler(Filters.text & (~Filters.command), handle_message)
    bot.dispatcher.add_handler(message_handler)

    # сохранение объекта бота и его обработчиков
    bot_config['bot'] = bot
    bot_config['handlers'] = [start_handler, message_handler]

# запуск всех ботов
for bot_name, bot_config in bots.items():
    bot = bot_config['bot']
    bot.start_polling()

# бесконечный цикл для работы ботов
while True:
    pass
Ответ написан
Комментировать
RimMirK
@RimMirK
Вроде человек. Вроде учусь. Вроде пайтону
самое простое что вижу - засунуть ботов в функции, и запустить их одновременно через thread
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы