Задать вопрос

Ретранслятор сообщений от бота телеграмма?

Можно например присылать с какого нибудь аккаунта другому аккунту сообщение что бы он писал боту а тот отвечал ему, и что бы ответ пришёл на любые аккаунты выбранные в апи или где нибудь ещё, просто надо смодулировать другого бота под другим ботом что ли ... что бы он ответ отправлял нужным аккаунтам, гуглил инфу но вроде такое анрил
  • Вопрос задан
  • 280 просмотров
Подписаться 3 Простой 9 комментариев
Пригласить эксперта
Ответы на вопрос 2
Fragster
@Fragster
помогло? отметь решением!
Нужно сделать не бота, использующего telegram bot api, а бота, использующего апи клиента (он может писать первым). Когда-то я делал такое с использованием https://github.com/enricostara/telegram.link но это было прям давно. может быть сейчас эта библиотека не подойдет.

Но проще, конечно, как-то договориться и всем получателям просто запускать бота, чтобы он мог им писать. А самому боту приделать апи, чтобы он мог получать команды извне, если надо.
Ответ написан
Комментировать
titov_andrei
@titov_andrei
All my life I learn - and die a fool!
from telegram import Bot, Update
from telegram.ext import Updater, MessageHandler, Filters, CallbackContext

# Токены двух ботов
TOKEN_A = "ВАШ_ТОКЕН_БОТА_A"
TOKEN_B = "ВАШ_ТОКЕН_БОТА_B"

# ID юзера, которому пересылать (для теста можно указать свой)
TARGET_CHAT_ID = 123456789

bot_b = Bot(TOKEN_B)

def forward_to_bot_b(update: Update, context: CallbackContext):
    # Берём текст сообщения от пользователя
    text = update.message.text

    # Отправляем текст на Бота Б
    bot_b.send_message(chat_id=TARGET_CHAT_ID, text=text)

    # Можно сразу вернуть ответ обратно пользователю через Бота А
    update.message.reply_text(f"Сообщение переслано на Бота Б: {text}")

def main():
    updater = Updater(TOKEN_A)
    dp = updater.dispatcher

    dp.add_handler(MessageHandler(Filters.text & ~Filters.command, forward_to_bot_b))

    updater.start_polling()
    updater.idle()

if __name__ == "__main__":
    main()
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы