Esempio n. 1
0
        public void ProcessMessage(SocketUser user, BotMessageType type)
        {
            try
            {
                var guildUser = user as SocketGuildUser;

                DatabaseManager.AddCommandStatistic(type, guildUser.Id);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, ex.Message);
            }

            /*
             * if (!Program.BotStats.DiscordUsers.Any(i => i.DiscordId == user.Id))
             * {
             *  Program.BotStats.DiscordUsers.Add(new Stats.DiscordUser()
             *  {
             *      DiscordId = guildUser.Id,
             *      DiscordDiscriminator = guildUser.DiscriminatorValue,
             *      DiscordName = guildUser.Username,
             *      ServerUserName = guildUser.Nickname ?? guildUser.Username, // User Nickname -> Update
             *      Stats = new Stats.UserStats()
             *  });
             * }
             *
             * var statUser = Program.BotStats.DiscordUsers.Single(i => i.DiscordId == user.Id);
             *
             * if (guildUser != null && statUser.ServerUserName != guildUser.Nickname)
             * {
             *  // To update username changes
             *  statUser.ServerUserName = guildUser.Nickname ?? guildUser.Username;
             * }
             *
             * // To prevent stats format from breaking
             * statUser.ServerUserName = statUser.ServerUserName.Replace("*", "").Replace("~", "").Replace("|", "");
             * statUser.DiscordName = statUser.DiscordName.Replace("*", "").Replace("~", "").Replace("|", "");
             *
             * switch (type)
             * {
             *  case BotMessageType.Neko:
             *      statUser.Stats.TotalNeko++;
             *      break;
             *  case BotMessageType.Search:
             *      statUser.Stats.TotalSearch++;
             *      break;
             *  case BotMessageType.NekoGif:
             *      statUser.Stats.TotalNekoGif++;
             *      break;
             *  case BotMessageType.Holo:
             *      statUser.Stats.TotalHolo++;
             *      break;
             *  case BotMessageType.Waifu:
             *      statUser.Stats.TotalWaifu++;
             *      break;
             *  case BotMessageType.Baka:
             *      statUser.Stats.TotalBaka++;
             *      break;
             *  case BotMessageType.Smug:
             *      statUser.Stats.TotalSmug++;
             *      break;
             *  case BotMessageType.Fox:
             *      statUser.Stats.TotalFox++;
             *      break;
             *  case BotMessageType.Avatar:
             *      statUser.Stats.TotalAvatar++;
             *      break;
             *  case BotMessageType.NekoAvatar:
             *      statUser.Stats.TotalNekoAvatar++;
             *      break;
             *  case BotMessageType.Wallpaper:
             *      statUser.Stats.TotalWallpaper++;
             *      break;
             *  case BotMessageType.Animalears:
             *      statUser.Stats.TotalAnimalears++;
             *      break;
             *  case BotMessageType.Foxgirl:
             *      statUser.Stats.TotalFoxgirl++;
             *      break;
             *  default:
             *      break;
             * }
             *
             * statUser.Stats.TotalCommands++;
             *
             * if (LastUpdate < DateTime.Now.AddSeconds(-30))
             * {
             *  LastUpdate = DateTime.Now;
             *  Program.SaveStats();
             * }*/
        }