Discord.Net C#Discord.Messages[]到字符串
我正在尝试为我的discord服务器制作一个垃圾邮件过滤器,将其构建到我已有的机器人中。完成后,此筛选器将删除任何两条相同的连续邮件,以防止复制和粘贴垃圾邮件。到目前为止,我已经实现了大部分功能,但我不知道如何将Discord.Net C#Discord.Messages[]到字符串,c#,bots,spam-prevention,discord,discord.net,C#,Bots,Spam Prevention,Discord,Discord.net,我正在尝试为我的discord服务器制作一个垃圾邮件过滤器,将其构建到我已有的机器人中。完成后,此筛选器将删除任何两条相同的连续邮件,以防止复制和粘贴垃圾邮件。到目前为止,我已经实现了大部分功能,但我不知道如何将Discord.Messages[]转换为字符串,以便正确比较当前和过去的消息。到目前为止,我所拥有的是这样的 // Spam Filter discord.MessageReceived += async (s, e) => {
Discord.Messages[]
转换为字符串,以便正确比较当前和过去的消息。到目前为止,我所拥有的是这样的
// Spam Filter
discord.MessageReceived += async (s, e) =>
{
var channel = e.Server.FindChannels("general", ChannelType.Text).FirstOrDefault();
var user = discord.CurrentUser;
spamold = spamnew;
Message[] messagesToObtain;
messagesToObtain = await e.Channel.DownloadMessages(1);
spamnew = string.Format(messagesToObtain);
if(spamnew == spamold)
{
Message[] messagesToDelete;
messagesToDelete = await e.Channel.DownloadMessages(2);
await e.Channel.DeleteMessages(messagesToDelete);
};
};
我能够为程序运行做足够的修改,但是当它这样做时,它不会正确地比较字符串,因此它会为每发送1条消息持续删除2条消息。
[在下面插入不必要的信息]
我不是C#的高手,也不是任何C语言的高手,但我了解一些基本知识,比如变量类型和语法结构。这是一个奇迹,我成功地使我的机器人走到了这一步,而不需要在任何论坛上寻求帮助(我做过一次,但没有人回答)。我会非常高兴这个东西能正常工作。
string.Format(messagesToObtain)
会一直把它变成类似于Discord.Net.Message[]
的东西,因为它就像在数组上调用.ToString()
。因此,它将删除每条消息,因为每次字符串都是相同的。访问单个邮件messagesToObtain[0]
,并检查是否有任何属性可以保存邮件内容(例如.Text
)。这些属性似乎已起作用-谢谢string.Format(messagesToObtain)
会一直将其转换为类似于Discord.Net.Message[]
的内容,因为这就像在数组上调用.ToString()
。因此,它将删除每条消息,因为每次字符串都是相同的。访问单个邮件messagesToObtain[0]
,并检查是否有任何属性可以保存邮件内容(例如.Text
)。这些属性似乎已起作用-谢谢!