Skip to content

机器人(Bot)

继承自 EventEmitter

此处介绍仅为基础介绍,已足够普通开发这使用,如需进阶(自行开发机器人适配器),可联 系开发者

属性(Attrs)

internal

  • 不同平台的机器人实例

get status():BotStatus

  • 机器人状态

options:BotOptions

  • 机器人配置

self_id:string}number

  • 机器人唯一标识

构造函数 constructor(public zhin:Zhin,public adapter:Adapter,options:BotOptions)

方法(Methods)

isOnline():boolean

  • 获取机器人是否在线状态

enable(plugin?:Plugin):this|boolean

  • 传plugin时,代表该机器人启用指定插件(默认会启用所有插件)
  • 不传任何参数时,代表启用该机器人

disable(plugin:Plugin):this:boolean

  • 传plugin时,代表该机器人禁用指定插件
  • 不传任何参数时,代表禁用该机器人

match(plugin:Plugin):boolean

  • 判断当前机器人是否启用指定插件

isMaster(session:Session):boolean

  • 会话发起者是否为zhin主人

isAdmin(session:Session):boolean

  • 会话发起者是否为zhin管理员

reply(session:Session,message:Fragment,quote?:boolean):MessageRet

  • 回复一个指定会话一条消息(quote为true会引用该会话)

sendMsg(target_id:string:number,target_type:MessageType,message:Fragment):MessageRet

  • 发送一条消息给指定类型的用户
  • MessageType可为gorupprivatediscuss(仅qq支持)、guild

start

启动机器人

配置文件 BotOptions

typescript
export type BotOptions<O = {}> = {
  quote_self?: boolean; // 回复消息是否自动引用
  self_id?: string | number; // 机器人唯一标识
  prefix?: string; // 指令调用时的前缀
  enable?: boolean; // 机器人是否启用
  master?: string | number; // 机器人主人账号
  disable_plugins?: string[]; // 禁言的插件名称数组
  admins?: (string | number)[]; // 管理员账号数组
} & O;

命名空间(Namespace)

typescript
export namespace Bot {
  // 默认配置文件
  export const defaultOptions: BotOptions = {
    quote_self: false,
    enable: true,
    disable_plugins: [],
    admins: [],
  };
  interface MsgBase {
    user_id: string | number;
    elements: Element[];
  }
  export interface GroupMsg extends MsgBase {
    group_id: string | number;
  }
  export interface PrivateMsg extends MsgBase {}
  export interface GuildMsg extends MsgBase {
    guild_id: string | number;
    channel_id: string | number;
  }
  export type Message = PrivateMsg | GroupMsg | GuildMsg;
}