因此,我的discord服务器上有一个验证通道,如果您键入// verify,它将验证您,但是我要这样做,以便所有消息每分钟自动在该通道上删除。我该怎么办?
答案 0 :(得分:1)
好吧,如果您确实需要1分钟的延迟,则可以获取消息ID(ulongs)列表。在您的MessageReceived方法上,您可以执行类似if(message.Channel.Id == YOURCHANNELID) YOURMESSAGELIST.Add(message.Id);
的操作。在您的客户端就绪事件上,您将启动一个异步计时器(来自System.Threading),延迟1分钟。因此,请务必在您的计时器上打勾:
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();
希望对您有所帮助。