c # - Opdage Discord Mentions Without A Bot?

Indlæg af Hanne Mølgaard Plasc

Problem



Im kodende i C # for at få mit razer-tastatur til at reagere på meddelelser og andre ting. Dette er min første gang at bruge C #, og jeg spekulerede på, hvordan jeg ville opdage discord notifikationer? Selfbots er igen 't Discord regler, og andre bots er ikke en mulighed. Et forslag var, at jeg bruger en windows hook, men efter at have søgt omkring synes det at de fleste siger, at du ikke kan gøre det nemt i C #. Så jeg spekulerede på, om der var nogen bedre ideer, og hvis ikke, hvordan skulle jeg gå om at lave vindueskroge?


EDIT: Dette er en WPF app.

Bedste reference


Inde i din messageRecieved handler, skal du blot tilføje et par flere linjer kode for at kontrollere omtale til din konto (klienten).


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
        }


Hvis du ikke har en beskedRecieved Handler endnu, er det en egenskab fra DiscordSocketClient objekt.

Du kan se dokumentationens vejledning om opsætning af hændelseshåndteringsprogrammer til klienten her. [7]


Alternativt kan du konvertere SocketMessage givet til en SocketUserMessage, hvis du kun vil udløse koden, når nævningen kun er foran (eller et bestemt sted) i meddelelsen, og brug derefter HasMentionPrefix() metode i SocketUserMessage.

(Ligner på, hvordan dokumentationen gjorde for opsætning af CommandModules)