Example #1
0
        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;
            }
        }
Example #2
0
        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."));
            }
        }
Example #3
0
        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));
                            }
                        }
                    }
                }
            }
        }