Repeat won't repost if the last message is the same
This commit is contained in:
		@@ -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);
 | 
			
		||||
 
 | 
			
		||||
@@ -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) { }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user