WechatSharp/Commands/OnReceiveWeChatMessage.cs

22 lines
581 B
C#

namespace WeChatSharp.Commands;
public interface IReceiveWeChatMessage
{
string OpenId { get; }
string UserName { get; }
WeChatUserInfo UserInfo { get; }
string Context { get; }
}
public readonly struct OnReceiveWeChatMessage:IReceiveWeChatMessage
{
public string OpenId => UserInfo.OpenId;
public string UserName => UserInfo switch
{
var x when string.IsNullOrEmpty(x.NickName) is false=>x.NickName,
var x when string.IsNullOrEmpty(x.Remark) is false=>x.Remark,
_ => OpenId,
};
public WeChatUserInfo UserInfo { get; init; }
public string Context { get; init; }
}