示例#1
0
        public static void writeStatsToTxt()
        {
            if (System.IO.File.Exists(DataUtils.textPath + "stats.txt"))
            {
                try
                {
                    System.IO.File.Delete(DataUtils.textPath + "stats.txt");
                }
                catch (System.IO.IOException e)
                {
                    Console.WriteLine(e.Message);
                    return;
                }
            }

            using (StreamWriter sw = File.AppendText(DataUtils.textPath + "stats.txt"))
            {
                int tmp = GlobalVars.STATS_SHOW;
                GlobalVars.STATS_SHOW = wordUsageDict.Count;
                sw.WriteLine(DateTime.Now.ToString());
                sw.WriteLine("Total Uptime : " + RexTimers.getTime(RexTimers.systemRunClock));
                sw.WriteLine("Total unique word count : " + wordUsageDict.Keys.Count);
                sw.WriteLine("Total Message Count : " + MessagesRecieved);
                sw.WriteLine("--- Words ---\n");
                sw.WriteLine(getTop3Words());
                sw.WriteLine("--- End ---");
                GlobalVars.STATS_SHOW = tmp;
            }
        }
示例#2
0
        public async Task statusCmd()
        {
            DateTime     dateTime = new DateTime(2017, 5, 13);
            EmbedBuilder emb      = new EmbedBuilder();

            emb.Color        = new Color(196, 09, 155);
            emb.ThumbnailUrl = "http://silhouettesfree.com/machines/robots/robot-silhouette-image.png";

            emb.Title = "**🤜 RexBot 2.0 by Rexyrex 🤛**\n";

            //try
            //{
            //    string joke = await WebUtils.getOneLiner();
            //    emb.Description = "\"" + joke + "\"";
            //} catch(Exception e)
            //{
            //    Console.WriteLine(e.ToString());
            //}
            emb.Description = "**➺Github** : [RexBot 2.0](https://github.com/rexyrex/RexBot-2.0 \"ALL\")\n"
                              + "**➺Geoff DB** : [Google Docs](https://docs.google.com/spreadsheets/d/1EeJpyo7Rvh-WxcYoKB2qHzBR3L_0xvR9fW1COqGhljI/edit#gid=2091390326 \"ABOARD\")\n"
                              + "**➺Support Rexyrex** : [Newgrounds](http://rexyrex.newgrounds.com/audio/ \"THE FEED TRAIN\")"
                              + ", [Youtube](https://www.youtube.com/channel/UCq3yY-SCoglG8xm6Z1_udaw \"CHOO CHOO\")";
            EmbedFieldBuilder modeField = new EmbedFieldBuilder();

            modeField.Name     = "Mode";
            modeField.Value    = DataUtils.mode;
            modeField.IsInline = true;
            EmbedFieldBuilder ageField = new EmbedFieldBuilder();

            ageField.Name     = "Age";
            ageField.Value    = Math.Round((DateTime.Now - dateTime).TotalDays, 2) + " days";
            ageField.IsInline = true;
            EmbedFieldBuilder upTimeField = new EmbedFieldBuilder();

            upTimeField.Name     = "UpTime";
            upTimeField.Value    = RexTimers.getTime(RexTimers.systemRunClock);
            upTimeField.IsInline = true;
            string            cmdCountStr   = StatsUtils.getCommandCount(_commandService).ToString();
            EmbedFieldBuilder cmdCountField = new EmbedFieldBuilder();

            cmdCountField.Name     = "Commands";
            cmdCountField.Value    = cmdCountStr;
            cmdCountField.IsInline = true;
            EmbedFieldBuilder userCountField = new EmbedFieldBuilder();

            userCountField.Name     = "Users";
            userCountField.Value    = StatsUtils.UserCount;
            userCountField.IsInline = true;
            EmbedFieldBuilder statusField = new EmbedFieldBuilder();

            statusField.Name     = "Status";
            statusField.Value    = "YOLO";
            statusField.IsInline = true;

            EmbedFieldBuilder efb6 = new EmbedFieldBuilder();

            efb6.Name     = "❤️ Special Thanks To ❤️";
            efb6.Value    = "Geoff - DB & testing\nEm - Utils & testing\nJamie - !calc\nNick - W W W W & testing";
            efb6.IsInline = false;

            emb.AddField(modeField);
            emb.AddField(cmdCountField);
            emb.AddField(ageField);
            emb.AddField(upTimeField);
            emb.AddField(userCountField);
            emb.AddField(statusField);

            emb.AddField(efb6);
            await Context.Channel.SendMessageAsync("", false, emb);
        }
