Discord.NET 1.0发送消息事件?
问题描述:
我试图做一个插件在Discord.NET 1.0哪些审查某些词,并在网上寻找一个事件,当有人发送短信,但无法罚款任何地方时会触发的事件。我知道如何在0.9.6中做到这一点,但在1.0中有没有办法?Discord.NET 1.0发送消息事件?
任何帮助将不胜感激!
答
DiscordSocketClient
有一个MessageReceived
事件。
答
所以,首先你会做的话,数组要审查:
String[] badWords = {"word1","word2", "word3"};
那么你将要检查如果用户发送的消息中包含这些信息,然后存储到字典。
for (int i = 0; i < badWords.Length; i++)
{
if (msg.Content.Contains(badWords[i]))
{
Console.WriteLine("true");
if (wordOffences.ContainsKey(msg.Author.ToString()))
{
wordOffences[msg.Author.ToString()] += 1;
Console.WriteLine("if");
Console.WriteLine(wordOffences[msg.Author.ToString()]);
File.WriteAllText(@"c:\Users\me\Desktop\real.json", JsonConvert.SerializeObject(wordOffences));
if (wordOffences[msg.Author.ToString()] >= 3)
{
Console.WriteLine("really true");
await m.Channel.SendMessageAsync("@Staff have been notified. Hey buddy watch your language! This is offence: " + wordOffences[msg.Author.ToString()]);
}
else
{
Console.WriteLine("y");
await m.Channel.SendMessageAsync("Hey buddy watch your language! This is offence: " + wordOffences[msg.Author.ToString()]);
}
}
else
{
Console.WriteLine("runmf");
wordOffences.Add(msg.Author.ToString(), 1);
Console.WriteLine(wordOffences[msg.Author.ToString()]);
await m.Channel.SendMessageAsync("Hey buddy watch your language! This is offence: " + wordOffences[msg.Author.ToString()]);
File.WriteAllText(@"c:\Users\me\Desktop\real.json", JsonConvert.SerializeObject(wordOffences));
}
i = badWords.Length;
}
使用此功能,您可以将用户拥有的攻击数量存储到json文件中,以便它永久存在。你应该把它放在你的: public async Task HandleCommandAsync(SocketMessage m)