Exemplo n.º 1
0
 private async Task TryEditMessage(int id, DSharpPlus.Entities.DiscordEmbedBuilder embed)
 {
     try
     {
         ArkIOInterface_SavedContext context = savedContexts[id];
         await context.msg.ModifyAsync(embed : embed);
     } catch
     {
         //Not found
     }
 }
Exemplo n.º 2
0
        public async Task Info(CommandContext ctx)
        {
            int    count = ctx.Guild.Roles.Count;
            string time  = ctx.Guild.CreationTimestamp.ToString();
            int    size  = time.Length;

            time = time.Remove(size - 6);
            Node[]        role       = new Node[count];
            int           voice      = CountChannels(ctx, "Voice");
            int           text       = CountChannels(ctx, "Text");
            int           total      = voice + text;
            StringBuilder msgContent = new StringBuilder()
                                       .AppendLine("**:globe_with_meridians: [Strona koła](https://kod.prz.edu.pl/#/)**")
                                       .Append("**:id: ID serwera: **`").Append(ctx.Guild.Id).Append("`").AppendLine()
                                       .Append(":bust_in_silhouette: **Właściciel: **").Append(ctx.Guild.Owner.Nickname).AppendLine()
                                       .Append(":calendar: **Serwer utworzony dnia: **").Append(time).AppendLine()
                                       .Append(":busts_in_silhouette: **Liczba użytkowników: **").Append(ctx.Guild.MemberCount).AppendLine()
                                       .Append(":arrow_forward: **Kanały: **Voice: `").Append(voice).Append("`|Text: `").Append(text).Append("`|").Append("W sumie: ").Append("**").Append(total).Append("**").AppendLine()
                                       .Append("**:arrow_forward:  Role na serwerze: **").Append(count).AppendLine();
            int index = 0;

            foreach (var item in ctx.Guild.Roles.Values)
            {
                Node tmp = new Node(item.Position, item.Name);
                role[index] = tmp;
                index++;
            }
            for (int j = 0; j <= role.Length - 2; j++)
            {
                for (int i = 0; i <= role.Length - 2; i++)
                {
                    if (role[i].Number < role[i + 1].Number)
                    {
                        Node temp = role[i + 1];
                        role[i + 1] = role[i];
                        role[i]     = temp;
                    }
                }
            }
            string[] lRol = new string[count];
            for (int j = 0; j < count; j++)
            {
                lRol[j] = role[j].Name;
            }
            var roleList = string.Join(", ", lRol);

            msgContent.AppendLine(roleList);
            var embed = new DSharpPlus.Entities.DiscordEmbedBuilder()
                        .WithTitle(ctx.Guild.Name)
                        .WithThumbnail(ctx.Guild.IconUrl)
                        .WithDescription(msgContent.ToString())
                        .WithColor(Helpers.ColorHelper.RandomColor());
            await ctx.RespondAsync(embed : embed);
        }
Exemplo n.º 3
0
        public async Task Seppuku(CommandContext ctx)
        {
            await ctx.TriggerTypingAsync();

            await ctx.Member.RemoveAsync("Popełnił Seppuku. Gloria Victis!");


            var embed = new DSharpPlus.Entities.DiscordEmbedBuilder()
            {
                Color = Helpers.ColorHelper.RandomColor()
            };
            var candle = DSharpPlus.Entities.DiscordEmoji.FromName(ctx.Client, ":candle:");

            embed.AddField($"{ctx.Member.DisplayName} popełnił Seppuku", candle.ToString());
            embed.ImageUrl = "https://media1.tenor.com/images/6f64764b4b7874465d83de68342347cc/tenor.gif?itemid=4854729";
            await ctx.RespondAsync(embed : embed);
        }
