【发布时间】:2021-11-23 23:54:11
【问题描述】:
我对制作不和谐机器人很陌生,并尝试制作一个过滤器,当我的机器人检测到消息中的某个单词时,它会删除它。它不会抛出任何错误,只是不会删除消息。我可能只是将代码放在错误的位置,但我不知道。如果有人可以帮助我,我将不胜感激。
private async Task BadWordsWarn(SocketMessage message)
{
string[] badWords = File.ReadAllLines(Environment.CurrentDirectory + "/wordstodelete.txt");
if (badWords.Any(message.Content.Contains))
await message.DeleteAsync();
}
【问题讨论】:
-
您是否在阅读后检查了
badWords的内容,以确保它符合您的预期? -
您好,感谢您的评论。是的,我做到了,但它没有删除任何令我惊讶的内容。
-
在您希望被过滤的邮件中,“坏词”的大小写是否与
wordstodelete.txt中定义的相同?string.Contains(string)执行区分大小写的char比较。在 .NET (Core) 2.1 及更高版本上,您可以调用采用StringComparison参数的重载;否则,请致电string.IndexOf(string, StringComparison)并针对!= -1进行测试。
标签: c# .net discord discord.net