UNPKG

koishi-plugin-adapter-onebot

Version:
482 lines (481 loc) 17.3 kB
import { Dict } from 'koishi'; import { BaseBot, CQCode } from './bot'; export interface Response { status: string; retcode: number; data: any; echo?: number; } export interface MessageId { message_id: number; } export interface AccountInfo { user_id: number; tiny_id?: string; nickname: string; } export interface QidianAccountInfo { master_id: number; ext_name: string; create_time: number; } export interface StrangerInfo extends AccountInfo { sex: 'male' | 'female' | 'unknown'; age: number; } export interface TalkativeMemberInfo extends AccountInfo { avatar: string; day_count: number; } export type GroupRole = 'member' | 'admin' | 'owner'; export type HonorType = 'talkative' | 'performer' | 'legend' | 'strong_newbie' | 'emotion'; export interface HonoredMemberInfo { avatar: string; description: string; } export interface HonorInfo { current_talkative: TalkativeMemberInfo; talkative_list: HonoredMemberInfo[]; performer_list: HonoredMemberInfo[]; legend_list: HonoredMemberInfo[]; strong_newbie_list: HonoredMemberInfo[]; emotion_list: HonoredMemberInfo[]; } export interface SenderInfo extends StrangerInfo { area?: string; level?: string; title?: string; role?: GroupRole; card?: string; } export interface Message extends MessageId { real_id?: number; time: number; message_seq: number; message_type: 'private' | 'group' | 'guild'; sender: SenderInfo; group_id?: number; guild_id?: string; channel_id?: string; message: string | CQCode[]; anonymous?: AnonymousInfo; } export interface AnonymousInfo { id: number; name: string; flag: string; } export type RecordFormat = 'mp3' | 'amr' | 'wma' | 'm4a' | 'spx' | 'ogg' | 'wav' | 'flac'; export type DataDirectory = 'image' | 'record' | 'show' | 'bface'; export interface FriendInfo extends AccountInfo { remark: string; } export interface UnidirectionalFriendInfo extends AccountInfo { source: string; } export interface GroupBase { group_id: number; group_name: string; } export interface GroupInfo extends GroupBase { member_count: number; max_member_count: number; } export interface GroupMemberInfo extends SenderInfo { card_changeable: boolean; group_id: number; join_time: number; last_sent_time: number; title_expire_time: number; unfriendly: boolean; } export interface Credentials { cookies: string; csrf_token: number; } export interface ImageInfo { file: string; } export interface RecordInfo { file: string; } export interface VersionInfo { app_name?: string; app_version?: string; app_full_name?: string; protocol_version?: string; coolq_edition?: 'air' | 'pro'; coolq_directory?: string; plugin_version?: string; plugin_build_number?: number; plugin_build_configuration?: 'debug' | 'release'; version?: string; go_cqhttp?: boolean; runtime_version?: string; runtime_os?: string; protocol?: string; } export interface ImageInfo { size?: number; filename?: string; url?: string; } export interface ForwardMessage { sender: AccountInfo; time: number; content: string; } export interface EssenceMessage extends MessageId { sender_id: number; sender_nick: string; sender_time: number; operator_id: number; operator_nick: string; operator_time: number; } export interface VipInfo extends AccountInfo { level: number; level_speed: number; vip_level: number; vip_growth_speed: number; vip_growth_total: string; } export interface GroupNotice { notice_id: string; sender_id: number; publish_time: number; message: { text: string; images: GroupNoticeImage[]; }; } export interface GroupNoticeImage { height: string; width: string; id: string; } export interface Statistics { packet_received: number; packet_sent: number; packet_lost: number; message_received: number; message_sent: number; disconnect_times: number; lost_times: number; } export interface StatusInfo { app_initialized: boolean; app_enabled: boolean; plugins_good: boolean; app_good: boolean; online: boolean; good: boolean; stat: Statistics; } export interface TextDetection { text: string; confidence: string; coordinates: any; } export interface OcrResult { language: string; texts: TextDetection[]; } export interface GroupRequest extends GroupBase { request_id: number; invitor_uin: number; invitor_nick: string; checked: boolean; actor: number; } export interface InvitedRequest extends GroupRequest { } export interface JoinRequest extends GroupRequest { message: string; } export interface GroupSystemMessageInfo { invited_qequests: InvitedRequest[]; join_requests: JoinRequest[]; } export interface GroupFileSystemInfo { file_count: number; limit_count: number; used_space: number; total_space: number; } export interface GroupFile { file_id: string; file_name: string; busid: number; file_size: number; upload_time: number; dead_time: number; modify_time: number; download_time: number; uploader: number; uploader_name: string; } export interface GroupFolder { folder_id: string; folder_name: string; create_time: number; creator: number; creator_name: string; total_file_count: number; } export interface GroupFileList { files: GroupFile[]; folders: GroupFolder[]; } export interface AtAllRemain { can_at_all: boolean; remain_at_all_count_for_group: number; remain_at_all_count_for_uin: number; } export interface Device { app_id: number; device_name: string; device_kind: string; } export interface ModelVariant { model_show: string; need_pay: boolean; } export declare enum SafetyLevel { safe = 0, unknown = 1, danger = 2 } export interface GuildServiceProfile { nickname: string; tiny_id: string; avatar_url: string; } export interface GuildBaseInfo { guild_id: string; guild_name: string; } export interface GuildInfo extends GuildBaseInfo { guild_display_id: string; } export interface GuildMeta extends GuildBaseInfo { guild_profile: string; create_time: number; max_member_count: number; max_robot_count: number; max_admin_count: number; member_count: number; owner_id: string; } export interface ChannelInfo { owner_guild_id: string; channel_id: string; channel_type: number; channel_name: string; create_time: number; creator_id: string; creator_tiny_id: string; talk_permission: number; visible_type: number; current_slow_mode: number; slow_modes: SlowModeInfo[]; } export interface SlowModeInfo { slow_mode_key: number; slow_mode_text: string; speak_frequency: number; slow_mode_circle: number; } export interface GuildMemberListData { members: GuildMemberInfo[]; finished: boolean; next_token: string; } export interface GuildMemberRole { role_id: string; role_name: string; } export interface GuildMemberInfo extends GuildMemberRole { tiny_id: string; title: string; nickname: string; role: number; } export interface GuildMemberProfile { tiny_id: string; nickname: string; avatar_url: string; join_time: number; roles: GuildMemberRole[]; } export interface ReactionInfo { emoji_id: string; emoji_index: number; emoji_type: number; emoji_name: string; count: number; clicked: boolean; } export interface Payload extends Message { time: number; self_id: number; self_tiny_id?: string; post_type: string; request_type: string; notice_type: string; meta_event_type: string; honor_type: string; sub_type: string; message_id: number; user_id: number; target_id: number; operator_id: number; raw_message: string; font: number; comment: string; flag: string; old_info: ChannelInfo; new_info: ChannelInfo; channel_info: ChannelInfo; current_reactions: ReactionInfo[]; file: File; } export interface File { name: string; size: number; url: string; } type id = string | number; export interface Internal { sendPrivateMsg(user_id: id, message: string | readonly CQCode[], auto_escape?: boolean): Promise<number>; sendPrivateMsgAsync(user_id: id, message: string | readonly CQCode[], auto_escape?: boolean): Promise<void>; sendGroupMsg(group_id: id, message: string | readonly CQCode[], auto_escape?: boolean): Promise<number>; sendGroupMsgAsync(group_id: id, message: string | readonly CQCode[], auto_escape?: boolean): Promise<void>; sendGroupForwardMsg(group_id: id, messages: readonly CQCode[]): Promise<number>; sendGroupForwardMsgAsync(group_id: id, messages: readonly CQCode[]): Promise<void>; sendPrivateForwardMsg(user_id: id, messages: readonly CQCode[]): Promise<number>; sendPrivateForwardMsgAsync(user_id: id, messages: readonly CQCode[]): Promise<void>; deleteMsg(message_id: id): Promise<void>; deleteMsgAsync(message_id: id): Promise<void>; setEssenceMsg(message_id: id): Promise<void>; setEssenceMsgAsync(message_id: id): Promise<void>; deleteEssenceMsg(message_id: id): Promise<void>; deleteEssenceMsgAsync(message_id: id): Promise<void>; markMsgAsRead(message_id: id): Promise<void>; sendLike(user_id: id, times?: number): Promise<void>; sendLikeAsync(user_id: id, times?: number): Promise<void>; sendGroupSign(group_id: id): Promise<void>; sendGroupSignAsync(group_id: id): Promise<void>; getMsg(message_id: id): Promise<Message>; getForwardMsg(message_id: id): Promise<ForwardMessage[]>; getEssenceMsgList(group_id: id): Promise<EssenceMessage[]>; getWordSlices(content: string): Promise<string[]>; ocrImage(image: string): Promise<OcrResult>; getGroupMsgHistory(group_id: id, message_seq?: number): Promise<{ messages: Message[]; }>; deleteFriend(user_id: id): Promise<void>; deleteFriendAsync(user_id: id): Promise<void>; deleteUnidirectionalFriend(user_id: id): Promise<void>; deleteUnidirectionalFriendAsync(user_id: id): Promise<void>; setFriendAddRequest(flag: string, approve: boolean, remark?: string): Promise<void>; setFriendAddRequestAsync(flag: string, approve: boolean, remark?: string): Promise<void>; setGroupAddRequest(flag: string, subType: 'add' | 'invite', approve: boolean, reason?: string): Promise<void>; setGroupAddRequestAsync(flag: string, subType: 'add' | 'invite', approve: boolean, reason?: string): Promise<void>; setGroupKick(group_id: id, user_id: id, reject_add_request?: boolean): Promise<void>; setGroupKickAsync(group_id: id, user_id: id, reject_add_request?: boolean): Promise<void>; setGroupBan(group_id: id, user_id: id, duration?: number): Promise<void>; setGroupBanAsync(group_id: id, user_id: id, duration?: number): Promise<void>; setGroupWholeBan(group_id: id, enable?: boolean): Promise<void>; setGroupWholeBanAsync(group_id: id, enable?: boolean): Promise<void>; setGroupAdmin(group_id: id, user_id: id, enable?: boolean): Promise<void>; setGroupAdminAsync(group_id: id, user_id: id, enable?: boolean): Promise<void>; setGroupAnonymous(group_id: id, enable?: boolean): Promise<void>; setGroupAnonymousAsync(group_id: id, enable?: boolean): Promise<void>; setGroupCard(group_id: id, user_id: id, card?: string): Promise<void>; setGroupCardAsync(group_id: id, user_id: id, card?: string): Promise<void>; setGroupLeave(group_id: id, is_dismiss?: boolean): Promise<void>; setGroupLeaveAsync(group_id: id, is_dismiss?: boolean): Promise<void>; setGroupSpecialTitle(group_id: id, user_id: id, special_title?: string, duration?: number): Promise<void>; setGroupSpecialTitleAsync(group_id: id, user_id: id, special_title?: string, duration?: number): Promise<void>; setGroupName(group_id: id, name: string): Promise<void>; setGroupNameAsync(group_id: id, name: string): Promise<void>; setGroupPortrait(group_id: id, file: string, cache?: boolean): Promise<void>; setGroupPortraitAsync(group_id: id, file: string, cache?: boolean): Promise<void>; getGroupAtAllRemain(group_id: id): Promise<AtAllRemain>; sendGroupNotice(group_id: id, content: string, image?: string, pinned?: id, confirm_required?: id): Promise<void>; sendGroupNoticeAsync(group_id: id, content: string, image?: string, pinned?: id, confirm_required?: id): Promise<void>; getGroupNotice(group_id: id): Promise<GroupNotice[]>; delGroupNotice(group_id: id, notice_id: id): Promise<void>; getLoginInfo(): Promise<AccountInfo>; qidianGetLoginInfo(): Promise<QidianAccountInfo>; setQqProfile(nickname: string, company: string, email: string, college: string, personal_note: string): Promise<void>; setQqProfileAsync(nickname: string, company: string, email: string, college: string, personal_note: string): Promise<void>; setQqAvatar(file: string): Promise<void>; setOnlineStatus(status: string, extStatus: string, batteryStatus: string): Promise<void>; getVipInfo(): Promise<VipInfo>; getStrangerInfo(user_id: id, no_cache?: boolean): Promise<StrangerInfo>; getFriendList(): Promise<FriendInfo[]>; getUnidirectionalFriendList(): Promise<UnidirectionalFriendInfo[]>; getGroupInfo(group_id: id, no_cache?: boolean): Promise<GroupInfo>; getGroupList(no_cache?: boolean): Promise<GroupInfo[]>; getGroupMemberInfo(group_id: id, user_id: id, no_cache?: boolean): Promise<GroupMemberInfo>; getGroupMemberList(group_id: id, no_cache?: boolean): Promise<GroupMemberInfo[]>; getGroupHonorInfo(group_id: id, type: HonorType): Promise<HonorInfo>; getGroupSystemMsg(): Promise<GroupSystemMessageInfo>; getGroupFileSystemInfo(group_id: id): Promise<GroupFileSystemInfo>; getGroupRootFiles(group_id: id): Promise<GroupFileList>; getGroupFilesByFolder(group_id: id, folder_id: string): Promise<GroupFileList>; getGroupFileUrl(group_id: id, file_id: string, busid: number): Promise<string>; downloadFile(url: string, headers?: string | readonly string[], thread_count?: number): Promise<string>; uploadPrivateFile(user_id: id, file: string, name: string): Promise<void>; uploadGroupFile(group_id: id, file: string, name: string, folder?: string): Promise<void>; createGroupFileFolder(group_id: id, folder_id: string, name: string): Promise<void>; deleteGroupFolder(group_id: id, folder_id: string): Promise<void>; deleteGroupFile(group_id: id, folder_id: string, file_id: string, busid: number): Promise<void>; getOnlineClients(no_cache?: boolean): Promise<Device[]>; checkUrlSafely(url: string): Promise<SafetyLevel>; getModelShow(model: string): Promise<ModelVariant[]>; setModelShow(model: string, model_show: string): Promise<void>; getCookies(domain?: string): Promise<string>; getCsrfToken(): Promise<number>; getCredentials(domain?: string): Promise<Credentials>; getRecord(file: string, out_format: RecordFormat, full_path?: boolean): Promise<RecordInfo>; getImage(file: string): Promise<ImageInfo>; canSendImage(): Promise<boolean>; canSendRecord(): Promise<boolean>; getStatus(): Promise<StatusInfo>; getVersionInfo(): Promise<VersionInfo>; setRestart(delay?: number): Promise<void>; reloadEventFilter(): Promise<void>; cleanCache(): Promise<void>; getGuildServiceProfile(): Promise<GuildServiceProfile>; getGuildList(): Promise<GuildInfo[]>; getGuildMetaByGuest(guild_id: id): Promise<GuildMeta>; getGuildChannelList(guild_id: id, no_cache: boolean): Promise<ChannelInfo[]>; getGuildMemberList(guild_id: id, next_token?: string): Promise<GuildMemberListData>; getGuildMemberProfile(guild_id: id, user_id: id): Promise<GuildMemberProfile>; sendGuildChannelMsg(guild_id: id, channel_id: id, message: string | readonly CQCode[]): Promise<number>; uploadImage(file: string): Promise<string>; getPrivateFileUrl(user_id: id, file_id: string, file_hash?: string): Promise<string>; moveGroupFile(group_id: id, file_id: string, parent_directory: string, target_directory: string): Promise<void>; deleteGroupFileFolder(group_id: id, folder_id: string): Promise<void>; renameGroupFileFolder(group_id: id, folder_id: string, new_folder_name: string): Promise<void>; } export declare class TimeoutError extends Error { constructor(args: Dict, url: string); } export declare class Internal { readonly bot: BaseBot; _request?(action: string, params: Dict): Promise<Response>; constructor(bot: BaseBot); private _get; setGroupAnonymousBan(group_id: string, meta: string | object, duration?: number): Promise<void>; setGroupAnonymousBanAsync(group_id: string, meta: string | object, duration?: number): Promise<void>; private static asyncPrefixes; private static prepareMethod; private static prepareArg; static define(name: string, ...params: string[]): void; static defineExtract(name: string, key: string, ...params: string[]): void; } export {};