Java Telegram Bot 收不到普通群聊消息的问题

Telegram Bot 收不到普通群聊消息的问题

当我们写好一个 Telegram Bot 之后, 把它拉到一个群里, 然后在群里发一条命令, 机器人马上就收到了命令.但是我们在群里发送一个普通消息(不以 / 开头的消息), 我们发现机器人没有收到这条消息.以下是我的代码

public class DoipayHandlers extends TelegramLongPollingBot implements TelegramTemplate {
	 @Override
    public String getBotUsername() {
		return "userName";
      
    }

    @Override
    public String getBotToken() {
      return "token";
    }
    @Override
    public void onUpdateReceived(Update update) {
    	// update里封装的有我们群聊里的消息,默认只能收到以"/"开头的消息
        log.info("接收到的tg消息={}",JSONObject.toJSONString(update.getMessage().getText()));
    }
}

我们私聊机器人, 机器人是能收到消息的. 换一个群, 依然收不到普通群聊消息, 但是能收到群里发的命令(命令一定是以 / 开头的).

这个问题是由于 Telegram Bot 的 privacy 设置问题导致的. 详见https://core.telegram.org/bots#privacy-mode

更改 privacy mode 非常简单, 首先我们联系 BotFather https://telegram.me/BotFather
然后输入命令

/setprivacy

在这里插入图片描述
注意:选择自己的机器人, 一定是要自己创建的,否则会报 Invalid bot selected.
在这里插入图片描述

然后选择 Disable.就可以将自己的机器人的 privacy mode 设置为 DISABLED.但是我们发现我们的机器人依然收不到消息.我们将机器人踢出群, 再拉进群, 就可以收到消息了,我在群聊发了11,此时再看下日志打印的消息
在这里插入图片描述
明显能看到正常收到消息了

  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值