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."); } } }
private Task _linkService_LinkComplete(LinkCompleteEventArgs args) { _ = Task.Run(async() => await AssignLinkedRole(args)); return(Task.CompletedTask); }