I replaced 

        private void HandleNick(IPlayer player, string discordId = null)
        {
            discordId = discordId ?? GetDiscord(player.Id);
            if (discordId == null)
                return;

            var guildmember = GetGuildMember(discordId);
            if (guildmember == null)
                return;

            if (guildmember.nick == player.Name)
                return;

            Client.DiscordServer.ModifyUsersNick(Client, discordId, player.Name);
        }

to something like this and it works

    using Newtonsoft.Json.Linq;
    using Oxide.Ext.Discord.REST;

 

        private void HandleNick(IPlayer player, string discordId = null)
        {
            discordId = discordId ?? GetDiscord(player.Id);
            if (discordId == null)
                return;

            Client.DiscordServer.GetGuildMember(Client, discordId, member =>
            {
                if (member == null)
                    return;

                if (member.nick == player.Name)
                    return;

                ModifyGuildMemberNick(Client, Client.DiscordServer.id, member.user.id, player.Name);
            });
        }

        public void ModifyGuildMemberNick(DiscordClient client, string guildID, string userID, string nick, Action callback = null)
        {
            var jsonObj = new Dictionary<string, object>()
            {
                { "nick", nick }
            };

            client.REST.DoRequest($"/guilds/{guildID}/members/{userID}", RequestMethod.PATCH, jsonObj, callback);
        }