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; } }
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); }
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); }