node-vk-api-bot
Version:
A library that helps you to create chat-bot for group or user
221 lines (219 loc) • 12 kB
JavaScript
export var UserUpdates;
(function (UserUpdates) {
let MessageFlags;
(function (MessageFlags) {
MessageFlags[MessageFlags["unread"] = 1] = "unread";
MessageFlags[MessageFlags["outbox"] = 2] = "outbox";
MessageFlags[MessageFlags["replied"] = 4] = "replied";
MessageFlags[MessageFlags["important"] = 8] = "important";
MessageFlags[MessageFlags["chat"] = 16] = "chat";
MessageFlags[MessageFlags["friends"] = 32] = "friends";
MessageFlags[MessageFlags["spam"] = 64] = "spam";
MessageFlags[MessageFlags["deleted"] = 128] = "deleted";
MessageFlags[MessageFlags["fixed"] = 256] = "fixed";
MessageFlags[MessageFlags["media"] = 512] = "media";
MessageFlags[MessageFlags["hidden"] = 65536] = "hidden";
MessageFlags[MessageFlags["delete_for_all"] = 131072] = "delete_for_all";
MessageFlags[MessageFlags["not_delivered"] = 262144] = "not_delivered";
})(MessageFlags = UserUpdates.MessageFlags || (UserUpdates.MessageFlags = {}));
let PeerFlags;
(function (PeerFlags) {
PeerFlags[PeerFlags["important"] = 1] = "important";
PeerFlags[PeerFlags["unanswered"] = 2] = "unanswered";
})(PeerFlags = UserUpdates.PeerFlags || (UserUpdates.PeerFlags = {}));
let LongPollMode;
(function (LongPollMode) {
LongPollMode[LongPollMode["attachment"] = 2] = "attachment";
LongPollMode[LongPollMode["extraEvents"] = 8] = "extraEvents";
LongPollMode[LongPollMode["returnPTS"] = 32] = "returnPTS";
LongPollMode[LongPollMode["return$extraInEvent8"] = 64] = "return$extraInEvent8";
LongPollMode[LongPollMode["returnRandomId"] = 128] = "returnRandomId";
})(LongPollMode = UserUpdates.LongPollMode || (UserUpdates.LongPollMode = {}));
let RawUpdateTypes;
(function (RawUpdateTypes) {
RawUpdateTypes[RawUpdateTypes["raw_messageFlagReplace"] = 1] = "raw_messageFlagReplace";
RawUpdateTypes[RawUpdateTypes["raw_messageFlagSet"] = 2] = "raw_messageFlagSet";
RawUpdateTypes[RawUpdateTypes["raw_messageFlagReset"] = 3] = "raw_messageFlagReset";
RawUpdateTypes[RawUpdateTypes["raw_messageAdd"] = 4] = "raw_messageAdd";
RawUpdateTypes[RawUpdateTypes["raw_messageEdit"] = 5] = "raw_messageEdit";
RawUpdateTypes[RawUpdateTypes["raw_messageInRead"] = 6] = "raw_messageInRead";
RawUpdateTypes[RawUpdateTypes["raw_messageOutRead"] = 7] = "raw_messageOutRead";
RawUpdateTypes[RawUpdateTypes["raw_friendOnline"] = 8] = "raw_friendOnline";
RawUpdateTypes[RawUpdateTypes["raw_friendOffline"] = 9] = "raw_friendOffline";
RawUpdateTypes[RawUpdateTypes["raw_dialogFlagReset"] = 10] = "raw_dialogFlagReset";
RawUpdateTypes[RawUpdateTypes["raw_dialogFlagSet"] = 11] = "raw_dialogFlagSet";
RawUpdateTypes[RawUpdateTypes["raw_dialogFlagReplace"] = 12] = "raw_dialogFlagReplace";
RawUpdateTypes[RawUpdateTypes["raw_messageDelete"] = 13] = "raw_messageDelete";
RawUpdateTypes[RawUpdateTypes["raw_messageRestore"] = 14] = "raw_messageRestore";
RawUpdateTypes[RawUpdateTypes["raw_dialogMajorIdChanged"] = 20] = "raw_dialogMajorIdChanged";
RawUpdateTypes[RawUpdateTypes["raw_dialogMinorIdChanged"] = 21] = "raw_dialogMinorIdChanged";
RawUpdateTypes[RawUpdateTypes["raw_chatParamChanged"] = 51] = "raw_chatParamChanged";
RawUpdateTypes[RawUpdateTypes["raw_dialogInfoChanged"] = 52] = "raw_dialogInfoChanged";
RawUpdateTypes[RawUpdateTypes["raw_dialogTyping"] = 61] = "raw_dialogTyping";
RawUpdateTypes[RawUpdateTypes["raw_chatTyping"] = 62] = "raw_chatTyping";
RawUpdateTypes[RawUpdateTypes["raw_chatTypingMany"] = 63] = "raw_chatTypingMany";
RawUpdateTypes[RawUpdateTypes["raw_chatAudioMessage"] = 64] = "raw_chatAudioMessage";
RawUpdateTypes[RawUpdateTypes["raw_call"] = 70] = "raw_call";
RawUpdateTypes[RawUpdateTypes["raw_leftMenuCounterChanged"] = 80] = "raw_leftMenuCounterChanged";
RawUpdateTypes[RawUpdateTypes["raw_notificationSettingsChanged"] = 114] = "raw_notificationSettingsChanged";
})(RawUpdateTypes = UserUpdates.RawUpdateTypes || (UserUpdates.RawUpdateTypes = {}));
let UpdateTypes;
(function (UpdateTypes) {
UpdateTypes["messageFlagReplace"] = "messageFlagReplace";
UpdateTypes["messageFlagSet"] = "messageFlagSet";
UpdateTypes["messageFlagReset"] = "messageFlagReset";
UpdateTypes["messageAdd"] = "messageAdd";
UpdateTypes["messageEdit"] = "messageEdit";
UpdateTypes["messageInRead"] = "messageInRead";
UpdateTypes["messageOutRead"] = "messageOutRead";
UpdateTypes["friendOnline"] = "friendOnline";
UpdateTypes["friendOffline"] = "friendOffline";
UpdateTypes["dialogFlagReset"] = "dialogFlagReset";
UpdateTypes["dialogFlagSet"] = "dialogFlagSet";
UpdateTypes["dialogFlagReplace"] = "dialogFlagReplace";
UpdateTypes["messageDelete"] = "messageDelete";
UpdateTypes["messageRestore"] = "messageRestore";
UpdateTypes["dialogMajorIdChanged"] = "dialogMajorIdChanged";
UpdateTypes["dialogMinorIdChanged"] = "dialogMinorIdChanged";
UpdateTypes["chatParamChanged"] = "chatParamChanged";
UpdateTypes["dialogInfoChanged"] = "dialogInfoChanged";
UpdateTypes["dialogTyping"] = "dialogTyping";
UpdateTypes["chatTyping"] = "chatTyping";
UpdateTypes["chatTypingMany"] = "chatTypingMany";
UpdateTypes["chatAudioMessage"] = "chatAudioMessage";
UpdateTypes["call"] = "call";
UpdateTypes["leftMenuCounterChanged"] = "leftMenuCounterChanged";
UpdateTypes["notificationSettingsChanged"] = "notificationSettingsChanged";
UpdateTypes["raw_messageFlagReplace"] = "raw_messageFlagReplace";
UpdateTypes["raw_messageFlagSet"] = "raw_messageFlagSet";
UpdateTypes["raw_messageFlagReset"] = "raw_messageFlagReset";
UpdateTypes["raw_messageAdd"] = "raw_messageAdd";
UpdateTypes["raw_messageEdit"] = "raw_messageEdit";
UpdateTypes["raw_messageInRead"] = "raw_messageInRead";
UpdateTypes["raw_messageOutRead"] = "raw_messageOutRead";
UpdateTypes["raw_friendOnline"] = "raw_friendOnline";
UpdateTypes["raw_friendOffline"] = "raw_friendOffline";
UpdateTypes["raw_dialogFlagReset"] = "raw_dialogFlagReset";
UpdateTypes["raw_dialogFlagSet"] = "raw_dialogFlagSet";
UpdateTypes["raw_dialogFlagReplace"] = "raw_dialogFlagReplace";
UpdateTypes["raw_messageDelete"] = "raw_messageDelete";
UpdateTypes["raw_messageRestore"] = "raw_messageRestore";
UpdateTypes["raw_dialogMajorIdChanged"] = "raw_dialogMajorIdChanged";
UpdateTypes["raw_dialogMinorIdChanged"] = "raw_dialogMinorIdChanged";
UpdateTypes["raw_chatParamChanged"] = "raw_chatParamChanged";
UpdateTypes["raw_dialogInfoChanged"] = "raw_dialogInfoChanged";
UpdateTypes["raw_dialogTyping"] = "raw_dialogTyping";
UpdateTypes["raw_chatTyping"] = "raw_chatTyping";
UpdateTypes["raw_chatTypingMany"] = "raw_chatTypingMany";
UpdateTypes["raw_chatAudioMessage"] = "raw_chatAudioMessage";
UpdateTypes["raw_call"] = "raw_call";
UpdateTypes["raw_leftMenuCounterChanged"] = "raw_leftMenuCounterChanged";
UpdateTypes["raw_notificationSettingsChanged"] = "raw_notificationSettingsChanged";
// unknown_event = 'unknown_event'
})(UpdateTypes = UserUpdates.UpdateTypes || (UserUpdates.UpdateTypes = {}));
/* export const getUpdateType = (update: Update<UpdateTypes>) => {
}; */
/* type getRawEvents<T extends UpdateTypes = UpdateTypes> = T extends `raw_${infer P extends keyof typeof UpdateTypes}` ? {
raw: `raw_${P}` extends UpdateTypes ? typeof UpdateTypes[`raw_${P}`] : never;
notRaw: typeof UpdateTypes[P];
} : never; */
// type a = getRawEvents
UserUpdates.parseRawUpdate = (update) => 'type' in update ? update : (t => {
var _a, _b, _c;
return ({
type: (_b = (_a = Object
.entries(RawUpdateTypes)
.filter(p => typeof p[1] === 'number')
.reduce((r, c) => [
...r, {
i: +c[1],
u: c[0],
}
], []).find(t => t.i === update[0])) === null || _a === void 0 ? void 0 : _a.u.slice(4)) !== null && _b !== void 0 ? _b : 'unknown_event',
update: (t => !t ? update : Object.fromEntries(update.slice(1).reduce((r, v, i) => {
var _a, _b;
return t[i] ?
[...r, [(_a = t[i]) !== null && _a !== void 0 ? _a : '', v]] :
[...r.slice(...(((_b = r.at(-1)) === null || _b === void 0 ? void 0 : _b[0]) === 'other_params' ? [0, -1] : [])), ['other_params', [
...((last => (last === null || last === void 0 ? void 0 : last[0]) === 'other_params' ? last[1] : [])(r.at(-1))), v
]]];
}, [])))((_c = t.find(t => t.i === update[0])) === null || _c === void 0 ? void 0 : _c.t),
raw: update
});
})((r => [{
i: r.raw_messageFlagReplace,
t: ['message_id', 'flags', 'peer_id', 'timestamp', 'text', 'extra_data', 'attachments', 'random_id'],
}, {
i: r.raw_messageFlagSet,
t: ['message_id', 'mask', 'peer_id', 'timestamp', 'text', 'extra_data', 'attachments', 'random_id'],
}, {
i: r.raw_messageFlagReset,
t: 'this.1',
}, {
i: r.raw_messageAdd,
t: ['message_id', 'flags', /* 'minor_id', */ 'peer_id', 'timestamp', 'text', 'extra_data', 'attachments', 'random_id'],
}, {
i: r.raw_messageEdit,
t: ['message_id', 'mask', 'peer_id', 'timestamp', 'new_text', 'attachments'],
}, {
i: r.raw_messageInRead,
t: ['peer_id', 'local_id'],
}, {
i: r.raw_messageOutRead,
t: 'this.5'
}, {
i: r.raw_friendOnline,
t: ['user_id', 'extra', 'timestamp'],
}, {
i: r.raw_friendOffline,
t: 'this.7',
}, {
i: r.raw_dialogFlagReset,
t: ['peer_id', 'mask'],
}, {
i: r.raw_dialogFlagReplace,
t: ['peer_id', 'flags'],
}, {
i: r.raw_dialogFlagSet,
t: 'this.9'
}, {
i: r.raw_messageDelete,
t: 'this.5',
}, {
i: r.raw_messageRestore,
t: 'this.5'
}, {
i: r.raw_dialogMajorIdChanged,
t: ['peer_id', 'major_id']
}, {
i: r.raw_dialogMinorIdChanged,
t: ['peer_id', 'major_id']
}, {
i: r.raw_chatParamChanged,
t: ['chat_id', 'self']
}, {
i: r.raw_dialogInfoChanged,
t: ['type_id', 'peer_id', 'info']
}, {
i: r.raw_dialogTyping,
t: ['user_id', 'flags'],
}, {
i: r.raw_chatTyping,
t: ['user_id', 'chat_id']
}, {
i: r.raw_chatTypingMany,
t: ['user_ids', 'peer_id', 'total_count', 'ts'],
}, {
i: r.raw_chatAudioMessage,
t: ['user_ids', 'peer_id', 'total_count', 'ts'],
}, {
i: r.raw_leftMenuCounterChanged,
t: ['count']
}, {
i: r.raw_call,
t: ['user_id', ' call_id'],
}, {
i: r.raw_notificationSettingsChanged,
t: ['peer_id', 'sound', 'disabled_until']
}].map((t, _, a) => { var _a, _b; return typeof t.t === 'string' ? (t.t = (_b = (_a = a[+t.t.slice(5)]) === null || _a === void 0 ? void 0 : _a.t) !== null && _b !== void 0 ? _b : [], t) : t; }))(RawUpdateTypes));
})(UserUpdates || (UserUpdates = {}));