Example #1
0
        private async Task AssignLinkedRole(LinkCompleteEventArgs args)
        {
            var db = _services.GetRequiredService <QAIDatabaseModel>();

            var guild = await db.FindAsync <DiscordGuildConfiguration>(args.Guild);

            if (guild is not null &&
                guild.RoleWhenLinked is not null &&
                args.Complete)
            {
                try
                {
                    await Rest.AddGuildMemberRoleAsync(guild.GuildId, args.Link?.DiscordId ?? 0, guild.RoleWhenLinked.Value, "Account Linked.");
                }
                catch (Exception ex)
                {
                    _logger.LogWarning(ex, "An error occoured when attempting to assign the linked role.");
                }
            }
        }
Example #2
0
        private Task _linkService_LinkComplete(LinkCompleteEventArgs args)
        {
            _ = Task.Run(async() => await AssignLinkedRole(args));

            return(Task.CompletedTask);
        }