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

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

Можно например присылать с какого нибудь аккаунта другому аккунту сообщение что бы он писал боту а тот отвечал ему, и что бы ответ пришёл на любые аккаунты выбранные в апи или где нибудь ещё, просто надо смодулировать другого бота под другим ботом что ли ... что бы он ответ отправлял нужным аккаунтам, гуглил инфу но вроде такое анрил
  • Вопрос задан
  • 561 просмотр
Подписаться 4 Простой 10 комментариев
Помогут разобраться в теме Все курсы
  • GB (GeekBrains)
    Интернет-маркетолог
    12 месяцев
    Далее
  • Яндекс Практикум
    SMM-продвижение в Телеграме
    1 месяц
    Далее
  • Skillbox
    Профессия Интернет-маркетолог
    12 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
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()
Ответ написан
Комментировать
@csxor75 Автор вопроса
#include "Main.hpp"

#include <tgbot/tgbot.h>

std::vector<int64_t> m_vecChatID;

int main()
{
    TgBot::Bot bot( "8165580670" );

    bot.getEvents().onCommand( "start" , [&bot]( TgBot::Message::Ptr message )
    {
        for ( const auto& ChatID : m_vecChatID )
        {
            if ( ChatID == message->chat->id )
                return;
        }

        //printf( "Command /start add new chat id\n" );

        m_vecChatID.emplace_back( message->chat->id );
    } );

    bot.getEvents().onAnyMessage( [&bot]( TgBot::Message::Ptr message )
    {
        printf( "User wrote %s\n" , message->text.c_str() );

        if ( StringTools::startsWith( message->text , "/start" ) )
            return;

        for ( const auto& ChatID : m_vecChatID )
        {
            if ( ChatID == message->chat->id )
                return;
        }

        m_vecChatID.emplace_back( message->chat->id );

        for ( const auto& ChatID : m_vecChatID )
        {
            if ( !message->text.empty() )
            {
                printf( "SendMessage to: %llu , %s\n" , ChatID , message->text.c_str() );

                bot.getApi().sendMessage( ChatID , message->text );
            }
        }
    } );

    try
    {
        printf( "Bot username: %s\n" , bot.getApi().getMe()->username.c_str() );
        
        TgBot::TgLongPoll longPoll( bot );
        
        while ( true )
        {
            //printf( "Long poll started\n" );
            longPoll.start();
        }
    }
    catch ( TgBot::TgException& e )
    {
        printf( "error: %s\n" , e.what() );

        //MessageBoxA( 0 , e.what() , "Error" , MB_ICONERROR );
    }

    getchar();
    return 0;
}


Я делал так, суть в чём, боту пишут люди сообщение к примеру "@randombot 123" и сообщение должно было отправится боту через этого бота, но бот не может писать сообщение другому боту ... и вот схему придумать надо было мол может получится через клиенское апи писать с другого аккаунта боту а он будет пересылать выбраным юзерам сообщение от бота которое он ответил, вот
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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