@aracna/telegram-bot 1.9.13 → 2.0.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.
Files changed (173) hide show
  1. package/apis/telegram-api.d.ts +9 -0
  2. package/apis/telegram-api.js +55 -0
  3. package/apis/telegram-file-api.d.ts +7 -0
  4. package/apis/telegram-file-api.js +14 -0
  5. package/classes/client.d.ts +46 -0
  6. package/classes/client.js +409 -0
  7. package/definitions/constants.d.ts +10 -0
  8. package/definitions/constants.js +53 -1
  9. package/definitions/enums.d.ts +1 -20
  10. package/definitions/enums.js +2 -22
  11. package/definitions/interfaces.d.ts +91 -75
  12. package/definitions/interfaces.js +0 -1
  13. package/definitions/telegram-api-definitions.d.ts +12 -0
  14. package/definitions/telegram-api-definitions.js +2 -0
  15. package/definitions/types.d.ts +4 -3
  16. package/index.d.ts +656 -416
  17. package/index.js +236 -20
  18. package/loggers/class-logger.d.ts +2 -0
  19. package/loggers/{module.logger.js → class-logger.js} +2 -2
  20. package/package.json +13 -4
  21. package/requests/add-requests.d.ts +3 -0
  22. package/requests/add-requests.js +14 -0
  23. package/requests/answer-requests.d.ts +7 -0
  24. package/requests/answer-requests.js +23 -0
  25. package/requests/approve-requests.d.ts +3 -0
  26. package/requests/approve-requests.js +7 -0
  27. package/requests/ban-requests.d.ts +4 -0
  28. package/requests/ban-requests.js +11 -0
  29. package/requests/close-requests.d.ts +4 -0
  30. package/requests/close-requests.js +11 -0
  31. package/requests/copy-requests.d.ts +4 -0
  32. package/requests/copy-requests.js +11 -0
  33. package/requests/create-requests.d.ts +7 -0
  34. package/requests/create-requests.js +30 -0
  35. package/requests/decline-requests.d.ts +3 -0
  36. package/requests/decline-requests.js +7 -0
  37. package/requests/delete-requests.d.ts +10 -0
  38. package/requests/delete-requests.js +35 -0
  39. package/requests/download-requests.d.ts +3 -0
  40. package/requests/download-requests.js +29 -0
  41. package/requests/edit-requests.d.ts +12 -0
  42. package/requests/edit-requests.js +46 -0
  43. package/requests/export-requests.d.ts +3 -0
  44. package/requests/export-requests.js +7 -0
  45. package/requests/forward-requests.d.ts +4 -0
  46. package/requests/forward-requests.js +11 -0
  47. package/requests/get-requests.d.ts +23 -0
  48. package/requests/get-requests.js +92 -0
  49. package/requests/hide-requests.d.ts +3 -0
  50. package/requests/hide-requests.js +7 -0
  51. package/requests/leave-requests.d.ts +3 -0
  52. package/requests/leave-requests.js +7 -0
  53. package/requests/log-requests.d.ts +2 -0
  54. package/requests/log-requests.js +7 -0
  55. package/requests/pin-requests.d.ts +3 -0
  56. package/requests/pin-requests.js +7 -0
  57. package/requests/promote-requests.d.ts +3 -0
  58. package/requests/promote-requests.js +7 -0
  59. package/requests/refund-requests.d.ts +3 -0
  60. package/requests/refund-requests.js +7 -0
  61. package/requests/reopen-requests.d.ts +4 -0
  62. package/requests/reopen-requests.js +11 -0
  63. package/requests/replace-requests.d.ts +3 -0
  64. package/requests/replace-requests.js +14 -0
  65. package/requests/restrict-requests.d.ts +3 -0
  66. package/requests/restrict-requests.js +7 -0
  67. package/requests/revoke-requests.d.ts +3 -0
  68. package/requests/revoke-requests.js +7 -0
  69. package/requests/send-requests.d.ts +24 -0
  70. package/requests/send-requests.js +102 -0
  71. package/requests/set-requests.d.ts +24 -0
  72. package/requests/set-requests.js +95 -0
  73. package/requests/stop-requests.d.ts +4 -0
  74. package/requests/stop-requests.js +11 -0
  75. package/requests/unban-requests.d.ts +4 -0
  76. package/requests/unban-requests.js +11 -0
  77. package/requests/unhide-requests.d.ts +3 -0
  78. package/requests/unhide-requests.js +7 -0
  79. package/requests/unpin-requests.d.ts +6 -0
  80. package/requests/unpin-requests.js +19 -0
  81. package/requests/upload-requests.d.ts +3 -0
  82. package/requests/upload-requests.js +7 -0
  83. package/requests/webhook-requests.d.ts +6 -0
  84. package/requests/webhook-requests.js +20 -0
  85. package/utils/callback-query-utils.d.ts +3 -0
  86. package/utils/callback-query-utils.js +25 -0
  87. package/utils/command-utils.d.ts +5 -0
  88. package/utils/command-utils.js +28 -0
  89. package/utils/context-utils.d.ts +11 -0
  90. package/utils/context-utils.js +42 -0
  91. package/utils/html-utils.d.ts +2 -0
  92. package/utils/html-utils.js +18 -0
  93. package/utils/inline-keyboard-utils.d.ts +12 -0
  94. package/utils/inline-keyboard-utils.js +43 -0
  95. package/utils/reply-to-message-utils.d.ts +6 -0
  96. package/utils/reply-to-message-utils.js +36 -0
  97. package/utils/start-message-utils.d.ts +6 -0
  98. package/utils/start-message-utils.js +40 -0
  99. package/builders/button.builder.d.ts +0 -11
  100. package/builders/button.builder.js +0 -31
  101. package/childs/add.d.ts +0 -6
  102. package/childs/add.js +0 -10
  103. package/childs/answer.d.ts +0 -9
  104. package/childs/answer.js +0 -19
  105. package/childs/ban.d.ts +0 -6
  106. package/childs/ban.js +0 -10
  107. package/childs/create.d.ts +0 -6
  108. package/childs/create.js +0 -17
  109. package/childs/delete.d.ts +0 -8
  110. package/childs/delete.js +0 -19
  111. package/childs/download.d.ts +0 -8
  112. package/childs/download.js +0 -32
  113. package/childs/edit.d.ts +0 -10
  114. package/childs/edit.js +0 -22
  115. package/childs/export.d.ts +0 -5
  116. package/childs/export.js +0 -10
  117. package/childs/forward.d.ts +0 -6
  118. package/childs/forward.js +0 -15
  119. package/childs/get.d.ts +0 -15
  120. package/childs/get.js +0 -37
  121. package/childs/leave.d.ts +0 -5
  122. package/childs/leave.js +0 -10
  123. package/childs/pin.d.ts +0 -6
  124. package/childs/pin.js +0 -10
  125. package/childs/polling.d.ts +0 -9
  126. package/childs/polling.js +0 -34
  127. package/childs/privates/send.private.d.ts +0 -7
  128. package/childs/privates/send.private.js +0 -19
  129. package/childs/promote.d.ts +0 -6
  130. package/childs/promote.js +0 -10
  131. package/childs/restrict.d.ts +0 -6
  132. package/childs/restrict.js +0 -15
  133. package/childs/send.d.ts +0 -31
  134. package/childs/send.js +0 -130
  135. package/childs/set.d.ts +0 -17
  136. package/childs/set.js +0 -44
  137. package/childs/stop.d.ts +0 -7
  138. package/childs/stop.js +0 -13
  139. package/childs/unban.d.ts +0 -5
  140. package/childs/unban.js +0 -10
  141. package/childs/unpin.d.ts +0 -5
  142. package/childs/unpin.js +0 -10
  143. package/childs/upload.d.ts +0 -7
  144. package/childs/upload.js +0 -10
  145. package/childs/webhook.d.ts +0 -8
  146. package/childs/webhook.js +0 -22
  147. package/loggers/module.logger.d.ts +0 -2
  148. package/modules/api.d.ts +0 -5
  149. package/modules/api.js +0 -24
  150. package/modules/builder.d.ts +0 -4
  151. package/modules/builder.js +0 -8
  152. package/modules/child.d.ts +0 -5
  153. package/modules/child.js +0 -10
  154. package/modules/configuration.d.ts +0 -8
  155. package/modules/configuration.js +0 -10
  156. package/modules/dummy.d.ts +0 -9
  157. package/modules/dummy.js +0 -56
  158. package/modules/telegram.d.ts +0 -87
  159. package/modules/telegram.js +0 -358
  160. package/utils/callback.query.utils.d.ts +0 -5
  161. package/utils/callback.query.utils.js +0 -26
  162. package/utils/command.utils.d.ts +0 -7
  163. package/utils/command.utils.js +0 -29
  164. package/utils/context.utils.d.ts +0 -13
  165. package/utils/context.utils.js +0 -41
  166. package/utils/html.utils.d.ts +0 -5
  167. package/utils/html.utils.js +0 -20
  168. package/utils/inline.keyboard.utils.d.ts +0 -4
  169. package/utils/inline.keyboard.utils.js +0 -26
  170. package/utils/reply.to.message.utils.d.ts +0 -6
  171. package/utils/reply.to.message.utils.js +0 -27
  172. package/utils/start.utils.d.ts +0 -7
  173. package/utils/start.utils.js +0 -32
