删除电报机器人中的消息有时不起作用

时间:2017-07-10 06:58:29

标签: c# nuget telegram-bot

我写过一个电报机器人,删除在特定时间之间发送给超级组的消息。我正在使用 Telegram.Bot 版本12.0.0-beta-04。

    private async void Bot_OnMessage(object sender, MessageEventArgs e)
    {
       if(DateTime.Now.Hour<=6 and DateTime.Now.Minute<=30)
       {
           _bot.DeleteMessageAsync(e.Message.Chat.Id, e.Message.MessageId);
       }
    }

问题在于,例如,如果在凌晨2点,我发送一条消息,它没有做任何事情,但如果我发送两条或更多条消息几乎没有延迟,它会工作并删除所有消息。任何想法为什么会这样?

修改 我的错。例如,如果小时为3而分钟为45,则无效。我修复了代码并且它工作正常。

   if ((DateTime.Now.Hour < 6) ||
    (DateTime.Now.Hour == 6 && DateTime.Now.Minute <= 30))
   {
      _bot.DeleteMessageAsync(e.Message.Chat.Id, e.Message.MessageId);
   }

1 个答案:

答案 0 :(得分:1)

有一个更好的解决方案来防止群组中的新消息。更改您的机器人并尝试通过“restrictChatMember”限制用户的权限,然后通过“promoteChatMember”返回其权限。