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.
Files changed (3) hide show
  1. package/index.d.ts +2 -0
  2. package/index.js +20 -0
  3. 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
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "telegram-bot-api-nodejs",
3
- "version": "1.0.31",
3
+ "version": "1.0.33",
4
4
  "description": "Telegram Bot API client for nodejs",
5
5
  "type": "module",
6
6
  "main": "index.js",