diff --git a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs index e2a49b11..374b97d5 100644 --- a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs @@ -695,6 +695,8 @@ namespace NadekoBot.Modules.Administration logSetting.LogUserPresenceId = logSetting.LogVoicePresenceId = logSetting.LogVoicePresenceTTSId = (action.Value ? channel.Id : (ulong?)null); + + await uow.CompleteAsync().ConfigureAwait(false); } if (action.Value) await channel.SendMessageAsync("✅ Logging all events on this channel.").ConfigureAwait(false); diff --git a/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs b/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs index 583f0f05..2063a381 100644 --- a/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs +++ b/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs @@ -50,10 +50,16 @@ namespace NadekoBot.Modules.Administration { while (!token.IsCancellationRequested) { + var toSend = "🔄 " + Repeater.Message; await Task.Delay(Repeater.Interval, token).ConfigureAwait(false); + + var lastMsgInChannel = (await Channel.GetMessagesAsync(1)).FirstOrDefault(); + if (lastMsgInChannel.Id == oldMsg.Id) //don't send if it's the same message in the channel + continue; + if (oldMsg != null) try { await oldMsg.DeleteAsync(); } catch { } - try { oldMsg = await Channel.SendMessageAsync("🔄 " + Repeater.Message).ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); try { source.Cancel(); } catch { } } + try { oldMsg = await Channel.SendMessageAsync(toSend).ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); try { source.Cancel(); } catch { } } } } catch (OperationCanceledException) { }