From 91888c19a83af78ca86e76342150a58dd0b1d148 Mon Sep 17 00:00:00 2001 From: DarkRRb <177549718+DarkRRb@users.noreply.github.com> Date: Wed, 7 May 2025 15:42:20 +0800 Subject: [PATCH] [onebot] fix nullable --- Lagrange.OneBot/Database/MessageChainFormatter.cs | 3 ++- Lagrange.OneBot/Database/MessageRecord.cs | 6 ++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Lagrange.OneBot/Database/MessageChainFormatter.cs b/Lagrange.OneBot/Database/MessageChainFormatter.cs index 21230eb61..7e7a7e533 100644 --- a/Lagrange.OneBot/Database/MessageChainFormatter.cs +++ b/Lagrange.OneBot/Database/MessageChainFormatter.cs @@ -14,6 +14,7 @@ public class MessageChainFormatter : IMessagePackFormatter public void Serialize(ref MessagePackWriter writer, MessageChain? value, MessagePackSerializerOptions options) { - MessagePackSerializer.Serialize(ref writer, (MessageRecord?)value, options); + if (value == null) MessagePackSerializer.Serialize(ref writer, null as MessageRecord, options); + else MessagePackSerializer.Serialize(ref writer, (MessageRecord)value, options); } } \ No newline at end of file diff --git a/Lagrange.OneBot/Database/MessageRecord.cs b/Lagrange.OneBot/Database/MessageRecord.cs index 4f8ecd61c..ab1632419 100644 --- a/Lagrange.OneBot/Database/MessageRecord.cs +++ b/Lagrange.OneBot/Database/MessageRecord.cs @@ -72,7 +72,7 @@ public static int CalcMessageHash(ulong msgId, uint seq) return ((ushort)seq << 16) | (ushort)msgId; } - public static implicit operator MessageRecord?(MessageChain? chain) => chain == null ? null : new() + public static implicit operator MessageRecord(MessageChain chain) => new() { Id = CalcMessageHash(chain.MessageId, chain.Sequence), Type = chain.Type, @@ -92,10 +92,8 @@ MessageType.Temp or Entities = MessagePackSerializer.Serialize>(chain, OPTIONS) }; - public static implicit operator MessageChain?(MessageRecord? record) + public static implicit operator MessageChain(MessageRecord record) { - if (record == null) return null; - var chain = record.Type switch { MessageType.Group => new MessageChain(