mirror of
https://github.com/LLOneBot/LLOneBot.git
synced 2024-11-22 01:56:33 +00:00
177 lines
3.5 KiB
TypeScript
177 lines
3.5 KiB
TypeScript
import {AtType, RawMessage} from "../ntqqapi/types";
|
||
import {EventType} from "./event/OB11BaseEvent";
|
||
|
||
export interface OB11User {
|
||
user_id: number;
|
||
nickname: string;
|
||
remark?: string
|
||
}
|
||
|
||
export enum OB11UserSex {
|
||
male = "male",
|
||
female = "female",
|
||
unknown = "unknown"
|
||
}
|
||
|
||
export enum OB11GroupMemberRole {
|
||
owner = "owner",
|
||
admin = "admin",
|
||
member = "member",
|
||
}
|
||
|
||
export interface OB11GroupMember {
|
||
group_id: number
|
||
user_id: number
|
||
nickname: string
|
||
card?: string
|
||
sex?: OB11UserSex
|
||
age?: number
|
||
join_time?: number
|
||
last_sent_time?: number
|
||
level?: number
|
||
role?: OB11GroupMemberRole
|
||
title?: string
|
||
}
|
||
|
||
export interface OB11Group {
|
||
group_id: number
|
||
group_name: string
|
||
member_count?: number
|
||
max_member_count?: number
|
||
}
|
||
|
||
interface OB11Sender {
|
||
user_id: number,
|
||
nickname: string,
|
||
sex?: OB11UserSex,
|
||
age?: number,
|
||
card?: string, // 群名片
|
||
level?: string, // 群等级
|
||
role?: OB11GroupMemberRole
|
||
}
|
||
|
||
export enum OB11MessageType {
|
||
private = "private",
|
||
group = "group"
|
||
}
|
||
|
||
export interface OB11Message {
|
||
self_id?: number,
|
||
time: number,
|
||
message_id: number,
|
||
real_id: string,
|
||
user_id: number,
|
||
group_id?: number,
|
||
message_type: "private" | "group",
|
||
sub_type?: "friend" | "group" | "normal",
|
||
sender: OB11Sender,
|
||
message: OB11MessageData[],
|
||
raw_message: string,
|
||
font: number,
|
||
post_type?: EventType,
|
||
raw?: RawMessage
|
||
}
|
||
|
||
export interface OB11Return<DataType> {
|
||
status: string
|
||
retcode: number
|
||
data: DataType
|
||
message: string,
|
||
echo?: string, // ws调用api才有此字段
|
||
wording?: string, // go-cqhttp字段,错误信息
|
||
}
|
||
|
||
export enum OB11MessageDataType {
|
||
text = "text",
|
||
image = "image",
|
||
voice = "record",
|
||
at = "at",
|
||
reply = "reply",
|
||
json = "json",
|
||
face = "face",
|
||
node = "node" // 合并转发消息
|
||
}
|
||
|
||
export interface OB11MessageText {
|
||
type: OB11MessageDataType.text,
|
||
data: {
|
||
text: string, // 纯文本
|
||
}
|
||
}
|
||
|
||
interface OB11MessageFileBase {
|
||
data: {
|
||
file: string,
|
||
http_file?: string;
|
||
}
|
||
}
|
||
|
||
export interface OB11MessageImage extends OB11MessageFileBase {
|
||
type: OB11MessageDataType.image
|
||
}
|
||
|
||
export interface OB11MessageRecord extends OB11MessageFileBase {
|
||
type: OB11MessageDataType.voice
|
||
}
|
||
|
||
export interface OB11MessageAt {
|
||
type: OB11MessageDataType.at
|
||
data: {
|
||
qq: string | "all"
|
||
}
|
||
}
|
||
|
||
export interface OB11MessageReply {
|
||
type: OB11MessageDataType.reply
|
||
data: {
|
||
id: string
|
||
}
|
||
}
|
||
|
||
export interface OB11MessageFace {
|
||
type: OB11MessageDataType.face
|
||
data: {
|
||
id: string
|
||
}
|
||
}
|
||
|
||
export type OB11MessageMixType = OB11MessageData[] | string | OB11MessageData;
|
||
|
||
export interface OB11MessageNode {
|
||
type: OB11MessageDataType.node
|
||
data: {
|
||
id?: string
|
||
user_id?: number
|
||
nickname: string
|
||
content: OB11MessageMixType
|
||
}
|
||
}
|
||
|
||
export type OB11MessageData =
|
||
OB11MessageText |
|
||
OB11MessageFace |
|
||
OB11MessageAt | OB11MessageReply |
|
||
OB11MessageImage | OB11MessageRecord |
|
||
OB11MessageNode
|
||
|
||
export interface OB11PostSendMsg {
|
||
message_type?: "private" | "group"
|
||
user_id: string,
|
||
group_id?: string,
|
||
message: OB11MessageMixType;
|
||
messages?: OB11MessageMixType; // 兼容 go-cqhttp
|
||
}
|
||
|
||
export interface OB11Version {
|
||
app_name: "LLOneBot"
|
||
app_version: string
|
||
protocol_version: "v11"
|
||
}
|
||
|
||
|
||
export interface OB11Status {
|
||
online: boolean | null,
|
||
good: boolean
|
||
}
|
||
|