telegram-bot-api-nodejs 1.0.31 → 1.0.33
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/index.d.ts +2 -0
- package/index.js +20 -0
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -770,4 +770,6 @@ export declare function isBotKickedFromSupergroupError(err: unknown): boolean;
|
|
|
770
770
|
export declare function isNotEnoughRightsError(err: unknown): boolean;
|
|
771
771
|
export declare function isUpgradeToSupergroupChatError(err: unknown): boolean;
|
|
772
772
|
export declare function isTextMustBeNonEmptyError(err: unknown): boolean;
|
|
773
|
+
export declare function isTooManyRequestsError(err: unknown): boolean;
|
|
774
|
+
export declare function parseRetryAfterTime(err: unknown): number;
|
|
773
775
|
export {};
|
package/index.js
CHANGED
|
@@ -565,3 +565,23 @@ export function isUpgradeToSupergroupChatError(err) {
|
|
|
565
565
|
export function isTextMustBeNonEmptyError(err) {
|
|
566
566
|
return err instanceof Error && err.message.includes("Bad Request: text must be non-empty");
|
|
567
567
|
}
|
|
568
|
+
export function isTooManyRequestsError(err) {
|
|
569
|
+
return err instanceof Error && err.message.includes("Too Many Requests: retry after");
|
|
570
|
+
}
|
|
571
|
+
export function parseRetryAfterTime(err) {
|
|
572
|
+
if (!(err instanceof Error)) {
|
|
573
|
+
throw new RangeError("`err` needs to be an Error");
|
|
574
|
+
}
|
|
575
|
+
if (!err.message.startsWith("Too Many Requests: retry after")) {
|
|
576
|
+
throw new RangeError(`'err' message does not start with "Too Many Requests: retry after" ("${err.message}")`);
|
|
577
|
+
}
|
|
578
|
+
const param = err.message.replace("Too Many Requests: retry after", "").trim();
|
|
579
|
+
if (!param) {
|
|
580
|
+
throw new RangeError(`'err' message does not match the format "Too Many Requests format"`);
|
|
581
|
+
}
|
|
582
|
+
const time = Number(param);
|
|
583
|
+
if (Number.isNaN(time)) {
|
|
584
|
+
throw new RangeError(`'err' message has invalid time parameter ("${err.message}"`);
|
|
585
|
+
}
|
|
586
|
+
return time;
|
|
587
|
+
}
|