【问题标题】:In discord.net, how do I make all messages automatically deleted every minute?在 discord.net 中,如何让所有消息每分钟自动删除?
【发布时间】:2019-03-05 11:02:45
【问题描述】:

所以我的不和谐服务器上有一个验证频道,如果你输入 //verify ,它会验证你,但我想让它每分钟自动删除该频道上的所有消息。我该怎么做?

【问题讨论】:

    标签: c# discord discord.net


    【解决方案1】:

    延迟一分钟

    如果你真的需要 1 分钟的延迟,你可以有一个消息 ID (ulongs) 的列表。在您的 MessageReceived 方法中,您可以执行 if(message.Channel.Id == YOURCHANNELID) YOURMESSAGELIST.Add(message.Id); 之类的操作。在您的客户端就绪事件中,您将启动一个延迟 1 分钟的异步计时器(来自 System.Threading)。所以总是在你的计时器上:

      var guild = MainClass.DiscordClient.GetGuild(YOURCHANNELID);
      var channel = guild.GetTextChannel(YOURCHANNELID);
      await channel.DeleteMessagesAsync(YOURMESSAGELIST);
      YOURMESSAGELIST.Clear();
    

    收到时删除消息

    更简单和可能更干净的方法是在您收到该频道的每条消息后立即删除它,这意味着您的 MessageReceived 方法中有一个类似于此的 if:if(message.Channel.Id == YOURCHANNELID) await message.DeleteAsync();

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-10
      • 1970-01-01
      • 2020-11-21
      • 2018-11-25
      • 2016-08-28
      • 1970-01-01
      相关资源
      最近更新 更多