@@ -1,97 +1,113 @@
1
- import { FetchResponse } from '@aracna/core';
2
- import { CallbackQuery as NativeCallbackQuery, ChatJoinRequest, ChatMemberUpdated, ChosenInlineResult, InlineKeyboardButton, InlineQuery, InputMediaAudio, InputMediaDocument, InputMediaPhoto, InputMediaVideo, Message, Poll, PollAnswer, PreCheckoutQuery, SendMediaGroup, ShippingQuery } from '@aracna/telegram-bot-types';
3
- import { UpdateType } from './enums';
4
- import { HandlerMiddleware, InputFile } from './types';
5
- export interface APIResponse<T> extends FetchResponse<APIResponseData<T>> {
6
- }
7
- export interface APIResponseData<T> {
8
- ok: boolean;
9
- result: T;
10
- }
11
- export interface CallbackQuery<T = any> extends NativeCallbackQuery {
1
+ import type { BusinessConnection, BusinessMessagesDeleted, ChatBoostRemoved, ChatBoostUpdated, ChatJoinRequest, ChatMemberUpdated, ChosenInlineResult, DeleteWebhook, EditMessageMedia, GetUpdates, InlineQuery, InputMediaAudio, InputMediaDocument, InputMediaPhoto, InputMediaVideo, Message, MessageReactionCountUpdated, MessageReactionUpdated, CallbackQuery as NativeCallbackQuery, Poll, PollAnswer, PreCheckoutQuery, SendMediaGroup, SendMessage, SendPaidMedia, SetWebhook, ShippingQuery } from '@aracna/telegram-bot-types';
2
+ import type { ClientListenerMiddleware, InputFile, UpdateType } from './types';
3
+ export interface CallbackQuery<T = unknown> extends NativeCallbackQuery {
12
4
  body: CallbackQueryBody<T>;
13
5
  }
14
- export interface CallbackQueryBody<T = any> {
15
- c?: number;
6
+ export interface CallbackQueryBody<T = unknown> {
7
+ c?: bigint | number;
16
8
  d: T;
17
- t: string;
18
- }
19
- export interface ConfigurationAPI {
20
- post: {
21
- callback: {
22
- success: <T, U>(body: T, result: U | Error) => void;
23
- };
24
- };
25
- }
26
- export interface ConfigurationDefault {
27
- buttons: {
28
- text: (chatID: number) => Promise<InlineKeyboardButton[]>;
29
- url: (chatID: number) => Promise<InlineKeyboardButton[]>;
30
- login: (chatID: number) => Promise<InlineKeyboardButton[]>;
31
- callback: (chatID: number) => Promise<InlineKeyboardButton[]>;
32
- query: (chatID: number) => Promise<InlineKeyboardButton[]>;
33
- queryCurrentChat: (chatID: number) => Promise<InlineKeyboardButton[]>;
34
- game: (chatID: number) => Promise<InlineKeyboardButton[]>;
35
- pay: (chatID: number) => Promise<InlineKeyboardButton[]>;
36
- };
37
- }
38
- export interface ConfigurationHandler {
39
- send: {
40
- buttons: {
41
- empty: (chatID: number) => Error;
42
- };
43
- };
9
+ m?: string;
44
10
  }
45
- export interface Context {
46
- [UpdateType.CALLBACK_QUERY]: CallbackQuery;
47
- [UpdateType.CHANNEL_POST]: Message;
48
- [UpdateType.CHAT_JOIN_REQUEST]: ChatJoinRequest;
49
- [UpdateType.CHAT_MEMBER]: ChatMemberUpdated;
50
- [UpdateType.CHOSEN_INLINE_RESULT]: ChosenInlineResult;
51
- [UpdateType.DOCUMENT]: Message;
52
- [UpdateType.EDITED_CHANNEL_POST]: Message;
53
- [UpdateType.EDITED_MESSAGE]: Message;
54
- [UpdateType.INLINE_QUERY]: InlineQuery;
55
- [UpdateType.MESSAGE]: Message;
56
- [UpdateType.MY_CHAT_MEMBER]: ChatMemberUpdated;
57
- [UpdateType.POLL]: Poll;
58
- [UpdateType.POLL_ANSWER]: PollAnswer;
59
- [UpdateType.PRE_CHECKOUT_QUERY]: PreCheckoutQuery;
60
- [UpdateType.REPLY_TO_MESSAGE]: ReplyToMessage;
61
- [UpdateType.SHIPPING_QUERY]: ShippingQuery;
62
- [UpdateType.START]: Start;
63
- }
64
- export interface Handler<T extends UpdateType = any, U extends HandlerOptions = HandlerOptions> {
11
+ export interface ClientConnectionOptions {
12
+ polling?: ClientConnectionOptionsPolling;
13
+ webhook?: ClientConnectionOptionsWebhook;
14
+ }
15
+ export interface ClientConnectionOptionsPolling extends GetUpdates {
16
+ ms?: number;
17
+ }
18
+ export interface ClientConnectionOptionsWebhook extends SetWebhook {
19
+ delete?: DeleteWebhook;
20
+ }
21
+ export interface ClientDisconnectOptions {
22
+ webhook?: DeleteWebhook;
23
+ }
24
+ export interface ClientListener<T extends UpdateType = any, U extends ClientListenerOptions = ClientListenerOptions> {
25
+ command?: string;
65
26
  description?: string;
66
27
  id: string;
67
- key?: string;
68
- middleware: HandlerMiddleware<T>;
69
- options: U;
28
+ middleware: ClientListenerMiddleware<T>;
29
+ options: Omit<U, 'command' | 'description'>;
70
30
  type: UpdateType;
71
31
  }
72
- export interface HandlerOptions {
32
+ export interface ClientListenerOptions {
33
+ command?: string;
73
34
  deleteOnCallbackQuery?: boolean;
74
35
  deleteOnReply?: boolean;
75
36
  deleteOnMessageStart?: boolean;
37
+ description?: string;
38
+ }
39
+ export interface Context {
40
+ business_connection: BusinessConnection;
41
+ business_message: Message;
42
+ callback_query: CallbackQuery;
43
+ channel_post: Message;
44
+ chat_boost: ChatBoostUpdated;
45
+ chat_join_request: ChatJoinRequest;
46
+ chat_member: ChatMemberUpdated;
47
+ chosen_inline_result: ChosenInlineResult;
48
+ deleted_business_messages: BusinessMessagesDeleted;
49
+ document: Message;
50
+ edited_business_message: Message;
51
+ edited_channel_post: Message;
52
+ edited_message: Message;
53
+ inline_query: InlineQuery;
54
+ message: Message;
55
+ message_reaction: MessageReactionUpdated;
56
+ message_reaction_count: MessageReactionCountUpdated;
57
+ my_chat_member: ChatMemberUpdated;
58
+ poll: Poll;
59
+ poll_answer: PollAnswer;
60
+ pre_checkout_query: PreCheckoutQuery;
61
+ removed_chat_boost: ChatBoostRemoved;
62
+ reply_to_message: ReplyToMessage;
63
+ shipping_query: ShippingQuery;
64
+ start: Start;
65
+ }
66
+ export interface EditMessageMediaAlternative extends Omit<EditMessageMedia, 'media'> {
67
+ media: InputMediaAlternative;
68
+ }
69
+ export interface EncodeCallbackQueryBodyOptions {
70
+ chatID?: bigint | number;
71
+ command?: string;
72
+ }
73
+ export interface EncodeReplyToMessageBodyOptions {
74
+ chatID?: bigint | number;
75
+ command?: string;
76
+ }
77
+ export interface EncodeStartBodyOptions {
78
+ chatID?: bigint | number;
79
+ command?: string;
76
80
  }
77
81
  export interface InputMediaAlternative extends Omit<InputMediaAudio | InputMediaDocument | InputMediaPhoto | InputMediaVideo, 'media'> {
78
82
  media: InputFile;
79
83
  }
80
- export interface MessageBody<T = any> {
81
- chatID?: number;
82
- data: T;
83
- type: string;
84
+ export interface InputPaidMediaAlternative extends Omit<InputMediaPhoto | InputMediaVideo, 'media'> {
85
+ media: InputFile;
84
86
  }
85
- export interface ReplyToMessage<T = any> extends Message {
86
- body: MessageBody<T>;
87
+ export interface ReplyToMessage<T = unknown> extends Message {
88
+ body: ReplyToMessageBody<T>;
89
+ }
90
+ export interface ReplyToMessageBody<T = unknown> {
91
+ c?: bigint | number;
92
+ d: T;
93
+ m?: string;
87
94
  }
88
95
  export interface SendMediaGroupAlternative extends Omit<SendMediaGroup, 'media'> {
89
96
  media: InputMediaAlternative[];
90
97
  }
91
- export interface Start<T = any> extends Message {
92
- body: MessageBody<T>;
98
+ export interface SendPaidMediaAlternative extends Omit<SendPaidMedia, 'media'> {
99
+ media: InputPaidMediaAlternative[];
93
100
  }
94
- export interface TelegramName {
95
- first: string;
96
- last: string;
101
+ export interface SendRepliableMessage<T = unknown> extends SendMessage {
102
+ command?: string;
103
+ data: T;
104
+ from_chat_id?: bigint;
105
+ }
106
+ export interface Start<T = unknown> extends Message {
107
+ body: StartBody<T>;
108
+ }
109
+ export interface StartBody<T = unknown> {
110
+ c?: bigint | number;
111
+ d: T;
112
+ m?: string;
97
113
  }
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const enums_1 = require("./enums");
@@ -0,0 +1,12 @@
1
+ import type { FetchResponse, RestApiConfig } from '@aracna/core';
2
+ export declare namespace TelegramApiDefinitions {
3
+ interface Config extends RestApiConfig {
4
+ token: string | undefined;
5
+ }
6
+ interface Response<T> extends FetchResponse<ResponseData<T>> {
7
+ }
8
+ interface ResponseData<T> {
9
+ ok: boolean;
10
+ result: T;
11
+ }
12
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +1,5 @@
1
- import { UpdateType } from './enums';
2
- import { Context } from './interfaces';
3
- export type HandlerMiddleware<T extends UpdateType> = (context: Context[T]) => any;
1
+ import type { Context } from './interfaces';
2
+ export type ClientConnectionMode = 'polling' | 'webhook';
3
+ export type ClientListenerMiddleware<T extends UpdateType> = (context: Context[T]) => any;
4
4
  export type InputFile = File | string;
5
+ export type UpdateType = 'business_connection' | 'business_message' | 'callback_query' | 'channel_post' | 'chat_boost' | 'chat_join_request' | 'chat_member' | 'chosen_inline_result' | 'deleted_business_messages' | 'edited_business_message' | 'edited_channel_post' | 'edited_message' | 'inline_query' | 'message' | 'message_reaction' | 'message_reaction_count' | 'my_chat_member' | 'poll' | 'poll_answer' | 'pre_checkout_query' | 'removed_chat_boost' | 'reply_to_message' | 'shipping_query' | 'start';