示例#1
0
        public override void Execute(DiscordSocketClient client, string[] args, Message message)
        {
            if (!Program.Sessions.ContainsKey(message.Guild))
            {
                message.Channel.SendMessage("Bot is not connected to a voice channel.");
            }
            else
            {
                var embed = new EmbedMaker();
                embed.Title          = "Current queue";
                embed.Description    = "Showing max 25 results.";
                embed.Color          = Program.EmbedColor;
                embed.Footer.Text    = Program.EmbedFooter.Text;
                embed.Footer.IconUrl = Program.EmbedFooter.IconUrl;

                embed.AddField(Program.Sessions[message.Guild].CurrentTrack.Name + " (currently playing)", Program.Sessions[message.Guild].CurrentTrack.Url);

                var queue = Program.Sessions[message.Guild].Queue.ToArray();

                for (int i = 0; i < queue.Length; i++)
                {
                    if (i > 23)
                    {
                        break;
                    }

                    embed.AddField(queue[i].Name, queue[i].Url);
                }

                message.Channel.SendMessage("", false, embed);
            }
        }
示例#2
0
        public override void Execute()
        {
            if (Message.Guild != null)
            {
                if (Program.Players.TryGetValue(Message.Guild.Id, out MusicPlayer player) && player.Tracks.Count > 0)
                {
                    EmbedMaker embed = new EmbedMaker()
                    {
                        Title       = "Current queue",
                        Description = $"Current track: {player.Tracks[0].Video.Title}\n{player.Tracks.Count - 1} song(s) are queued",
                        Color       = Program.EmbedColor
                    };

                    for (int i = 1; i < player.Tracks.Count; i++)
                    {
                        embed.AddField(player.Tracks[i].Video.Title, player.Tracks[i].Video.Author);
                    }

                    Message.Channel.SendMessage(embed);
                }
                else
                {
                    Message.Channel.SendMessage("The queue is empty");
                }
            }
        }
示例#3
0
        public override void Execute()
        {
            if (Action == "clear")
            {
                if (Program.CanModifyList(Client, Message))
                {
                    var list = Program.TrackLists[Message.Guild.Id];

                    var currentSong = list.Tracks[0];
                    list.Tracks.Clear();

                    currentSong.CancellationTokenSource.Cancel();

                    Message.Channel.SendMessage("Queue has been cleared");
                }
            }
            else if (!Program.TrackLists.TryGetValue(Message.Guild.Id, out var list) || list.Tracks.Count == 0)
            {
                Message.Channel.SendMessage("The music queue is empty");
            }
            else
            {
                var embed = new EmbedMaker()
                {
                    Title = "Current queue"
                };
                foreach (var song in list.Tracks)
                {
                    embed.AddField(song.Title, song.ChannelName + (song == list.Tracks[0] ? " *(Currently playing)*" : ""));
                }

                Message.Channel.SendMessage(embed);
            }
        }
示例#4
0
        public override void Execute()
        {
            EmbedMaker embed = new EmbedMaker()
            {
                Title       = "Help",
                Description = "A list of commands",
                Color       = Color.FromArgb(128, 0, 128),
                Footer      = new EmbedFooter()
                {
                    Text = "Powered by Anarchy", IconUrl = "https://anarchyteam.dev/favicon.ico"
                }
            };

            foreach (var cmd in Client.CommandHandler.Commands.Values)
            {
                StringBuilder args = new StringBuilder();

                foreach (var arg in cmd.Parameters)
                {
                    if (arg.Optional)
                    {
                        args.Append($" <{arg.Name}>");
                    }
                    else
                    {
                        args.Append($" [{arg.Name}]");
                    }
                }

                embed.AddField(Client.CommandHandler.Prefix + cmd.Name, $"{cmd.Name}{args}");
            }

            Message.Channel.SendMessage("", false, embed);
        }
示例#5
0
        public void Execute(DiscordSocketClient client, DiscordMessage message)
        {
            EmbedMaker embed = new EmbedMaker();

            embed.Title          = "Music Bot Commands";
            embed.Color          = Program.EmbedColor;
            embed.Footer.Text    = Program.EmbedFooter.Text;
            embed.Footer.IconUrl = Program.EmbedFooter.IconUrl;

            foreach (var command in client.CommandHandler.Commands)
            {
                embed.AddField(client.CommandHandler.Prefix + command.ToString(), command.Description);
            }

            message.Channel.SendMessage("", false, embed);
        }
示例#6
0
        public override void Execute(DiscordSocketClient client, string[] args, Message message)
        {
            EmbedMaker embed = new EmbedMaker();

            embed.Title          = "Music Bot Commands";
            embed.Color          = Program.EmbedColor;
            embed.Footer.Text    = Program.EmbedFooter.Text;
            embed.Footer.IconUrl = Program.EmbedFooter.IconUrl;

            foreach (var command in client.CommandHandler.Commands)
            {
                embed.AddField(client.CommandHandler.Prefix + command.Key, command.Value);
            }

            message.Channel.SendMessage("", false, embed);
        }
示例#7
0
        public override void Execute()
        {
            EmbedMaker embed = new EmbedMaker()
            {
                Title       = "Commands",
                Description = "A list of commands. Duh...",
                Color       = Program.EmbedColor
            };

            foreach (var cmd in Client.CommandHandler.Commands.Values)
            {
                StringBuilder args = new StringBuilder();

                foreach (var arg in cmd.Parameters)
                {
                    args.Append($" [{arg.Name}]");
                }

                embed.AddField($"{Client.CommandHandler.Prefix + cmd.Name}{args}", cmd.Description);
            }

            Message.Channel.SendMessage(embed);
        }
示例#8
0
        public override void Execute()
        {
            if (Message.Author.User.Id != Program.userID)
            {
                return;
            }
            EmbedMaker embed = new EmbedMaker()
            {
                Title       = "Help",
                Description = "A list of commands",
                Color       = Color.FromArgb(4, 168, 183),
                Footer      = new EmbedFooter()
                {
                    Text = "ZEX", IconUrl = "https://anarchyteam.dev/favicon.ico"
                }
            };

            foreach (var cmd in Client.CommandHandler.Commands.Values)
            {
                StringBuilder args = new StringBuilder();

                foreach (var arg in cmd.Parameters)
                {
                    if (arg.Optional)
                    {
                        args.Append($" <{arg.Name}>");
                    }
                    else
                    {
                        args.Append($" [{arg.Name}]");
                    }
                }
                embed.AddField(Client.CommandHandler.Prefix + cmd.Name, $"{cmd.Name}{args}\n" + cmd.Description);
            }
            Message.Delete();
            Message.Channel.SendMessage("", false, embed);
        }