コード例 #1
0
ファイル: Main.cs プロジェクト: WerewolfDiscord/CCBot
        private DiscordEmbed GetListEmbed(CC cc)
        {
            /*embed = discord.Embed(title = "@here a new Conspiracy channel has been made", color = 0xdf0000)
             * embed.set_author(name = "[CREATOR]",, icon_url = "http://icons.iconarchive.com/icons/wineass/ios7-redesign/512/Sample-icon.png")
             * embed.add_field(name = 1., value =[PERSON], inline = True)
             * embed.add_field(name = 2., value =[PERSON], inline = True)
             * embed.add_field(name = 3., value =[PERSON], inline = True)
             * embed.set_footer(text = "Have fun!")
             * await self.bot.say(embed = embed)*/
            DiscordEmbedBuilder v = new DiscordEmbedBuilder();

            v.WithTitle("List of Members:");
            v.WithColor(DiscordColor.DarkRed);
            v.WithFooter("Have fun!");
            v.AddField("Owner", cc.Owner.DisplayName);
            int i = 1;

            foreach (var v2 in cc.Members)
            {
                v.AddField(i.ToString() + ".", v2.DisplayName, i % 3 == 0);
                i++;
            }

            return(v.Build());
        }
コード例 #2
0
ファイル: Main.cs プロジェクト: WerewolfDiscord/CCBot
        public async Task CreateCMD(CommandContext ctx, string Name, params DiscordMember[] Members)
        {
            Name = Name.Replace(' ', '_');

            if (ctx.Guild == null)
            {
                await ctx.RespondAsync("Sorry, not here!");

                throw new Exception();
            }

            var g = Dependencies.Settings.MainGuild;

            if (ctx.Guild.Id != g.Id)
            {
                await ctx.RespondAsync("Sorry, not here!");

                throw new Exception();
            }

            if (!ctx.Member.Roles.Contains(Dependencies.Settings.AliveParticipantRole))
            {
                await ctx.RespondAsync("Sorry, Participants only!");

                throw new Exception();
            }

            if (!Members.Any(x => x.Roles.Contains(Dependencies.Settings.AliveParticipantRole)))
            {
                await ctx.RespondAsync("Sorry, Participants only!");

                throw new Exception();
            }

            var members = Members.ToList();

            for (int a = 0; a < members.Count; a++)
            {
                for (int b = 0; b < members.Count; b++)
                {
                    if (a != b)
                    {
                        if (members[a].Id == members[b].Id)
                        {
                            members.Remove(members[b]);
                        }
                    }
                }
            }

            members.Remove(ctx.Member);

            var newChannel = await g.CreateChannelAsync("S" + Dependencies.Settings.SeasonNumber + "_" + Name, ChannelType.Text, parent : await GetOrCreateCategory(), overwrites : GetOverwrites(members, g, ctx.Member));

            var cc = new CC(ctx.Member, members, newChannel);
            await newChannel.SendMessageAsync("Look, look! Over @here, a new **conspiracy channel** has been created!", embed : GetListEmbed(cc));

            Dependencies.Settings.Channels.Add(cc);
        }