public ReactionRole ToDiscord(DiscordClient client, DiscordMessage message) { var guild = message.Channel.Guild; var role = guild.GetRole(RoleId); var emoji = EmojiMapper.ToDiscord(client, Emoji); return(new ReactionRole(message, emoji, role)); }
public async ValueTask <DiscordEmoji?> GetEmojiAsync(DiscordClient client, DiscordMessage message, DiscordRole role) { var rawEmoji = await _context.ReactionRoles .Where(x => x.MessageId == message.Id && x.RoleId == role.Id) .Select(x => x.Emoji) .SingleOrDefaultAsync(); if (rawEmoji == null) { return(null); } return(EmojiMapper.ToDiscord(client, rawEmoji)); }
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)); }