Exemplo n.º 4
0
        static async Task MainAsync(string[] args)
        {
            string prefix = "";
            string token  = "";

            botclient = new DiscordClient(new DiscordConfiguration
            {
                Token     = token,
                TokenType = TokenType.Bot
            });
            botclient.Ready += async client =>
            {
                Console.WriteLine(botclient.CurrentUser.Username + " is Ready!");
            };
            botclient.MessageCreated += async msg =>
            {
                if (msg.Message.Content == prefix + "help")
                {
                    var helpembed = new DSharpPlus.Entities.DiscordEmbedBuilder()
                    {
                        Color  = new DSharpPlus.Entities.DiscordColor(299646),
                        Author = new DSharpPlus.Entities.DiscordEmbedBuilder.EmbedAuthor
                        {
                            Name    = msg.Author.Username,
                            IconUrl = msg.Author.AvatarUrl
                        },
                        Title       = "Help Command",
                        Description = "List of **Commands** of this bot.\nLook **Below**.",
                        Footer      = new DSharpPlus.Entities.DiscordEmbedBuilder.EmbedFooter
                        {
                            Text = "DSharpPlus Example"
                        },
                    };
                    helpembed.AddField("Basic Commands", "`help`", true);
                    var helpembedbuild = helpembed.Build();
                    await msg.Message.Channel.SendMessageAsync(embed : helpembedbuild);
                }
            };
            await botclient.ConnectAsync();

            await Task.Delay(-1);
        }
