mark protocol on messages and fixed twitchlib detecting duplicates incorrectly

This commit is contained in:
Adam R Grey 2023-08-22 15:33:09 -04:00
parent da7078f535
commit 8c6087d557
2 changed files with 10 additions and 4 deletions

View File

@ -213,6 +213,7 @@ public class DiscordInterface
if (m == null) if (m == null)
{ {
m = new Message(); m = new Message();
m.Protocol = PROTOCOL;
_db.Messages.Add(m); _db.Messages.Add(m);
} }
m.Attachments = m.Attachments ?? new List<vassago.Models.Attachment>(); m.Attachments = m.Attachments ?? new List<vassago.Models.Attachment>();

View File

@ -92,9 +92,10 @@ public class TwitchInterface
private async void Client_OnWhisperReceivedAsync(object sender, OnWhisperReceivedArgs e) private async void Client_OnWhisperReceivedAsync(object sender, OnWhisperReceivedArgs e)
{ {
Console.WriteLine($"whisper#{e.WhisperMessage.Username}[{DateTime.Now}][{e.WhisperMessage.DisplayName} [id={e.WhisperMessage.Username}]][msg id: {e.WhisperMessage.MessageId}] {e.WhisperMessage.Message}"); Console.WriteLine($"whisper#{e.WhisperMessage.Username}[{DateTime.Now}][{e.WhisperMessage.DisplayName} [id={e.WhisperMessage.Username}]][msg id: {e.WhisperMessage.MessageId}] {e.WhisperMessage.Message}");
if (_db.Messages.Select(m => m.ExternalId == e.WhisperMessage.MessageId) != null) var old = _db.Messages.FirstOrDefault(m => m.ExternalId == e.WhisperMessage.MessageId && m.Protocol == PROTOCOL);
if (old != null)
{ {
Console.WriteLine("already seent it"); Console.WriteLine($"[whisperreceived]: {e.WhisperMessage.MessageId}? already seent it. Internal id: {old.Id}");
return; return;
} }
var m = UpsertMessage(e.WhisperMessage); var m = UpsertMessage(e.WhisperMessage);
@ -109,11 +110,13 @@ public class TwitchInterface
private async void Client_OnMessageReceivedAsync(object sender, OnMessageReceivedArgs e) private async void Client_OnMessageReceivedAsync(object sender, OnMessageReceivedArgs e)
{ {
Console.WriteLine($"#{e.ChatMessage.Channel}[{DateTime.Now}][{e.ChatMessage.DisplayName} [id={e.ChatMessage.Username}]][msg id: {e.ChatMessage.Id}] {e.ChatMessage.Message}"); Console.WriteLine($"#{e.ChatMessage.Channel}[{DateTime.Now}][{e.ChatMessage.DisplayName} [id={e.ChatMessage.Username}]][msg id: {e.ChatMessage.Id}] {e.ChatMessage.Message}");
if (_db.Messages.Select(m => m.ExternalId == e.ChatMessage.Id) != null) var old = _db.Messages.FirstOrDefault(m => m.ExternalId == e.ChatMessage.Id && m.Protocol == PROTOCOL);
if (old != null)
{ {
Console.WriteLine("already seent it"); Console.WriteLine($"[messagereceived]: {e.ChatMessage.Id}? already seent it");
return; return;
} }
Console.WriteLine($"[messagereceived]: {e.ChatMessage.Id}? new to me.");
var m = UpsertMessage(e.ChatMessage); var m = UpsertMessage(e.ChatMessage);
m.MentionsMe = Regex.IsMatch(e.ChatMessage.Message?.ToLower(), $"@{e.ChatMessage.BotUsername.ToLower()}\\b") || m.MentionsMe = Regex.IsMatch(e.ChatMessage.Message?.ToLower(), $"@{e.ChatMessage.BotUsername.ToLower()}\\b") ||
e.ChatMessage.ChatReply?.ParentUserLogin == e.ChatMessage.BotUsername; e.ChatMessage.ChatReply?.ParentUserLogin == e.ChatMessage.BotUsername;
@ -217,6 +220,7 @@ public class TwitchInterface
if (m == null) if (m == null)
{ {
m = new Message(); m = new Message();
m.Protocol = PROTOCOL;
_db.Messages.Add(m); _db.Messages.Add(m);
m.Timestamp = (DateTimeOffset)DateTime.SpecifyKind(DateTime.UtcNow, DateTimeKind.Utc); m.Timestamp = (DateTimeOffset)DateTime.SpecifyKind(DateTime.UtcNow, DateTimeKind.Utc);
} }
@ -237,6 +241,7 @@ public class TwitchInterface
if (m == null) if (m == null)
{ {
m = new Message(); m = new Message();
m.Protocol = PROTOCOL;
_db.Messages.Add(m); _db.Messages.Add(m);
m.Timestamp = (DateTimeOffset)DateTime.SpecifyKind(DateTime.UtcNow, DateTimeKind.Utc); m.Timestamp = (DateTimeOffset)DateTime.SpecifyKind(DateTime.UtcNow, DateTimeKind.Utc);
} }