我的 Telegram Bot 无法读取另一个 Telegram Bot 发送的消息

Posted

技术标签:

【中文标题】我的 Telegram Bot 无法读取另一个 Telegram Bot 发送的消息【英文标题】:My Telegram Bot can't read message sended by another Telegram Bot 【发布时间】:2019-03-09 19:08:08 【问题描述】:

我有两个 Telegram 机器人,用 Java 编写。 第一个机器人每 10 分钟发送一次消息。 (有效)。 第二个机器人必须读取此发送的消息,并将其存储到 txt 文件... 但问题是第二个机器人没有看到这条消息...... 他只看到来自用户的消息。 M - 机器人 YR - 用户Chat imageConsole result


Here 说如果

BotFather=>Bot=>Settings=>Group Privacy => 禁用隐私模式和>BotFather=>Bot=>Settings=>允许组? => 群组目前已启用

机器人必须看到从一个发送到另一个的消息。 我做到了,机器人也被邀请到具有管理员权限的新组。这里的代码示例(第二个机器人):

public class TelegramBot extends TelegramLongPollingBot 

public final String BOT_TOKEN = "****************************";
public final String BOT_NAME = "*****************";

@Override
public void onUpdateReceived(Update update) 
    long inChatID = 0;
    int inMessID = 0;
    String inText = "";
    try   // from chanel
        inChatID = update.getChannelPost().getChatId();
        inText = update.getChannelPost().getText();
        inMessID = update.getChannelPost().getMessageId();
     catch (Throwable t1) ;
    try   // from chat
        inChatID = update.getMessage().getChatId();
        inText = update.getMessage().getText();
        inMessID = update.getMessage().getMessageId();
     catch (Throwable t2) ;

    System.out.println(inChatID);
    System.out.println(inMessID);
    System.out.println(inText);


@Override
public String getBotUsername() 
    return BOT_NAME;


@Override
public String getBotToken() 
    return BOT_TOKEN;


如果我发送任何类似用户的消息,我会进入控制台 ChatID、MessID、Text... 但如果第一个机器人发送一些消息,我什么都没有。帮我解决这个问题。 对我的错误有什么建议吗?

【问题讨论】:

Telegram Bot send Message to bot的可能重复 是的,但我的问题是我的机器人需要读取另一个机器人发送的消息。我不需要从一个机器人向另一个机器人发送消息。 这是被禁用的确切功能,机器人无法在给定频道内看到彼此的消息,因为这可能会导致“机器人风暴”,机器人在没有任何人的情况下进入相互回复的无限循环互动。 【参考方案1】:

我通过将这两个机器人添加到具有管理员权限的频道来解决了这个问题。 它不适用于群聊。 现在我可以看到从其他机器人发送的消息。 但是还有另一个问题:频道中任何机器人发送的所有消息都会抛出频道消息,没有机器人 ID、机器人名称等...... 所以,我只能读取消息文本并对其进行解析。

【讨论】:

以上是关于我的 Telegram Bot 无法读取另一个 Telegram Bot 发送的消息的主要内容,如果未能解决你的问题,请参考以下文章

Telegram bot 消息读取回调

Telegram bot php - 广播位置 - 如何读取更改?

如何使用 Telegram Bot API 发送表情符号?

node-telegram-bot-api 中的错误未找到模块:无法解析 node-telegram-bot-api 中的“fs”、“net”、“tls”

Telegram bot api:GIF 上传/下载大小的问题

如何使用 Telegram Bot API 获取 Telegram 频道用户列表