public async ValueTask <DiscordRole?> GetRoleAsync(DiscordMessage message, DiscordEmoji emoji) { var rawEmoji = EmojiMapper.FromDiscord(emoji); var roleId = await _context.ReactionRoles .Where(x => x.MessageId == message.Id && x.Emoji == rawEmoji) .Select(x => x.RoleId) .SingleOrDefaultAsync(); if (roleId == default) { return(null); } var guild = message.Channel.Guild; return(guild.GetRole(roleId)); }
public static ReactionRoleDTO FromDiscord(ReactionRole reactionRole) { var emoji = EmojiMapper.FromDiscord(reactionRole.Emoji); return(new ReactionRoleDTO(reactionRole.Message.Id, emoji, reactionRole.Role.Id)); }