Exemplo n.º 5
0
        static async Task MainAsync()
        {
            //called whenever message created
            discord.MessageCreated += async(e) =>
            {
                if (e.Message.Content == "/vb help")
                {
                    await PrintHelp();
                }
                if (e.Message.Content == "/vb topdog")
                {
                    bool killproc = false;
                    //level id is day+month+year, this is me getting these values and adding them
                    string currentDay   = DateTime.Now.Day.ToString();
                    string currentMonth = DateTime.Now.Month.ToString();
                    string currentYear  = DateTime.Now.Year.ToString();
                    string levelID      = DateTime.UtcNow.ToString("dMMyyyy");

                    //get data and make it look good
                    var stream = client.DownloadString(Environment.GetEnvironmentVariable("APIURL") + levelID + "&callback=?");
                    Console.WriteLine((Environment.GetEnvironmentVariable("APIURL") + levelID + "&callback=?"));
                    stream = stream.Replace(",{\"position", ",\n{\"position");
                    File.WriteAllText(Directory.GetCurrentDirectory() + @"/topdog.json", stream);

                    Thread.Sleep(300);
                    string[] topjson = File.ReadAllLines(Directory.GetCurrentDirectory() + @"/topdog.json");
                    string   top7    = "asc\n";
                    foreach (var line in topjson)
                    {
                        if (line.Contains("{\"position\":8"))
                        {
                            killproc = true;
                        }
                        if (!killproc)
                        {
                            string posNum = line.Substring(line.IndexOf(",\"levelUnique") - line.IndexOf("\"position\":"), line.IndexOf(",\"levelUnique"));
                            posNum = posNum.Replace(":", "");
                            posNum = posNum.Replace(",\"levelUniqu", "");


                            string name = line.Substring(line.IndexOf("\"id\":"), line.IndexOf("\",\"registerdUserId") - line.IndexOf("\"id\":"));
                            name = name.Replace("\"id\":\"", "");

                            top7 += posNum + ".) " + name + "\n";
                        }
                    }


                    if (topjson.Length < 7)
                    {
                        string topnum    = "The current top " + (topjson.Length).ToString() + " in top dog are:\n";
                        var    embuilder = new DSharpPlus.Entities.DiscordEmbedBuilder();
                        top7 = "```" + top7 + "```";
                        embuilder.AddField(topnum, top7);

                        var emb = embuilder.Build();
                        await e.Message.RespondAsync("", false, emb);
                    }
                    else
                    {
                        string topnum    = "The current top 7 in top dog are:\n";
                        var    embuilder = new DSharpPlus.Entities.DiscordEmbedBuilder();
                        top7 = "```" + top7 + "```";
                        embuilder.AddField(topnum, top7);
                        var emb = embuilder.Build();
                        await e.Message.RespondAsync("", false, emb);
                    }
                }
                if (e.Message.Content == "/vb hardcore")
                {
                    bool killproc = false;
                    //level id is day+month+year, this is me getting these values and adding them
                    string currentDay   = DateTime.Now.Day.ToString();
                    string currentMonth = DateTime.Now.Month.ToString();
                    string currentYear  = DateTime.Now.Year.ToString();
                    string levelID      = DateTime.UtcNow.ToString("dMMyyyy");

                    //get data and make it look good
                    var stream = client.DownloadString(Environment.GetEnvironmentVariable("APIURL") + "55" + levelID + "&callback=?");
                    stream = stream.Replace(",{\"position", ",\n{\"position");
                    File.WriteAllText(Directory.GetCurrentDirectory() + @"/hardcore.json", stream);

                    Thread.Sleep(300);
                    string[] topjson = File.ReadAllLines(Directory.GetCurrentDirectory() + @"/hardcore.json");
                    string   top7    = "asc\n";
                    foreach (var line in topjson)
                    {
                        if (line.Contains("{\"position\":8"))
                        {
                            killproc = true;
                        }
                        if (!killproc)
                        {
                            string posNum = line.Substring(line.IndexOf(",\"levelUnique") - line.IndexOf("\"position\":"), line.IndexOf(",\"levelUnique"));
                            posNum = posNum.Replace(":", "");
                            posNum = posNum.Replace(",\"levelUniqu", "");


                            string name = line.Substring(line.IndexOf("\"id\":"), line.IndexOf("\",\"registerdUserId") - line.IndexOf("\"id\":"));
                            name = name.Replace("\"id\":\"", "");

                            top7 += posNum + ".) " + name + "\n";
                        }
                    }

                    if (topjson.Length < 7)
                    {
                        string topnum    = "The current top " + (topjson.Length).ToString() + " in hardcore are:\n";
                        var    embuilder = new DSharpPlus.Entities.DiscordEmbedBuilder();
                        top7 = "```" + top7 + "```";
                        embuilder.AddField(topnum, top7);
                        var emb = embuilder.Build();
                        await e.Message.RespondAsync("", false, emb);
                    }
                    else
                    {
                        string topnum    = "The current top 7 in hardcore are:\n";
                        var    embuilder = new DSharpPlus.Entities.DiscordEmbedBuilder();
                        top7 = "```" + top7 + "```";
                        embuilder.AddField(topnum, top7);
                        var emb = embuilder.Build();
                        await e.Message.RespondAsync("", false, emb);
                    }
                    Thread.Sleep(300);
                    if (File.Exists(Directory.GetCurrentDirectory() + "/hardcore.json"))
                    {
                        File.Delete(Directory.GetCurrentDirectory() + "/hardcore.json");
                    }
                }
                if (e.Message.Content == "/vb speeddemon")
                {
                    bool killproc = false;
                    //level id is day+month+year, this is me getting these values and adding them
                    string currentDay   = DateTime.Now.Day.ToString();
                    string currentMonth = DateTime.Now.Month.ToString();
                    string currentYear  = DateTime.Now.Year.ToString();
                    string levelID      = DateTime.UtcNow.ToString("dMMyyyy");

                    //get data and make it look good
                    var stream = client.DownloadString(Environment.GetEnvironmentVariable("APIURL") + "77" + levelID + "&callback=?");
                    stream = stream.Replace(",{\"position", ",\n{\"position");
                    File.WriteAllText(Directory.GetCurrentDirectory() + @"/speeddemon.json", stream);

                    Thread.Sleep(300);
                    string[] topjson = File.ReadAllLines(Directory.GetCurrentDirectory() + @"/speeddemon.json");
                    string   top7    = "asc\n";
                    foreach (var line in topjson)
                    {
                        if (topjson.Length < 8)
                        {
                        }
                        if (line.Contains("{\"position\":8"))
                        {
                            killproc = true;
                        }
                        if (!killproc)
                        {
                            string posNum = line.Substring(line.IndexOf(",\"levelUnique") - line.IndexOf("\"position\":"), line.IndexOf(",\"levelUnique"));
                            posNum = posNum.Replace(":", "");
                            posNum = posNum.Replace(",\"levelUniqu", "");


                            string name = line.Substring(line.IndexOf("\"id\":"), line.IndexOf("\",\"registerdUserId") - line.IndexOf("\"id\":"));
                            name  = name.Replace("\"id\":\"", "");
                            top7 += posNum + ".) " + name + "\n";
                        }
                    }
                    //bruh

                    if (topjson.Length < 7)
                    {
                        string topnum    = "The current top " + (topjson.Length).ToString() + " in speed-demon are:\n";
                        var    embuilder = new DSharpPlus.Entities.DiscordEmbedBuilder();
                        top7 = "```" + top7 + "```";
                        embuilder.AddField(topnum, top7);
                        var emb = embuilder.Build();
                        await e.Message.RespondAsync("", false, emb);
                    }
                    else
                    {
                        string topnum    = "The current top 7 in speed-demon are:\n";
                        var    embuilder = new DSharpPlus.Entities.DiscordEmbedBuilder();
                        top7 = "```" + top7 + "```";
                        embuilder.AddField(topnum, top7);
                        var emb = embuilder.Build();
                        await e.Message.RespondAsync("", false, emb);
                    }
                    Thread.Sleep(300);
                    if (File.Exists(Directory.GetCurrentDirectory() + "/speeddemon.json"))
                    {
                        File.Delete(Directory.GetCurrentDirectory() + "/speeddemon.json");
                    }
                }
                if (e.Message.Content.StartsWith("/vb seed "))
                {
                    bool   killproc = false;
                    string seed     = e.Message.Content.Replace("/vb seed ", "");
                    if (seed == "")
                    {
                        e.Message.RespondAsync("um, you forgot to specify a seed :)");
                    }
                    else
                    {
                        var stream = client.DownloadString(Environment.GetEnvironmentVariable("APIURL") + "9" + seed + "&callback=?");
                        stream = stream.Replace(",{\"position", ",\n{\"position");
                        File.WriteAllText(Directory.GetCurrentDirectory() + @"/seed" + seed + ".json", stream);
                        Thread.Sleep(300);
                        string[] topjson = File.ReadAllLines(Directory.GetCurrentDirectory() + @"/seed" + seed + ".json");
                        string   top7    = "asc\n";
                        try
                        {
                            foreach (var line in topjson)
                            {
                                if (topjson.Length < 8)
                                {
                                }
                                if (line.Contains("{\"position\":8"))
                                {
                                    killproc = true;
                                }
                                if (!killproc)
                                {
                                    string posNum = line.Substring(line.IndexOf(",\"levelUnique") - line.IndexOf("\"position\":"), line.IndexOf(",\"levelUnique"));
                                    posNum = posNum.Replace(":", "");
                                    posNum = posNum.Replace(",\"levelUniqu", "");

                                    string name = line.Substring(line.IndexOf("\"id\":"), line.IndexOf("\",\"registerdUserId") - line.IndexOf("\"id\":"));
                                    name = name.Replace("\"id\":\"", "");

                                    top7 += posNum + ".) " + name + "\n";
                                }
                            }
                            if (topjson.Length < 7)
                            {
                                string topnum    = "The current top " + (topjson.Length).ToString() + " in your seed are:\n";
                                var    embuilder = new DSharpPlus.Entities.DiscordEmbedBuilder();
                                top7 = "```" + top7 + "```";
                                embuilder.AddField(topnum, top7);
                                var emb = embuilder.Build();
                                await e.Message.RespondAsync("", false, emb);
                            }
                            else
                            {
                                string topnum    = "The current top 7 in your seed are:\n";
                                var    embuilder = new DSharpPlus.Entities.DiscordEmbedBuilder();
                                top7 = "```" + top7 + "```";
                                embuilder.AddField(topnum, top7);
                                var emb = embuilder.Build();
                                await e.Message.RespondAsync("", false, emb);
                            }
                            Thread.Sleep(300);
                            if (File.Exists(Directory.GetCurrentDirectory() + "/seed" + seed + ".json"))
                            {
                                File.Delete(Directory.GetCurrentDirectory() + "/seed" + seed + ".json");
                            }
                        }
                        catch
                        {
                            await e.Message.RespondAsync("oops, your seed gave no results!");
                        }
                    }
                }

                async Task PrintHelp()
                {
                    var help = new DSharpPlus.Entities.DiscordEmbedBuilder();

                    help.AddField("Available Commands:", "all commands start with \"/vb\"\n\n```/vb help\n/vb topdog\n/vb hardcore\n/vb speeddemon\n/vb seed [ your seed ]\n```");
                    var helpEm = help.Build();
                    await e.Message.RespondAsync("", false, helpEm);
                }
            };
            await discord.ConnectAsync();

            await Task.Delay(-1);
        }
    }