Skip to content

模型类型

SDK 中使用的核心数据模型,位于 Luolan.QQBot.Models 命名空间。

Message

消息对象,包含消息内容和元数据。

csharp
public class Message
{
    public string Id { get; set; }             // 消息 ID
    public string Content { get; set; }         // 消息文本内容
    public string? ChannelId { get; set; }     // 子频道 ID(频道消息)
    public string? GuildId { get; set; }       // 频道 ID(频道消息)
    public string? GroupOpenId { get; set; }   // 群 OpenId(群消息)
    public User? Author { get; set; }          // 发送者
    public DateTime Timestamp { get; set; }    // 发送时间
    public int Seq { get; set; }               // 消息序号(群/C2C)
    // ...
}

User

用户信息。

csharp
public class User
{
    public string Id { get; set; }
    public string Username { get; set; }
    public string? Avatar { get; set; }
    // ...
}

Guild

频道信息。

csharp
public class Guild
{
    public string Id { get; set; }
    public string Name { get; set; }
    public string? Icon { get; set; }
    public string? OwnerId { get; set; }
    // ...
}

Channel

子频道信息。

csharp
public class Channel
{
    public string Id { get; set; }
    public string Name { get; set; }
    public int Type { get; set; }
    public string? GuildId { get; set; }
    // ...
}

Member

频道成员信息。

csharp
public class Member
{
    public User? User { get; set; }
    public string Nick { get; set; }
    public List<string> Roles { get; set; }
    public DateTime JoinedAt { get; set; }
    // ...
}

MessageMarkdown

Markdown 消息内容。

csharp
public class MessageMarkdown
{
    public string? CustomTemplateId { get; set; }
    public Dictionary<string, string[]>? Params { get; set; }
    public string? Content { get; set; }
}

Keyboard / ButtonGroup

键盘和按钮组。

csharp
public class Keyboard
{
    public List<ButtonGroup>? Rows { get; set; }
}

public class ButtonGroup
{
    public List<Button> Buttons { get; set; }
}

public class Button
{
    public string Id { get; set; }
    public ButtonRenderData RenderData { get; set; }
    public ButtonAction Action { get; set; }
}

public class ButtonRenderData
{
    public string Label { get; set; }
    public string? VisitedLabel { get; set; }
    public int Style { get; set; }
}

public class ButtonAction
{
    public int Type { get; set; }
    public ButtonPermission Permission { get; set; }
    public string Data { get; set; }
    public bool Enter { get; set; }
    public string? UnsupportTips { get; set; }
}

public class ButtonPermission
{
    public int Type { get; set; }
    public List<string>? SpecifyUserIds { get; set; }
    public List<string>? SpecifyRoleIds { get; set; }
}

Interaction

按钮点击互动数据。

csharp
public class Interaction
{
    public string Id { get; set; }
    public string UserOpenId { get; set; }
    public InteractionData? Data { get; set; }
    // ...
}

public class InteractionData
{
    public InteractionResolved? Resolved { get; set; }
}

public class InteractionResolved
{
    public string? ButtonId { get; set; }
}

SendMessageRequest

发送频道消息的请求对象。

csharp
public class SendMessageRequest
{
    public string? Content { get; set; }
    public MessageEmbed? Embed { get; set; }
    public string? Image { get; set; }
    public MessageMarkdown? Markdown { get; set; }
    public Keyboard? Keyboard { get; set; }
    public MessageReference? MessageReference { get; set; }
    public string? MsgId { get; set; }
}

SendGroupMessageRequest

发送群/C2C 消息的请求对象。

csharp
public class SendGroupMessageRequest
{
    public string? Content { get; set; }
    public int MsgType { get; set; }
    public MessageMarkdown? Markdown { get; set; }
    public MediaInfo? Media { get; set; }
    public Keyboard? Keyboard { get; set; }
    public string? MsgId { get; set; }
    public int MsgSeq { get; set; }
}

QQBotApiException

API 异常类,位于 Luolan.QQBot.Services

csharp
public class QQBotApiException : Exception
{
    public int Code { get; }        // API 错误码
    public string? TraceId { get; } // 追踪 ID
}

基于 MIT 协议发布