C# 在没有机器人的情况下检测不和谐内容?
我现在用C#编码,让我的剃须刀键盘对通知和其他事情做出反应。这是我第一次使用C#,我想知道如何检测不一致通知?自我机器人不是不和谐的规则,其他机器人也不是选项。一个建议是我使用一个windows钩子,但是在四处搜索之后,似乎大多数人都说用C#很难做到这一点。所以我想知道是否有更好的主意,如果没有,我将如何着手做windows钩子C# 在没有机器人的情况下检测不和谐内容?,c#,windows,hook,discord,C#,Windows,Hook,Discord,我现在用C#编码,让我的剃须刀键盘对通知和其他事情做出反应。这是我第一次使用C#,我想知道如何检测不一致通知?自我机器人不是不和谐的规则,其他机器人也不是选项。一个建议是我使用一个windows钩子,但是在四处搜索之后,似乎大多数人都说用C#很难做到这一点。所以我想知道是否有更好的主意,如果没有,我将如何着手做windows钩子 编辑:这是一个WPF应用程序。在您的MessageReceived处理程序中,您只需再添加几行代码即可检查您的帐户(客户端)是否有提及 var-sinetieduser
编辑:这是一个WPF应用程序。在您的MessageReceived处理程序中,您只需再添加几行代码即可检查您的帐户(客户端)是否有提及
var-sinetieduser=message.sinetieduser;
//使用循环
foreach(提及用户中的var用户){
if(user==client.CurrentUser){
//做点什么
}
}
//或者你可以这样做。。。
if(message.Content.Contains(“”){
//做点什么
}
如果您还没有MessageReceived处理程序,则它是来自DiscordSocketClient
对象的属性。您可以查看文档中关于为客户端设置事件处理程序的教程 或者,如果您只想在消息前面(或某个特定位置)提及时触发代码,则可以将给定的
SocketMessage
转换为SocketUserMessage
,然后使用SocketUserMessage
中的hasinetiprefix()
方法(与设置CommandModules的文档类似)如果您没有阅读原始帖子,我会说“selfbot违反Discord规则”,这意味着我不能使用selfbot,也不能使用Discord API。
var mentionedUser = message.MentionedUsers;
//Using a loop
foreach(var user in mentionedUser) {
if(user == client.CurrentUser) {
//Do something
}
}
//Or you could do it...
if(message.Content.Contains("<@YOURID>")) {
//Do something
}