// Message was received private async Task OnMessageReceived(SocketMessage messageParam) { if (messageParam.Author.Username == _client.CurrentUser.Username && messageParam.Author.Discriminator == _client.CurrentUser.Discriminator) { return; } var message = messageParam as SocketUserMessage; if (message == null) { _logger.LogDebug("message was null"); return; } var channel = message.Channel as SocketGuildChannel; var prefix = String.Empty; if (channel != null) // Not a DM { prefix = await _servers.GetGuildPrefix(channel.Guild.Id); if (prefix == null) { prefix = _settings.DefaultPrefix; } var server = await _servers.GetServer(channel.Guild); await ServerHelper.CheckForServerInvites(message, server); if (server != null && server.ProfanityFilterMode != ProfanityFilterMode.FilterOff) { await ProfanityHelper.HandleProfanity(message, server, _apiService); } } var context = new SocketCommandContext(_client, message); int position = 0; if (message.HasStringPrefix(prefix, ref position) || message.HasMentionPrefix(_client.CurrentUser, ref position)) { if (message.Content.StartsWith("!d ")) { // Ignore Disboard bumps return; } _logger.LogInformation("Command received: {command}", message.Content); if (message.Author.IsBot) { _logger.LogDebug("Command ({command}) was sent by another bot, ignoring", message.Content); return; } await _commands.ExecuteAsync(context, position, _serviceProvider); } }
// Message was edited private async Task OnMessageUpated(Cacheable <IMessage, ulong> before, SocketMessage after, ISocketMessageChannel channelArg) { var message = after as SocketUserMessage; if (message == null || after.Author.Username == _client.CurrentUser.Username && after.Author.Discriminator == _client.CurrentUser.Discriminator) { return; } var channel = channelArg as SocketGuildChannel; if (channel != null) // Not a DM { var server = await _servers.GetServer(channel.Guild); await ServerHelper.CheckForServerInvites(after as SocketUserMessage, server); if (server != null && server.ProfanityFilterMode != ProfanityFilterMode.FilterOff) { await ProfanityHelper.HandleProfanity(message, server, _apiService); } } }