UNPKG

ntqq

Version:
103 lines (102 loc) 3.77 kB
import { FriendDecreaseEvent, FriendIncreaseEvent, FriendPokeEvent, FriendRecallEvent, FriendRequestEvent, GroupInviteEvent, PrivateMessageEvent } from "../events"; import { User } from "./user"; type Client = import("../client").Client; /** 私聊消息事件 */ export interface PrivateMessageEventMap { "message"(event: PrivateMessageEvent): void; /** 好友的消息 */ "message.friend"(event: PrivateMessageEvent): void; /** 群临时对话 */ "message.group"(event: PrivateMessageEvent): void; /** 其他途径 */ "message.other"(event: PrivateMessageEvent): void; /** 我的设备 */ "message.self"(event: PrivateMessageEvent): void; } /** 好友通知事件 */ export interface FriendNoticeEventMap { "notice"(event: FriendIncreaseEvent | FriendDecreaseEvent | FriendRecallEvent | FriendPokeEvent): void; /** 新增好友 */ "notice.increase"(event: FriendIncreaseEvent): void; /** 好友减少 */ "notice.decrease"(event: FriendDecreaseEvent): void; /** 撤回消息 */ "notice.recall"(event: FriendRecallEvent): void; /** 戳一戳 */ "notice.poke"(event: FriendPokeEvent): void; } /** 好友申请事件 */ export interface FriendRequestEventMap { "request"(event: FriendRequestEvent): void; /** 群邀请 */ "request.invite"(event: GroupInviteEvent): void; /** 添加好友 */ "request.add"(event: FriendRequestEvent): void; /** 单向好友 */ "request.single"(event: FriendRequestEvent): void; } /** 所有的好友事件 */ export interface FriendEventMap extends PrivateMessageEventMap, FriendNoticeEventMap, FriendRequestEventMap { } /** 好友 */ export declare class Friend extends User { private _info?; uid: string; static as(this: Client, uin: number, strict?: boolean): Friend; /** 好友资料 */ get info(): Friend.Info | undefined; /** 昵称 */ get nickname(): string | undefined; /** 性别 */ get sex(): import("../common").Gender | undefined; /** 备注 */ get remark(): string | undefined; /** 分组id */ get class_id(): number | undefined; protected constructor(c: Client, uin: number, _info?: Friend.Info | undefined); /** 设置备注 */ setRemark(remark: string): Promise<void>; /** 设置分组(注意:如果分组id不存在也会成功) */ setClass(id: number): Promise<void>; /** 戳一戳 */ poke(self?: boolean): Promise<boolean>; /** * 删除好友 * @param block 屏蔽此好友的申请,默认为`true` */ delete(block?: boolean): Promise<void>; /** * 发送离线文件 * @param file `string`表示从该本地文件路径获取,`Buffer`表示直接发送这段内容 * @param filename 对方看到的文件名,`file`为`Buffer`时,若留空则自动以md5命名 * @param callback 监控上传进度的回调函数,拥有一个"百分比进度"的参数 * @returns 文件id(撤回时使用) */ sendFile(file: string | Buffer | Uint8Array, filename?: string, callback?: (percentage: string) => void): Promise<string>; /** * 撤回离线文件 * @param fid 文件id */ recallFile(fid: string): Promise<boolean>; /** * 转发离线文件 * @param fid 文件fid * @param group_id 群号,转发群文件时填写 * @returns 转发成功后新文件的id */ forwardFile(fid: string, group_id?: number): Promise<string>; /** * 查找机器人与这个人的共群 * @returns */ searchSameGroup(): Promise<any>; } export declare namespace Friend { interface Info extends User.Info { /** 备注 */ remark: string; /** 分组id */ class_id: number; } } export {};