【问题标题】:Remove group messages with python-telegram-bot [closed]使用 python-telegram-bot 删除群组消息 [关闭]
【发布时间】:2017-08-06 12:33:36
【问题描述】:

我正在使用python-telegram-bot 制作一个电报机器人并将其添加到一个组中。

我想指定一个列表,如果列表中的句子被发送到群组,电报的机器人会从群组中删除该消息。 我应该使用哪些模块和代码来执行此操作?

请给我一个完整的描述。我是新人

【问题讨论】:

  • 你能展示你到目前为止所做的事情吗?在你表现出自己付出了多少努力之后,这里的人通常更乐意提供帮助;就目前而言,这个问题被视为“为我编写代码”的需求。

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


【解决方案1】:

bot 对象中有一个delete_message 方法,如python-telegram-bot documentation 中所述。

示例

bot.delete_message(chat_id=message.chat_id,
               message_id=message.message_id,
               *args,
               **kwargs)

记住有一些限制

  • 只有在 48 小时内发送的邮件才能被删除。
  • 机器人可以删除群组和超级群组中的外发消息。
  • 如果机器人是组的管理员,它可以删除那里的任何消息。
  • 如果机器人在超级组或频道中拥有 can_delete_messages 权限,它可以删除那里的任何消息。

【讨论】:

【解决方案2】:

据我所知,您想检查消息是否包含列表中的单词,如果是,则必须将其删除。

使用您正在使用的库,您可以使用正则表达式为 True 时运行的正则表达式注册处理程序(检查消息文本)。 https://python-telegram-bot.readthedocs.io/en/stable/telegram.ext.regexhandler.html 在回调函数中检查聊天是否为组,如果是,则可以将其删除

bot.deleteMessage(chat_id=update.message.chat.id, message_id=update.message.message_id)

【讨论】:

    猜你喜欢
    • 2021-09-22
    • 2018-11-27
    • 2021-08-08
    • 2016-04-06
    • 2016-05-18
    • 2017-11-28
    • 2017-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多