【问题标题】:How to read messages from Telegram group with bot?如何使用机器人从 Telegram 组中读取消息?
【发布时间】:2018-02-03 23:26:13
【问题描述】:

我想连接一个简单的电报机器人来读取来自群组的消息(我不是管理员)。我已经将该机器人添加到组中,但它不起作用。

这是我在 Python 中的代码:

import telepot
from pprint import pprint
import time
from telepot.loop import MessageLoop

key = "MY API"

bot = telepot.Bot(key)

def handle(msg):
   pprint(msg)

bot.message_loop(handle)

while 1:
   time.sleep(10)

如果我打开(机器人的)聊天并写一条消息,一切正常。但是当有人在一个组中发送消息(我在其中添加了机器人)时,即使该机器人在该组中,也不会发生任何事情。我做错了什么?我错过了什么吗?

非常感谢您的帮助!

【问题讨论】:

    标签: telegram telegram-bot python-telegram-bot


    【解决方案1】:

    需要将/setprivacy改为Disable,否则只能接收命令(/开头)。

    您可以参考here了解更多详情。

    【讨论】:

    • 感谢您的回答。我已经这样做了,但它不起作用。
    • 您是否将您的机器人重新添加到组中?
    • 是的,是的,但不知何故它不能正常工作。如果我将它添加到一个新组(由我创建),我可以阅读所有内容,但如果我将它添加到另一个组(我不是管理员),我无法阅读消息,只能阅读“用户 x 加入”之类的信息群组”。你觉得和那个组的权限有关吗?
    • 为我工作,谢谢!注意:您也可以通过botfather设置此选项。此外,如果您尝试删除群组消息,请让机器人管理员拥有删除消息的权限。
    【解决方案2】:

    您的电报机器人应该是群组的管理员才能阅读群组的消息。

    【讨论】:

      【解决方案3】:

      这是Telepot 框架中的一个示例。您可以在自己喜欢的框架中执行类似的操作。

      def handle(msg):
          if msg['chat']['id'] == -1001136714808:
              print(msg['text'])
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-03-09
        • 2019-05-26
        • 2019-01-31
        • 2021-01-02
        • 2018-05-17
        • 1970-01-01
        • 1970-01-01
        • 2022-11-03
        相关资源
        最近更新 更多