Repeat won't repost if the last message is the same

This commit is contained in:
Kwoth 2016-12-24 11:15:22 +01:00
parent 6cdb441584
commit ae10c92455
2 changed files with 9 additions and 1 deletions

View File

@ -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);

View File

@ -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) { }