internal static async Task UntrackMessage(TrackedMessage msg) { if (TrackedLogChannelMessages.Contains(msg)) { TrackedLogChannelMessages.Remove(msg); } else if (TrackedSettingsMessages.Contains(msg)) { TrackedSettingsMessages.Remove(msg); } else if (RandomMessages.Contains(msg)) { RandomMessages.Remove(msg); } if (!msg.IsDeleted) { try { await msg.SourceMessage.DeleteAsync(); } catch { } msg.IsDeleted = true; } }
internal static void AddRandomTracker(RestUserMessage msg, ulong time = 15) { var tMsg = new TrackedMessage(msg, 0); Timer t = new Timer(); async void handler(object sender, ElapsedEventArgs e) { t.Stop(); await UntrackMessage(tMsg); } t.StartTimer(handler, time * 1000); RandomMessages.Add(tMsg); }
internal static void AddSettingsTracker(RestUserMessage msg, ulong authorID) { var tMsg = new TrackedMessage(msg, authorID); Timer t = new Timer(); async void handler(object sender, ElapsedEventArgs e) { t.Stop(); await UntrackMessage(tMsg); } t.StartTimer(handler, 60000); TrackedSettingsMessages.Add(tMsg); }