PsychoTea / Oxide.Ext.Discord

Discord extension and integration
https://umod.org/extensions/discord
12 stars 25 forks source link

An object reference is required for the non-static field #23

Closed exel80 closed 6 years ago

exel80 commented 6 years ago

Tried to getGuildMember with UserID but for some reason reference require static?

void Discord_MessageCreate(Message message) {
            Guild.GetGuildMember(_Client, userID: message.author.id, callback: guildMember);
}

public void guildMember(GuildMember member)
{
        string allRoles = String.Empty;
        foreach (var role in member.roles)
        {
             allRoles += $"{member.roles} ";
        }
        Puts(allRoles.TrimEnd());
}
Error CS0120: An object reference is required to access non-static member `Oxide.Ext.Discord.DiscordObjects.Guild.GetGuildMember(Oxide.Ext.Discord.DiscordClient, string, System.Action<Oxide.Ext.Discord.DiscordObjects.GuildMember>)'
PsychoTea commented 6 years ago

Yes, the API needs to know which guild you're trying to get a member from. Obviously the extension current only supports one guild, but this will be changed in the future. Changing Guild.GetGuildMember on line 2 to _client.DiscordServer.GetGuildMember, where _client is your DiscordClient object, will fix this error.