import * as PUPPET from "wechaty-puppet"; import { FileBoxInterface } from "file-box"; import { PadLocalClient, Log as PadLocalLog } from "padlocal-client-ts"; import PadLocal from "padlocal-client-ts/dist/proto/padlocal_pb.js"; declare const VERSION: string; export type PuppetPadlocalOptions = PUPPET.PuppetOptions & { serverCAFilePath?: string; defaultLoginPolicy?: PadLocal.LoginPolicy; }; declare class PuppetPadlocal extends PUPPET.Puppet { options: PuppetPadlocalOptions; static log: typeof PadLocalLog; private _client?; private _cacheMgr?; private _onPushSerialExecutor; private _printVersion; private _restartStrategy; private _heartBeatTimer?; constructor(options?: PuppetPadlocalOptions); get client(): PadLocalClient | undefined; onStart(): Promise; private _startClient; /** * called internally while login success * @param userId * @protected */ login(userId: string): Promise; /** * stop the bot, with account signed on, will try auto login next time bot start. */ onStop(): Promise; private _stopClient; /** * logout account and stop the bot */ logout(): Promise; ding(_data?: string): void; /**************************************************************************** * contact ***************************************************************************/ contactSelfName(name: string): Promise; contactSelfQRCode(): Promise; contactSelfSignature(signature: string): Promise; contactAlias(contactId: string): Promise; contactAlias(contactId: string, alias: string | null): Promise; contactAvatar(contactId: string): Promise; contactAvatar(contactId: string, file: FileBoxInterface): Promise; contactList(): Promise; contactCorporationRemark(contactId: string, corporationRemark: string | null): Promise; contactDescription(contactId: string, description: string | null): Promise; contactPhone(contactId: string, phoneList: string[]): Promise; contactDelete(contactId: string): Promise; /**************************************************************************** * tag ***************************************************************************/ tagContactAdd(tagName: string, contactId: string): Promise; tagContactRemove(tagName: string, contactId: string): Promise; tagContactDelete(tagName: string): Promise; tagContactList(contactId?: string): Promise; /**************************************************************************** * friendship ***************************************************************************/ friendshipAccept(friendshipId: string): Promise; friendshipAdd(contactId: string, option?: PUPPET.types.FriendshipAddOptions): Promise; friendshipSearchPhone(phone: string): Promise; friendshipSearchWeixin(weixin: string): Promise; private _friendshipSearch; private _findRoomIdForUserName; /**************************************************************************** * get message payload ***************************************************************************/ messageContact(_messageId: string): Promise; messageFile(messageId: string): Promise; messageImage(messageId: string, imageType: PUPPET.types.Image): Promise; messageMiniProgram(messageId: string): Promise; messageUrl(messageId: string): Promise; /**************************************************************************** * send message ***************************************************************************/ messageSendContact(toUserName: string, contactId: string): Promise; messageSendFile(toUserName: string, fileBox: FileBoxInterface): Promise; messageSendMiniProgram(toUserName: string, mpPayload: PUPPET.payloads.MiniProgram): Promise; messageSendText(toUserName: string, text: string, mentionIdList?: string[]): Promise; messageSendUrl(toUserName: string, linkPayload: PUPPET.payloads.UrlLink): Promise; messageRecall(messageId: string): Promise; messageForward(toUserName: string, messageId: string): Promise; /**************************************************************************** * room ***************************************************************************/ roomAdd(roomId: string, contactId: string): Promise; roomAvatar(roomId: string): Promise; roomCreate(contactIdList: string[], topic?: string): Promise; roomDel(roomId: string, contactId: string): Promise; roomList(): Promise; roomQRCode(roomId: string): Promise; roomQuit(roomId: string): Promise; roomTopic(roomId: string): Promise; roomTopic(roomId: string, topic: string): Promise; roomAnnounce(roomId: string): Promise; roomAnnounce(roomId: string, text: string): Promise; roomMemberList(roomId: string): Promise; roomInvitationAccept(roomInvitationId: string): Promise; /**************************************************************************** * RawPayload section ***************************************************************************/ contactRawPayloadParser(payload: PadLocal.Contact.AsObject): Promise; contactRawPayload(id: string): Promise; messageRawPayloadParser(payload: PadLocal.Message.AsObject): Promise; messageRawPayload(id: string): Promise; roomRawPayloadParser(payload: PadLocal.Contact.AsObject): Promise; roomRawPayload(id: string): Promise; roomMemberRawPayload(roomId: string, contactId: string): Promise; roomMemberRawPayloadParser(rawPayload: PadLocal.ChatRoomMember.AsObject): Promise; roomInvitationRawPayload(roomInvitationId: string): Promise; roomInvitationRawPayloadParser(rawPayload: PUPPET.payloads.RoomInvitation): Promise; friendshipRawPayload(id: string): Promise; friendshipRawPayloadParser(rawPayload: PUPPET.payloads.Friendship): Promise; /**************************************************************************** * extra methods section ***************************************************************************/ /** * CAUTION: For edge case usage only! * Sync contact is a time-consuming action, may last for minutes especially when you have massive contacts. * You MUST understand what exactly you are doing. */ syncContact(): Promise; /**************************************************************************** * private section ***************************************************************************/ private _findTagWithName; private _getTagList; private _getRoomMemberList; private _updateContactCache; private _updateRoomMember; private _onPushContact; private _onPushMessage; private _onSendMessage; private _setupClient; private _refreshContact; private _startPuppetHeart; private _stopPuppetHeart; private _getMessageImageFileBox; } export { PuppetPadlocal, VERSION }; export default PuppetPadlocal; //# sourceMappingURL=puppet-padlocal.d.ts.map