public async Task channel(CommandContext ctx, [Description("Operação (add/del)")] string action, [Description("O Canal (ID/Menção)")] DiscordChannel channel) { switch (action) { case "add": var channels = new ReactChannel().Find(x => x.DiscordID == channel.Id); if (channels != null) { await ctx.RespondAsync(embed : EmbedBase.OutputEmbed("Esse canal já foi adicionado anteriormente.")); } else { ReactChannelModel ch = new ReactChannelModel { DiscordID = channel.Id, }; new ReactChannel().Insert(ch); await ctx.RespondAsync(embed : EmbedBase.OutputEmbed("Canal adicionado com sucesso!")); } break; case "del": channels = new ReactChannel().Find(x => x.DiscordID == channel.Id); if (channels == null) { await ctx.RespondAsync(embed : EmbedBase.OutputEmbed("Esse canal não foi adicionado.")); } else { new ReactChannel().Delete(channels); await ctx.RespondAsync(embed : EmbedBase.OutputEmbed("Canal removido com sucesso!")); } break; } }
public async Task info(CommandContext ctx, [Description("O Canal (ID/Menção)")] DiscordChannel channel) { var info = new ReactChannel().Find(x => x.DiscordID == channel.Id); if (info != null) { await ctx.RespondAsync(embed : await EmbedExtended.ChannelInfo(info)); } else { await ctx.RespondAsync(embed : EmbedBase.OutputEmbed("Esse canal não foi adicionado.")); } }
private async Task ReactionAdded(MessageReactionAddEventArgs e) { var Channel = new ReactChannel().Find(x => x.DiscordID == e.Channel.Id); if (Channel != null) { foreach (var i in Channel.Categories) { var category = new ReactCategory().Find(x => x.Id == i); if (category.MessageId == e.Message.Id) { foreach (var id in category.Roles) { var role = new Logic.ReactRole().Find(x => x.Id == id); if (role.EmojiId == e.Emoji.Id) { await((DiscordMember)e.User).GrantRoleAsync(e.Channel.Guild.GetRole(role.RoleId)); } } } } } }