public static void getCounter(ulong GuildId, ulong UserId, Databases.GuildUserDatabase.Counters counter) { switch (counter) { case Databases.GuildUserDatabase.Counters.Commands: break; case Databases.GuildUserDatabase.Counters.Images: break; case Databases.GuildUserDatabase.Counters.Links: break; case Databases.GuildUserDatabase.Counters.Messages: break; case Databases.GuildUserDatabase.Counters.YoutubeLinks: break; } }
private async Task HandleCommands(Discord.WebSocket.SocketMessage arg) { //Handle Commands right here var message = arg as SocketUserMessage; if (message == null) { return; } //Track where the command prefix ends and where the command begins int argPos = 0; //Check if author is a bot if (message.Author.IsBot) { return; } //Determine if the message is a command or a mention if (!(message.HasCharPrefix(CoreProgram.prefix, ref argPos) || message.HasMentionPrefix(_client.CurrentUser, ref argPos))) { //check if message is a private message if (message.Channel.Name == $"@{message.Author.Username}#{message.Author.DiscriminatorValue}") { //Case private message string text = ""; text = message.Attachments.Count > 0 ? $"[{message.Channel.Name}|{message.Author.Username}] whispered: {message.Content} 'FILE ATTACHED'" : $"[{message.Channel.Name}|{message.Author.Username}] whispered: {message.Content}"; //Send message to the logHandler await _errorHandler._client_Log(new LogMessage(LogSeverity.Warning, "DM Chat", text)); } else { //Create SocketGuildUser var chat_context = arg.Author as SocketGuildUser; //Case public message string text = ""; text = message.Attachments.Count > 0 ? $"[{chat_context.Guild.Name}|{message.Channel.Name}|{message.Author.Username}] wrote: {message.Content} 'FILE ATTACHED'" : $"[{chat_context.Guild.Name}|{message.Channel.Name}|{message.Author.Username}] wrote: {message.Content}"; //Check the type of the message Databases.GuildUserDatabase.Counters messageType = Databases.GuildUserDatabase.CheckMessageType(message.Content); //increase statistic counter for the user Databases.GuildUserDatabase.IncreaseCount(chat_context, chat_context.Guild.Id, messageType); //Send message to the logHandler await _errorHandler._client_Log(new LogMessage(LogSeverity.Debug, "Discord Chat", text)); chat_context = null; } return; } ; //Create CommandContext var context = new SocketCommandContext(_client, message); /* * CHECK IF THE COMMAND IS ENABLE ON THE CONTEXT SERVER */ //Execute the Command var result = await _commands.ExecuteAsync(context, argPos, _services); //If command is not private - increase counter if (!context.IsPrivate) { Databases.GuildUserDatabase.IncreaseCount(context.User, context.Guild.Id, Databases.GuildUserDatabase.Counters.Commands, context.Message.Content); } //Send commanmd to the logHandler await _errorHandler._client_Log(new LogMessage(LogSeverity.Verbose, "Discord Chat", $"[{message.Channel.Name}|{message.Author.Username}] Command: {message.Content}")); //If error occures - direct them to the ErrorHandler if (!result.IsSuccess) { await _errorHandler.HandleCommandError(context, result, "HandleCommands"); } }