diff --git a/Lagrange.Core/Message/Entity/XmlEntity.cs b/Lagrange.Core/Message/Entity/XmlEntity.cs index 1b024150b..98bbf5ff9 100644 --- a/Lagrange.Core/Message/Entity/XmlEntity.cs +++ b/Lagrange.Core/Message/Entity/XmlEntity.cs @@ -10,19 +10,13 @@ public class XmlEntity : IMessageEntity { public string Xml { get; set; } - public int ServiceId {get;set;} + public int ServiceId { get; set; } = 35; - public XmlEntity() - { - Xml = ""; - ServiceId = 35; - } - - public XmlEntity(string xml,int serviceid = 35) - { - Xml = xml; - ServiceId = serviceid; - } + public XmlEntity() => Xml = ""; + + public XmlEntity(string xml) => Xml = xml; + + public XmlEntity(string xml, int serviceId) => (Xml, ServiceId) = (xml, serviceId); IEnumerable IMessageEntity.PackElement() { @@ -37,7 +31,7 @@ IEnumerable IMessageEntity.PackElement() } } }; - } + } IMessageEntity? IMessageEntity.UnpackElement(Elem elems) { diff --git a/Lagrange.Core/Message/MessageBuilder.cs b/Lagrange.Core/Message/MessageBuilder.cs index 7114fe8ba..5f0f27073 100644 --- a/Lagrange.Core/Message/MessageBuilder.cs +++ b/Lagrange.Core/Message/MessageBuilder.cs @@ -162,14 +162,15 @@ public MessageBuilder MultiMsg(params MessageChain[] chains) return this; } - + /// - /// Add a xml entity to the message chain (card message) + /// Add a xml entity (with custom serviceId) to the message chain (card message) /// /// The xml to be sent - public MessageBuilder Xml(string xml,int serviceid = 35) + /// The service id of the xml + public MessageBuilder Xml(string xml, int serviceId) { - var xmlEntity = new XmlEntity(xml,serviceid); + var xmlEntity = new XmlEntity(xml, serviceId); _chain.Add(xmlEntity); return this; diff --git a/Lagrange.OneBot/Message/Entity/XmlSegment.cs b/Lagrange.OneBot/Message/Entity/XmlSegment.cs index b2922a7bc..20f9de6f4 100644 --- a/Lagrange.OneBot/Message/Entity/XmlSegment.cs +++ b/Lagrange.OneBot/Message/Entity/XmlSegment.cs @@ -9,9 +9,9 @@ public partial class XmlSegment(string xml, int serviceid) { public XmlSegment() : this("", 35) { } - [JsonPropertyName("data")][CQProperty] public string Xml { get; set; } = xml; + [JsonPropertyName("data")] [CQProperty] public string Xml { get; set; } = xml; - [JsonPropertyName("service_id")][CQProperty] public int ServiceId { get; set; } = serviceid; + [JsonPropertyName("service_id")] [CQProperty] public int ServiceId { get; set; } = serviceid; } [SegmentSubscriber(typeof(XmlEntity), "xml")] @@ -19,13 +19,13 @@ public partial class XmlSegment : SegmentBase { public override void Build(MessageBuilder builder, SegmentBase segment) { - if (segment is XmlSegment xml) builder.Xml(xml.Xml,xml.ServiceId); + if (segment is XmlSegment xml) builder.Xml(xml.Xml, xml.ServiceId); } public override SegmentBase FromEntity(MessageChain chain, IMessageEntity entity) { if (entity is not XmlEntity xmlEntity) throw new ArgumentException("Invalid entity type."); - return new XmlSegment(xmlEntity.Xml,xmlEntity.ServiceId); + return new XmlSegment(xmlEntity.Xml, xmlEntity.ServiceId); } } \ No newline at end of file