示例#3
0
        public async Task statsCmd()
        {
            DateTime     dateTime = new DateTime(2017, 5, 13);
            EmbedBuilder emb      = new EmbedBuilder();

            emb.Color = new Color(0, 255, 0);
            //emb.ThumbnailUrl = "http://pngimages.net/sites/default/files/bar-chart-png-image-892.png";

            emb.Timestamp = new DateTimeOffset(DateTime.Now);
            emb.Title     = "**📈 Statistics 📉**\n";
            //emb.Url = "https://www.youtube.com/watch?v=4YpTLy6dn5c";
            emb.Description = "[Displaying the stats of this session!](https://en.wikipedia.org/wiki/Statistics \"I hate ryan\")\n\n" +
                              "**UpTime** : " + RexTimers.getTime(RexTimers.systemRunClock) + "\n\n" +
                              "**Commands Run** : " + StatsUtils.CommandsRun + "\n" +
                              "**Commands Per Minute** : " + Math.Round((double)(StatsUtils.CommandsRun / RexTimers.systemRunClock.Elapsed.TotalMinutes), 5) + "\n\n" +
                              "**Reactions** : " + StatsUtils.ReactionCount + "\n" +
                              "**Reactions Per Minute** : " + Math.Round((double)(StatsUtils.ReactionCount / RexTimers.systemRunClock.Elapsed.TotalMinutes), 5) + "\n\n" +
                              "**Messages Received** : " + StatsUtils.MessagesRecieved + "\n" +
                              "**Messages Edited** : " + StatsUtils.MsgEditCount + "\n" +
                              "**Messages Deleted** : " + StatsUtils.MsgDeleteCount + "\n\n" +
                              "**Unique words** : " + StatsUtils.wordUsageDict.Keys.Count + "\n\n" +
                              "__🥇Leaderboards🥇__";

            EmbedFieldBuilder topReportsField = new EmbedFieldBuilder();

            topReportsField.Name     = "Reported";
            topReportsField.Value    = DataUtils.getReportTopList();
            topReportsField.IsInline = true;

            EmbedFieldBuilder topWField = new EmbedFieldBuilder();

            topWField.Name     = "!W LEVEL";
            topWField.Value    = DataUtils.getWaddChancesTopList();
            topWField.IsInline = true;

            EmbedFieldBuilder mostUsedCommandsField = new EmbedFieldBuilder();

            mostUsedCommandsField.Name     = "Commands";
            mostUsedCommandsField.Value    = StatsUtils.getTop3Commands();
            mostUsedCommandsField.IsInline = true;

            EmbedFieldBuilder mostMsgUserField = new EmbedFieldBuilder();

            mostMsgUserField.Name     = "Messages";
            mostMsgUserField.Value    = StatsUtils.getTop3Messagers();
            mostMsgUserField.IsInline = true;

            EmbedFieldBuilder mostMentionedUserField = new EmbedFieldBuilder();

            mostMentionedUserField.Name     = "Mentioned";
            mostMentionedUserField.Value    = StatsUtils.getTop3MentionedUsers();
            mostMentionedUserField.IsInline = true;

            EmbedFieldBuilder highestSentScoreField = new EmbedFieldBuilder();

            highestSentScoreField.Name     = "Likability";
            highestSentScoreField.Value    = StatsUtils.getTop3SentScoreUser();
            highestSentScoreField.IsInline = true;

            EmbedFieldBuilder mostUsedWordsField = new EmbedFieldBuilder();

            mostUsedWordsField.Name     = "Most Used Words";
            mostUsedWordsField.Value    = StatsUtils.getTop3Words();
            mostUsedWordsField.IsInline = true;

            EmbedFieldBuilder leastUsedWordsField = new EmbedFieldBuilder();

            leastUsedWordsField.Name     = "Least Used Words";
            leastUsedWordsField.Value    = StatsUtils.getBottom3Words();
            leastUsedWordsField.IsInline = true;

            EmbedFieldBuilder randomWordsField = new EmbedFieldBuilder();

            randomWordsField.Name     = "Random Sample";
            randomWordsField.Value    = StatsUtils.getRandomWords();
            randomWordsField.IsInline = true;

            emb.AddField(topReportsField);
            emb.AddField(topWField);
            emb.AddField(mostMsgUserField);
            emb.AddField(mostUsedCommandsField);
            emb.AddField(mostUsedWordsField);
            emb.AddField(leastUsedWordsField);
            emb.AddField(randomWordsField);
            emb.AddField(mostMentionedUserField);
            emb.AddField(highestSentScoreField);

            await Context.Channel.SendMessageAsync("", false, emb);
        }