private async Task MessageReceievedAsync(SocketMessage message) { if (message.Author.Id == _client.CurrentUser.Id) { return; } await DiscordChannel.CreateOrGetAsync(message.Channel); await DiscordMessage.CreateAsync(message); try { if (message.Content.StartsWith(triggerCharacter)) { var cmd = message.Content.Substring(1, message.Content.Length - 1).Split(' ').First(); switch (cmd) { case "ping": await message.Channel.SendMessageAsync("pong!"); break; case "test": break; case "csv": await CmdCsvAsync(message); break; case "stats": await CmdStatsAsync(message); break; case "quote": await Quotes.Execute(message); break; case "reload": if (message.Author.IsAdmin()) { var _db = new ApplicationDataContext(); _discordUsers = await _db.DiscordUser.ToListAsync(); _discordVoiceChannels = await _db.DiscordVoiceChannel.ToListAsync(); } else { await message.Channel.SendMessageAsync("You do not have permission to do that"); } break; default: await message.Channel.SendMessageAsync("Unrecognized Commaned"); break; } await Log.LogAsync(message.Author, $"Recieved: {message.Content}"); } } catch (Exception ex) { await message.Channel.SendMessageAsync("An Error Occured"); await Log.LogAsync(ex.Message + "\n" + ex.StackTrace); } }