【发布时间】:2019-03-05 11:02:45
【问题描述】:
所以我的不和谐服务器上有一个验证频道,如果你输入 //verify ,它会验证你,但我想让它每分钟自动删除该频道上的所有消息。我该怎么做?
【问题讨论】:
标签: c# discord discord.net
所以我的不和谐服务器上有一个验证频道,如果你输入 //verify ,它会验证你,但我想让它每分钟自动删除该频道上的所有消息。我该怎么做?
【问题讨论】:
标签: c# discord discord.net
如果你真的需要 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();
希望对你有帮助。
【讨论】: