@mtcute/core 0.16.0 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/highlevel/client.d.ts +29 -2
- package/cjs/highlevel/client.js.map +1 -1
- package/cjs/highlevel/methods/chats/delete-user-history.d.ts +5 -0
- package/cjs/highlevel/methods/chats/delete-user-history.js +4 -2
- package/cjs/highlevel/methods/chats/delete-user-history.js.map +1 -1
- package/cjs/highlevel/methods/forums/delete-forum-topic-history.d.ts +7 -1
- package/cjs/highlevel/methods/forums/delete-forum-topic-history.js +5 -2
- package/cjs/highlevel/methods/forums/delete-forum-topic-history.js.map +1 -1
- package/cjs/highlevel/methods/messages/delete-messages.d.ts +5 -0
- package/cjs/highlevel/methods/messages/delete-messages.js +4 -2
- package/cjs/highlevel/methods/messages/delete-messages.js.map +1 -1
- package/cjs/highlevel/methods/messages/read-history.d.ts +5 -0
- package/cjs/highlevel/methods/messages/read-history.js +11 -7
- package/cjs/highlevel/methods/messages/read-history.js.map +1 -1
- package/cjs/highlevel/methods/messages/read-reactions.d.ts +7 -1
- package/cjs/highlevel/methods/messages/read-reactions.js +5 -2
- package/cjs/highlevel/methods/messages/read-reactions.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-common.d.ts +2 -2
- package/cjs/highlevel/methods/messages/send-common.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-text.js +3 -3
- package/cjs/highlevel/methods/messages/send-text.js.map +1 -1
- package/cjs/highlevel/methods/messages/unpin-all-messages.d.ts +5 -0
- package/cjs/highlevel/methods/messages/unpin-all-messages.js +8 -6
- package/cjs/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
- package/cjs/highlevel/updates/types.d.ts +2 -0
- package/cjs/highlevel/updates/types.js.map +1 -1
- package/cjs/highlevel/worker/invoker.js +1 -1
- package/cjs/highlevel/worker/invoker.js.map +1 -1
- package/cjs/highlevel/worker/protocol.d.ts +1 -1
- package/cjs/highlevel/worker/protocol.js +9 -6
- package/cjs/highlevel/worker/protocol.js.map +1 -1
- package/cjs/highlevel/worker/worker.js +6 -3
- package/cjs/highlevel/worker/worker.js.map +1 -1
- package/cjs/network/network-manager.js +1 -1
- package/esm/highlevel/client.d.ts +29 -2
- package/esm/highlevel/client.js.map +1 -1
- package/esm/highlevel/methods/chats/delete-user-history.d.ts +5 -0
- package/esm/highlevel/methods/chats/delete-user-history.js +4 -2
- package/esm/highlevel/methods/chats/delete-user-history.js.map +1 -1
- package/esm/highlevel/methods/forums/delete-forum-topic-history.d.ts +7 -1
- package/esm/highlevel/methods/forums/delete-forum-topic-history.js +5 -2
- package/esm/highlevel/methods/forums/delete-forum-topic-history.js.map +1 -1
- package/esm/highlevel/methods/messages/delete-messages.d.ts +5 -0
- package/esm/highlevel/methods/messages/delete-messages.js +4 -2
- package/esm/highlevel/methods/messages/delete-messages.js.map +1 -1
- package/esm/highlevel/methods/messages/read-history.d.ts +5 -0
- package/esm/highlevel/methods/messages/read-history.js +11 -7
- package/esm/highlevel/methods/messages/read-history.js.map +1 -1
- package/esm/highlevel/methods/messages/read-reactions.d.ts +7 -1
- package/esm/highlevel/methods/messages/read-reactions.js +5 -2
- package/esm/highlevel/methods/messages/read-reactions.js.map +1 -1
- package/esm/highlevel/methods/messages/send-common.d.ts +2 -2
- package/esm/highlevel/methods/messages/send-common.js.map +1 -1
- package/esm/highlevel/methods/messages/send-text.js +3 -3
- package/esm/highlevel/methods/messages/send-text.js.map +1 -1
- package/esm/highlevel/methods/messages/unpin-all-messages.d.ts +5 -0
- package/esm/highlevel/methods/messages/unpin-all-messages.js +8 -6
- package/esm/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
- package/esm/highlevel/updates/types.d.ts +2 -0
- package/esm/highlevel/updates/types.js.map +1 -1
- package/esm/highlevel/worker/invoker.js +2 -2
- package/esm/highlevel/worker/invoker.js.map +1 -1
- package/esm/highlevel/worker/protocol.d.ts +1 -1
- package/esm/highlevel/worker/protocol.js +9 -6
- package/esm/highlevel/worker/protocol.js.map +1 -1
- package/esm/highlevel/worker/worker.js +7 -4
- package/esm/highlevel/worker/worker.js.map +1 -1
- package/esm/network/network-manager.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../../src/highlevel/worker/protocol.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AA+DvB,SAAgB,eAAe,CAAI,MAAS;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,GAAG,CAAC,eAAe,CAAmC,CAAA;IACxE,CAAC;IAED,IAAI,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA;QAC3C,CAAC;QAED,OAAO,MAAwC,CAAA;IACnD,CAAC;IAED,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvC,+CAA+C;QAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,IAAI,cAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrB,2BAA2B;gBAC3B,
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../../src/highlevel/worker/protocol.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AA+DvB,SAAgB,eAAe,CAAI,MAAS;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,GAAG,CAAC,eAAe,CAAmC,CAAA;IACxE,CAAC;IAED,IAAI,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA;QAC3C,CAAC;QAED,OAAO,MAAwC,CAAA;IACnD,CAAC;IAED,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvC,+CAA+C;QAC/C,MAAM,SAAS,GAA4B,EAAE,CAAA;QAE7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,IAAI,cAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrB,2BAA2B;gBAC3B,SAAS,CAAC,GAAG,CAAC,GAAG;oBACb,MAAM,EAAE,MAAM;oBACd,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;iBAC3B,CAAA;YACL,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACnC,2BAA2B;gBAC3B,SAAS,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;YAC3C,CAAC;iBAAM,CAAC;gBACJ,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;YAC1B,CAAC;QACL,CAAC;QAED,OAAO,SAA2C,CAAA;IACtD,CAAC;IAED,OAAO,MAAwC,CAAA;AACnD,CAAC;AAtCD,0CAsCC;AAED,SAAgB,iBAAiB,CAAI,MAA2B;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAiB,CAAA;IACxD,CAAC;IAED,IAAI,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1C,iEAAiE;YACjE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;QAC7C,CAAC;QAED,OAAO,MAAsB,CAAA;IACjC,CAAC;IAED,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,KAAgC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC5F,2BAA2B;gBAC3B,CAAC;gBAAC,MAAc,CAAC,GAAG,CAAC,GAAG,cAAI,CAAC,SAAS,CAAC,KAAwB,CAAC,CAAA;YACpE,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACnC,2BAA2B;gBAC3B,CAAC;gBAAC,MAAc,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,KAAkC,CAAC,CAAA;YACjF,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,MAAsB,CAAA;AACjC,CAAC;AA3BD,8CA2BC","sourcesContent":["import Long from 'long'\nimport type { Worker as NodeWorker } from 'node:worker_threads'\n\nimport { tl } from '@mtcute/tl'\n\nimport { ConnectionState } from '../client.types.js'\nimport { SerializedError } from './errors.js'\n\nexport type WorkerInboundMessage =\n | {\n type: 'invoke'\n id: number\n target: 'custom' | 'client' | 'storage' | 'storage-self' | 'storage-peers' | 'app-config'\n method: string\n args: SerializedResult<unknown[]>\n void: boolean\n withAbort: boolean\n }\n | {\n type: 'abort'\n id: number\n }\n\nexport type WorkerOutboundMessage =\n | { type: 'server_update'; update: SerializedResult<tl.TypeUpdates> }\n | {\n type: 'update'\n update: SerializedResult<tl.TypeUpdate>\n users: SerializedResult<Map<number, tl.TypeUser>>\n chats: SerializedResult<Map<number, tl.TypeChat>>\n hasMin: boolean\n }\n | { type: 'error'; error: unknown }\n | { type: 'stop' }\n | { type: 'conn_state'; state: ConnectionState }\n | {\n type: 'log'\n color: number\n level: number\n tag: string\n fmt: string\n args: unknown[]\n }\n | {\n type: 'result'\n id: number\n result?: SerializedResult<unknown>\n error?: SerializedError\n }\n\nexport type SomeWorker = NodeWorker | Worker | SharedWorker\n\nexport type SendFn = (message: WorkerInboundMessage) => void\nexport type ClientMessageHandler = (message: WorkerOutboundMessage) => void\n\nexport type RespondFn = (message: WorkerOutboundMessage) => void\nexport type WorkerMessageHandler = (message: WorkerInboundMessage, respond: RespondFn) => void\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type WorkerCustomMethods = Record<string, (...args: any[]) => Promise<any>>\n\nexport type SerializedResult<T> = { __serialized__: T }\n\nexport function serializeResult<T>(result: T): SerializedResult<T> {\n if (Array.isArray(result)) {\n return result.map(serializeResult) as unknown as SerializedResult<T>\n }\n\n if (result instanceof Map) {\n for (const [key, value] of result.entries()) {\n result.set(key, serializeResult(value))\n }\n\n return result as unknown as SerializedResult<T>\n }\n\n if (result && typeof result === 'object') {\n // replace Long instances with a special object\n const newResult: Record<string, unknown> = {}\n\n for (const [key, value] of Object.entries(result)) {\n if (Long.isLong(value)) {\n // eslint-disable-next-line\n newResult[key] = {\n __type: 'long',\n low: value.low,\n high: value.high,\n unsigned: value.unsigned,\n }\n } else if (typeof value === 'object') {\n // eslint-disable-next-line\n newResult[key] = serializeResult(value)\n } else {\n newResult[key] = value\n }\n }\n\n return newResult as unknown as SerializedResult<T>\n }\n\n return result as unknown as SerializedResult<T>\n}\n\nexport function deserializeResult<T>(result: SerializedResult<T>): T {\n if (Array.isArray(result)) {\n return result.map(deserializeResult) as unknown as T\n }\n\n if (result instanceof Map) {\n for (const [key, value] of result.entries()) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n result.set(key, deserializeResult(value))\n }\n\n return result as unknown as T\n }\n\n if (result && typeof result === 'object') {\n for (const [key, value] of Object.entries(result)) {\n if (value && typeof value === 'object' && (value as Record<string, string>).__type === 'long') {\n // eslint-disable-next-line\n ;(result as any)[key] = Long.fromValue(value as unknown as Long)\n } else if (typeof value === 'object') {\n // eslint-disable-next-line\n ;(result as any)[key] = deserializeResult(value as SerializedResult<unknown>)\n }\n }\n }\n\n return result as unknown as T\n}\n"]}
|
|
@@ -100,18 +100,21 @@ class TelegramWorker {
|
|
|
100
100
|
});
|
|
101
101
|
return;
|
|
102
102
|
}
|
|
103
|
-
let args
|
|
103
|
+
let args;
|
|
104
104
|
if (msg.target === 'client' && msg.method === 'call' && msg.withAbort) {
|
|
105
105
|
const abort = new AbortController();
|
|
106
106
|
this.pendingAborts.set(msg.id, abort);
|
|
107
107
|
args = [
|
|
108
|
-
args[0],
|
|
108
|
+
(0, protocol_js_1.deserializeResult)(msg.args[0]),
|
|
109
109
|
{
|
|
110
|
-
...args[1],
|
|
110
|
+
...msg.args[1],
|
|
111
111
|
abortSignal: abort.signal,
|
|
112
112
|
},
|
|
113
113
|
];
|
|
114
114
|
}
|
|
115
|
+
else {
|
|
116
|
+
args = (0, protocol_js_1.deserializeResult)(msg.args);
|
|
117
|
+
}
|
|
115
118
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
116
119
|
Promise.resolve(method.apply(target, args))
|
|
117
120
|
.then((res) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/highlevel/worker/worker.ts"],"names":[],"mappings":";;;AACA,2CAA4C;AAC5C,+
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/highlevel/worker/worker.ts"],"names":[],"mappings":"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","sourcesContent":["import { BaseTelegramClient } from '../base.js'\nimport { serializeError } from './errors.js'\nimport {\n deserializeResult,\n RespondFn,\n SerializedResult,\n serializeResult,\n WorkerCustomMethods,\n WorkerInboundMessage,\n WorkerMessageHandler,\n} from './protocol.js'\n\nexport interface TelegramWorkerOptions<T extends WorkerCustomMethods> {\n client: BaseTelegramClient\n customMethods?: T\n}\n\nexport abstract class TelegramWorker<T extends WorkerCustomMethods> {\n readonly client: BaseTelegramClient\n readonly broadcast: RespondFn\n\n abstract registerWorker(handler: WorkerMessageHandler): RespondFn\n\n readonly pendingAborts = new Map<number, AbortController>()\n\n constructor(readonly params: TelegramWorkerOptions<T>) {\n this.broadcast = this.registerWorker((message, respond) => {\n switch (message.type) {\n case 'invoke':\n this.onInvoke(message, respond)\n break\n case 'abort': {\n const abort = this.pendingAborts.get(message.id)\n\n if (abort) {\n abort.abort()\n this.pendingAborts.delete(message.id)\n }\n }\n }\n })\n\n const client = params.client\n this.client = client\n\n client.log.mgr.handler = (color, level, tag, fmt, args) =>\n this.broadcast({\n type: 'log',\n color,\n level,\n tag,\n fmt,\n args,\n })\n client.onError((err) =>\n this.broadcast({\n type: 'error',\n error: err,\n }),\n )\n client.onConnectionState((state) =>\n this.broadcast({\n type: 'conn_state',\n state,\n }),\n )\n client.stopSignal.addEventListener('abort', () => this.broadcast({ type: 'stop' }))\n\n if (client.updates) {\n client.onUpdate((update, peers) =>\n this.broadcast({\n type: 'update',\n update: serializeResult(update),\n users: serializeResult(peers.users),\n chats: serializeResult(peers.chats),\n hasMin: peers.hasMin,\n }),\n )\n } else {\n client.onServerUpdate((update) =>\n this.broadcast({\n type: 'server_update',\n update: serializeResult(update),\n }),\n )\n }\n }\n\n private onInvoke(msg: Extract<WorkerInboundMessage, { type: 'invoke' }>, respond: RespondFn) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let target: any\n\n switch (msg.target) {\n case 'custom':\n target = this.params.customMethods\n break\n case 'client':\n target = this.client\n break\n case 'storage':\n target = this.client.storage\n break\n case 'storage-self':\n target = this.client.storage.self\n break\n case 'storage-peers':\n target = this.client.storage.peers\n break\n case 'app-config':\n target = this.client.appConfig\n break\n\n default: {\n respond({\n type: 'result',\n id: msg.id,\n error: new Error(`Unknown target ${msg.target}`),\n })\n\n return\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const method = target[msg.method]\n\n if (!method) {\n respond({\n type: 'result',\n id: msg.id,\n error: new Error(`Method ${msg.method} not found on ${msg.target}`),\n })\n\n return\n }\n\n let args: unknown[]\n\n if (msg.target === 'client' && msg.method === 'call' && msg.withAbort) {\n const abort = new AbortController()\n this.pendingAborts.set(msg.id, abort)\n\n args = [\n deserializeResult((msg.args as unknown as unknown[])[0] as SerializedResult<unknown>),\n {\n ...((msg.args as unknown as unknown[])[1] as object),\n abortSignal: abort.signal,\n },\n ]\n } else {\n args = deserializeResult(msg.args)\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n Promise.resolve(method.apply(target, args))\n .then((res) => {\n if (msg.withAbort) {\n this.pendingAborts.delete(msg.id)\n }\n\n if (msg.void) return\n\n respond({\n type: 'result',\n id: msg.id,\n result: serializeResult(res),\n })\n })\n .catch((err) => {\n if (msg.withAbort) {\n this.pendingAborts.delete(msg.id)\n }\n\n respond({\n type: 'result',\n id: msg.id,\n error: serializeError(err),\n })\n })\n }\n}\n"]}
|
|
@@ -1128,6 +1128,11 @@ export interface TelegramClient extends ITelegramClient {
|
|
|
1128
1128
|
chatId: InputPeerLike;
|
|
1129
1129
|
/** User/channel ID whose messages to delete */
|
|
1130
1130
|
participantId: InputPeerLike;
|
|
1131
|
+
/**
|
|
1132
|
+
* Whether to dispatch the updates that will be generated by this call.
|
|
1133
|
+
* Doesn't follow `disableNoDispatch`
|
|
1134
|
+
*/
|
|
1135
|
+
shouldDispatch?: true;
|
|
1131
1136
|
}): Promise<void>;
|
|
1132
1137
|
/**
|
|
1133
1138
|
* Edit supergroup/channel admin rights of a user.
|
|
@@ -2172,7 +2177,13 @@ export interface TelegramClient extends ITelegramClient {
|
|
|
2172
2177
|
* @param chat Chat or user ID, username, phone number, `"me"` or `"self"`
|
|
2173
2178
|
* @param topicId ID of the topic (i.e. its top message ID)
|
|
2174
2179
|
*/
|
|
2175
|
-
deleteForumTopicHistory(chat: InputPeerLike, topicId: number | ForumTopic
|
|
2180
|
+
deleteForumTopicHistory(chat: InputPeerLike, topicId: number | ForumTopic, params?: {
|
|
2181
|
+
/**
|
|
2182
|
+
* Whether to dispatch updates that will be generated by this call.
|
|
2183
|
+
* Doesn't follow `disableNoDispatch`
|
|
2184
|
+
*/
|
|
2185
|
+
shouldDispatch?: true;
|
|
2186
|
+
}): Promise<void>;
|
|
2176
2187
|
/**
|
|
2177
2188
|
* Modify a topic in a forum
|
|
2178
2189
|
*
|
|
@@ -3149,6 +3160,11 @@ export interface TelegramClient extends ITelegramClient {
|
|
|
3149
3160
|
* Whether to also clear all mentions in the chat
|
|
3150
3161
|
*/
|
|
3151
3162
|
clearMentions?: boolean;
|
|
3163
|
+
/**
|
|
3164
|
+
* Whether to dispatch updates that will be generated by this call.
|
|
3165
|
+
* Doesn't follow `disableNoDispatch`
|
|
3166
|
+
*/
|
|
3167
|
+
shouldDispatch?: true;
|
|
3152
3168
|
}): Promise<void>;
|
|
3153
3169
|
/**
|
|
3154
3170
|
* Mark all reactions in chat as read.
|
|
@@ -3157,7 +3173,13 @@ export interface TelegramClient extends ITelegramClient {
|
|
|
3157
3173
|
*
|
|
3158
3174
|
* @param chatId Chat ID
|
|
3159
3175
|
*/
|
|
3160
|
-
readReactions(chatId: InputPeerLike
|
|
3176
|
+
readReactions(chatId: InputPeerLike, params?: {
|
|
3177
|
+
/**
|
|
3178
|
+
* Whether to dispatch updates that will be generated by this call.
|
|
3179
|
+
* Doesn't follow `disableNoDispatch`
|
|
3180
|
+
*/
|
|
3181
|
+
shouldDispatch?: true;
|
|
3182
|
+
}): Promise<void>;
|
|
3161
3183
|
/**
|
|
3162
3184
|
* Search for messages globally from all of your chats
|
|
3163
3185
|
*
|
|
@@ -3641,6 +3663,11 @@ export interface TelegramClient extends ITelegramClient {
|
|
|
3641
3663
|
* For forums - unpin only messages from the given topic
|
|
3642
3664
|
*/
|
|
3643
3665
|
topicId?: number;
|
|
3666
|
+
/**
|
|
3667
|
+
* Whether to dispatch updates that will be generated by this call.
|
|
3668
|
+
* Doesn't follow `disableNoDispatch`
|
|
3669
|
+
*/
|
|
3670
|
+
shouldDispatch?: true;
|
|
3644
3671
|
}): Promise<void>;
|
|
3645
3672
|
/**
|
|
3646
3673
|
* Unpin a message in a group, supergroup, channel or PM.
|