使用python-telegram-bot删除组消息

时间:2017-08-06 12:33:36

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

我正在使用String[] extraValues = JsonPath.read(json, "$.student[0].department[0].classes[*].extra"); 创建一个电报机器人,并将其添加到一个组中。

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

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

2 个答案:

答案 0 :(得分:4)

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

示例

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

请记住,存在一些限制

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

答案 1 :(得分:1)

据我所知,你想检查邮件是否包含列表中的单词,如果是,你必须删除它。

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

Private Sub UserForm_Initialize()
Set ie = Me.WebBrowser1
ie.Navigate2 "about:blank"
Do Until ie.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop
Set ie = Nothing
End Sub
Private Sub Conectar_Click()
Dim ie As Object
Set ie = Me.WebBrowser1
ie.Navigate2 "http://www.mytest.com"
Do Until ie.ReadyState = READYSTATE_COMPLETE
  DoEvents
Loop
'different alternatives
'Dim inputfield As Object
'Set inputfield = ie.Document.getElementById("Login_tbLogin")
'inputfield.Value = "mylogin"
'Set inputfield = Nothing
'ie.Document.getElementById("Login_tbLogin").Value = "mylogin"
'ie.Document.All("Login_tbLogin").Focus
'ie.Document.All("Login_tbLogin").Value = "mylogin"
ie.Document.All.Item("Login_tbLogin").Value = "mylogin"
Set ie = Nothing
End Sub