UNPKG

yunzai-micro-plugin

Version:

Yunzai开发管理面板

292 lines (282 loc) 4.91 kB
import { Sendable, type GroupMessage } from 'icqq' import { Client } from 'icqq' import { EventMap, PrivateMessageEvent, DiscussMessageEvent } from 'icqq' // 可去除的keys type OmitKeys<T, K extends keyof T> = { [Key in keyof T as Key extends K ? never : Key]: T[Key] } // 去除 'message.group' 键 type PersonWithoutEmail = OmitKeys<EventMap, 'message.group' | 'message'> // 扩展 export interface EventEmun extends PersonWithoutEmail { 'message.group': (event: EventType) => void 'message': ( event: EventType ) => void | PrivateMessageEvent | DiscussMessageEvent } // 插件类基础参数 export type PluginSuperType = { /** * @param name 插件名称 * @deprecated 已废弃 */ name?: string /** * @param dsc 插件描述 * @deprecated 已废弃 */ dsc?: string /** * namespace,设置handler时建议设置 * @deprecated 已废弃 */ namespace?: any /** * @param handler handler配置 * @param handler.key handler支持的事件key * @param handler.fn handler的处理func * @deprecated 已废弃 */ handler?: any /** * task * task.name 定时任务名称 * task.cron 定时任务cron表达式 * task.fnc 定时任务方法名 * task.log false时不显示执行日志 * @deprecated 已废弃 */ task?: any /** * 优先级 */ priority?: number /** * 事件 */ event?: keyof EventEmun /** * rule * rule.reg 命令正则 * rule.fnc 命令执行方法 * rule.event 执行事件,默认message * rule.log false时不显示执行日志 * rule.permission 权限 master,owner,admin,all */ rule?: RuleType } // export type RuleType = { /** * 正则 */ reg?: RegExp | string /** * 函数名 */ fnc?: string /** * 事件 */ event?: keyof EventEmun /** * 是否打印log */ log?: boolean /** * 权限 */ permission?: 'master' | 'owner' | 'admin' | 'all' }[] /** * 消息事件体 */ export interface EventType extends GroupMessage { /** * 支持扩展属性 */ [key: string]: any /** * 'group' | 'private' * @deprecated 已废弃 */ message_type: any /** * 是否是机器人主人 */ isMaster: boolean /** * 是否是机器人管理员 */ // isAdmin: boolean; /** * 是否是群里 */ isGroup: boolean /** * 是否是群管理 */ // isGroupAdmin:boolean /** * 是私聊 */ isPrivate: boolean /** * 是频道 */ isGuild: boolean /** * 用户名 */ user_id: number /** * 用户名 */ user_name: string /** * 用户头像 */ user_avatar: string /** * 用户消息 */ msg: string /** * 图片 * @deprecated 已废弃 */ img: string[] /** * 群号 */ group_id: number /** * 群名 */ group_name: string /** * 群头像 */ group_avatar: string /** * 是否存在at */ at?: any /** * 是否at了机器人 */ atBot: any /** * 携带的文件 */ file: any /** * 被执行的地址 */ logText: string /** * 被执行的方法 */ logFnc: string /** * 消息发送 * @param arg * @returns */ reply: ( msg: Sendable, quote?: boolean, data?: { recallMsg?: number at?: any } ) => Promise<any> /** * * 这是被重置的了的reply * 不可使用 * @deprecated 已废弃 */ replyNew?: any /** * */ /** * @deprecated 已废弃 */ notice_type: any /** * @deprecated 已废弃 */ group: { /** * @deprecated 已废弃 */ is_owner: any /** * @deprecated 已废弃 */ recallMsg: (...arg: any[]) => any /** * @deprecated 已废弃 */ getMemberMap: any /** * @deprecated 已废弃 */ quit: any /** * @deprecated 已废弃 */ mute_left: any /** * @deprecated 已废弃 */ pickMember: any /** * @deprecated 已废弃 */ sendMsg: any /** * @deprecated 已废弃 */ name: any /** * @deprecated 已废弃 */ makeForwardMsg: any } /** * @deprecated 已废弃 */ bot: typeof Client.prototype /** * * @deprecated 已废弃 */ approve: any /** * * @deprecated 已废弃 */ member: any /** * * @deprecated 已废弃 */ self_id?: any /** * * @deprecated 已废弃 */ detail_type?: any /** * * @deprecated 已废弃 */ hasAlias?: any /** * @deprecated 已废弃 */ friend?: any }