Code Monkey home page Code Monkey logo

Comments (5)

Executor-Cheng avatar Executor-Cheng commented on August 18, 2024

应该是少标了一个JsonConverterAttribute(I)StrangerMessageEventArgs.Sender上边

from mirai-csharp.

dellbeat avatar dellbeat commented on August 18, 2024

直接添加吗 还是你这边再改 我反正还要测其他的地方 不是很着急这里

from mirai-csharp.

Executor-Cheng avatar Executor-Cheng commented on August 18, 2024

你可以自己先改着, 还可以顺便开PR(
今天坐一天车了太累了, 我就鸽了, 明天再说

using System.Text.Json.Serialization;
using Mirai.CSharp.HttpApi.Models.ChatMessages;
using Mirai.CSharp.HttpApi.Parsers.Attributes;
using Mirai.CSharp.HttpApi.Utility.JsonConverters;
using ISharedJsonElementStrangerMessageEventArgs = Mirai.CSharp.Models.EventArgs.IStrangerMessageEventArgs<System.Text.Json.JsonElement>;
using ISharedStrangerInfo = Mirai.CSharp.Models.IStrangerInfo;
using ISharedStrangerMessageEventArgs = Mirai.CSharp.Models.EventArgs.IStrangerMessageEventArgs;

namespace Mirai.CSharp.HttpApi.Models.EventArgs.Stranger
{
    /// <summary>
    /// 提供临时消息的相关信息接口。继承自 <see cref="ISharedJsonElementStrangerMessageEventArgs"/> 和 <see cref="ICommonMessageEventArgs"/>
    /// </summary>
    [MappableMiraiHttpMessageKey("StrangerMessage")]
    public interface IStrangerMessageEventArgs : ISharedJsonElementStrangerMessageEventArgs, ICommonMessageEventArgs
    {
        [JsonConverter(typeof(ChangeTypeJsonConverter<StrangerInfo, IStrangerInfo>))]
        [JsonPropertyName("sender")]
        new IStrangerInfo Sender { get; }

#if !NETSTANDARD2_0
        [JsonConverter(typeof(ChangeTypeJsonConverter<StrangerInfo, ISharedStrangerInfo>))]
        [JsonPropertyName("sender")]
        ISharedStrangerInfo ISharedStrangerMessageEventArgs.Sender => Sender;
#endif
    }

    public class StrangerMessageEventArgs : CommonMessageEventArgs, IStrangerMessageEventArgs
    {
        [JsonConverter(typeof(ChangeTypeJsonConverter<StrangerInfo, IStrangerInfo>))]
        [JsonPropertyName("sender")]
        public IStrangerInfo Sender { get; set; } = null!;

        public StrangerMessageEventArgs()
        {

        }

        public StrangerMessageEventArgs(IChatMessage[] chain, IStrangerInfo sender) : base(chain)
        {
            Sender = sender;
        }

#if NETSTANDARD2_0
        [JsonConverter(typeof(ChangeTypeJsonConverter<StrangerInfo, ISharedStrangerInfo>))]
        [JsonPropertyName("sender")]
        ISharedStrangerInfo ISharedStrangerMessageEventArgs.Sender => Sender;
#endif
    }
}

from mirai-csharp.

dellbeat avatar dellbeat commented on August 18, 2024

我研究一下(实际上刚刚看不太懂hhh)

from mirai-csharp.

dellbeat avatar dellbeat commented on August 18, 2024

OK 修复了 我尝试提个pr

from mirai-csharp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.