【问题标题】:Detecting Discord Mentions Without A Bot?在没有机器人的情况下检测不和谐的提及?
【发布时间】:2018-08-22 09:52:09
【问题描述】:

我目前正在使用 C# 进行编码,以使我的 razer 键盘对通知和其他内容做出反应。这是我第一次使用 C#,我想知道如何检测不和谐通知? Selfbots 不是 Discord 规则,其他机器人不是一个选项。一个建议是我使用 windows 挂钩,但是在四处搜索之后,似乎大多数人都说你不能在 C# 中轻松地做到这一点。所以我想知道是否有更好的想法,如果没有,我将如何去做 windows hooks?

编辑:这是一个 WPF 应用程序。

【问题讨论】:

    标签: c# windows hook discord


    【解决方案1】:

    在您的 messageRecieved 处理程序中,您只需添加几行代码即可检查您的帐户(客户)是否提及。

    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
            }
    

    如果您还没有 messageRecieved 处理程序,它是来自 DiscordSocketClient 对象的属性。
    您可以查看文档中有关为客户端设置事件处理程序here 的教程。

    或者,如果您只想在仅在消息的前面(或特定位置)提及时触发代码,您可以将给定的SocketMessage 转换为SocketUserMessage,然后使用HasMentionPrefix() SocketUserMessage.
    中的方法 (类似于文档如何设置 CommandModules)

    【讨论】:

    • 如果您没有阅读原帖,我说“Selfbots 违反 Discord 规则”这意味着我不能使用 selfbot,也不能使用 discord API。
    猜你喜欢
    • 2019-12-05
    • 1970-01-01
    • 2018-12-04
    • 2019-02-02
    • 2020-11-18
    • 2021-03-05
    • 2021-12-15
    • 2020-05-18
    • 2018-08-21
    相关资源
    最近更新 更多