private Task DelMsgOnCmd_Handler(IUserMessage msg, CommandInfo cmd) { var _ = Task.Run(async() => { try { if (!(msg.Channel is SocketTextChannel channel)) { return; } if (DeleteMessagesOnCommandChannels.TryGetValue(channel.Id, out var state)) { if (state) { await msg.DeleteAsync().ConfigureAwait(false); } //if state is false, that means do not do it } else if (DeleteMessagesOnCommand.Contains(channel.Guild.Id) && cmd.Name != "prune" && cmd.Name != "pick") { try { await msg.DeleteAsync().ConfigureAwait(false); } catch { } } } catch (Exception ex) { _log.Warn("Delmsgoncmd errored..."); _log.Warn(ex); } }); return(Task.CompletedTask); }
private Task DelMsgOnCmd_Handler(IUserMessage msg, CommandInfo cmd) { var _ = Task.Run(async() => { if (!(msg.Channel is SocketTextChannel channel)) { return; } //wat ?! if (DeleteMessagesOnCommandChannels.TryGetValue(channel.Id, out var state)) { if (state && cmd.Name != "prune" && cmd.Name != "pick") { _logService.AddDeleteIgnore(msg.Id); try { await msg.DeleteAsync().ConfigureAwait(false); } catch { } } //if state is false, that means do not do it } else if (DeleteMessagesOnCommand.Contains(channel.Guild.Id) && cmd.Name != "prune" && cmd.Name != "pick") { _logService.AddDeleteIgnore(msg.Id); try { await msg.DeleteAsync().ConfigureAwait(false); } catch { } } }); return(Task.CompletedTask); }
private static async Task DelMsgOnCmd_Handler(SocketUserMessage msg, CommandInfo cmd) { try { var channel = msg.Channel as SocketTextChannel; if (channel == null) { return; } if (DeleteMessagesOnCommand.Contains(channel.Guild.Id)) { await msg.DeleteAsync().ConfigureAwait(false); } } catch (Exception ex) { _log.Warn(ex, "Delmsgoncmd errored..."); } }
public async Task Delmsgoncmd() { bool enabled; using (var uow = DbHandler.UnitOfWork()) { var conf = uow.GuildConfigs.For(Context.Guild.Id, set => set); enabled = conf.DeleteMessageOnCommand = !conf.DeleteMessageOnCommand; await uow.CompleteAsync(); } if (enabled) { DeleteMessagesOnCommand.Add(Context.Guild.Id); await Context.Channel.SendConfirmAsync("✅ **Now automatically deleting successful command invokations.**").ConfigureAwait(false); } else { DeleteMessagesOnCommand.TryRemove(Context.Guild.Id); await Context.Channel.SendConfirmAsync("❗**Stopped automatic deletion of successful command invokations.**").ConfigureAwait(false); } }