@aracna/telegram-bot 1.9.14 → 2.0.3

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 (194) 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 +83 -76
  12. package/definitions/telegram-api-definitions.d.ts +12 -0
  13. package/definitions/telegram-api-definitions.js +2 -0
  14. package/definitions/types.d.ts +3 -2
  15. package/index.d.ts +475 -438
  16. package/index.js +236 -20
  17. package/loggers/class-logger.d.ts +2 -0
  18. package/loggers/{module.logger.js → class-logger.js} +2 -2
  19. package/package.json +12 -3
  20. package/requests/add-requests.d.ts +3 -0
  21. package/requests/add-requests.js +14 -0
  22. package/requests/answer-requests.d.ts +7 -0
  23. package/requests/answer-requests.js +23 -0
  24. package/requests/approve-requests.d.ts +3 -0
  25. package/requests/approve-requests.js +7 -0
  26. package/requests/ban-requests.d.ts +4 -0
  27. package/requests/ban-requests.js +11 -0
  28. package/requests/close-requests.d.ts +4 -0
  29. package/requests/close-requests.js +11 -0
  30. package/requests/copy-requests.d.ts +4 -0
  31. package/requests/copy-requests.js +11 -0
  32. package/requests/create-requests.d.ts +7 -0
  33. package/requests/create-requests.js +30 -0
  34. package/requests/decline-requests.d.ts +3 -0
  35. package/requests/decline-requests.js +7 -0
  36. package/requests/delete-requests.d.ts +10 -0
  37. package/requests/delete-requests.js +35 -0
  38. package/requests/download-requests.d.ts +3 -0
  39. package/requests/download-requests.js +29 -0
  40. package/requests/edit-requests.d.ts +12 -0
  41. package/requests/edit-requests.js +46 -0
  42. package/requests/export-requests.d.ts +3 -0
  43. package/requests/export-requests.js +7 -0
  44. package/requests/forward-requests.d.ts +4 -0
  45. package/requests/forward-requests.js +11 -0
  46. package/requests/get-requests.d.ts +23 -0
  47. package/requests/get-requests.js +92 -0
  48. package/requests/hide-requests.d.ts +3 -0
  49. package/requests/hide-requests.js +7 -0
  50. package/requests/leave-requests.d.ts +3 -0
  51. package/requests/leave-requests.js +7 -0
  52. package/requests/log-requests.d.ts +2 -0
  53. package/requests/log-requests.js +7 -0
  54. package/requests/pin-requests.d.ts +3 -0
  55. package/requests/pin-requests.js +7 -0
  56. package/requests/promote-requests.d.ts +3 -0
  57. package/requests/promote-requests.js +7 -0
  58. package/requests/refund-requests.d.ts +3 -0
  59. package/requests/refund-requests.js +7 -0
  60. package/requests/reopen-requests.d.ts +4 -0
  61. package/requests/reopen-requests.js +11 -0
  62. package/requests/replace-requests.d.ts +3 -0
  63. package/requests/replace-requests.js +14 -0
  64. package/requests/restrict-requests.d.ts +3 -0
  65. package/requests/restrict-requests.js +7 -0
  66. package/requests/revoke-requests.d.ts +3 -0
  67. package/requests/revoke-requests.js +7 -0
  68. package/requests/send-requests.d.ts +24 -0
  69. package/requests/send-requests.js +102 -0
  70. package/requests/set-requests.d.ts +24 -0
  71. package/requests/set-requests.js +95 -0
  72. package/requests/stop-requests.d.ts +4 -0
  73. package/requests/stop-requests.js +11 -0
  74. package/requests/unban-requests.d.ts +4 -0
  75. package/requests/unban-requests.js +11 -0
  76. package/requests/unhide-requests.d.ts +3 -0
  77. package/requests/unhide-requests.js +7 -0
  78. package/requests/unpin-requests.d.ts +6 -0
  79. package/requests/unpin-requests.js +19 -0
  80. package/requests/upload-requests.d.ts +3 -0
  81. package/requests/upload-requests.js +7 -0
  82. package/requests/webhook-requests.d.ts +6 -0
  83. package/requests/webhook-requests.js +20 -0
  84. package/utils/callback-query-utils.d.ts +3 -0
  85. package/utils/callback-query-utils.js +25 -0
  86. package/utils/command-utils.d.ts +5 -0
  87. package/utils/command-utils.js +28 -0
  88. package/utils/context-utils.d.ts +11 -0
  89. package/utils/context-utils.js +42 -0
  90. package/utils/html-utils.d.ts +2 -0
  91. package/utils/html-utils.js +18 -0
  92. package/utils/inline-keyboard-utils.d.ts +12 -0
  93. package/utils/inline-keyboard-utils.js +43 -0
  94. package/utils/reply-to-message-utils.d.ts +6 -0
  95. package/utils/reply-to-message-utils.js +36 -0
  96. package/utils/start-message-utils.d.ts +6 -0
  97. package/utils/start-message-utils.js +40 -0
  98. package/builders/button.builder.d.ts +0 -11
  99. package/builders/button.builder.js +0 -31
  100. package/childs/add.d.ts +0 -6
  101. package/childs/add.js +0 -10
  102. package/childs/answer.d.ts +0 -10
  103. package/childs/answer.js +0 -22
  104. package/childs/approve.d.ts +0 -6
  105. package/childs/approve.js +0 -10
  106. package/childs/ban.d.ts +0 -7
  107. package/childs/ban.js +0 -13
  108. package/childs/close.d.ts +0 -7
  109. package/childs/close.js +0 -13
  110. package/childs/copy.d.ts +0 -7
  111. package/childs/copy.js +0 -13
  112. package/childs/create.d.ts +0 -10
  113. package/childs/create.js +0 -26
  114. package/childs/decline.d.ts +0 -6
  115. package/childs/decline.js +0 -10
  116. package/childs/delete.d.ts +0 -13
  117. package/childs/delete.js +0 -31
  118. package/childs/download.d.ts +0 -8
  119. package/childs/download.js +0 -32
  120. package/childs/edit.d.ts +0 -14
  121. package/childs/edit.js +0 -38
  122. package/childs/export.d.ts +0 -6
  123. package/childs/export.js +0 -10
  124. package/childs/forward.d.ts +0 -7
  125. package/childs/forward.js +0 -13
  126. package/childs/get.d.ts +0 -26
  127. package/childs/get.js +0 -73
  128. package/childs/hide.d.ts +0 -6
  129. package/childs/hide.js +0 -10
  130. package/childs/leave.d.ts +0 -6
  131. package/childs/leave.js +0 -10
  132. package/childs/log.d.ts +0 -5
  133. package/childs/log.js +0 -10
  134. package/childs/pin.d.ts +0 -6
  135. package/childs/pin.js +0 -10
  136. package/childs/polling.d.ts +0 -9
  137. package/childs/polling.js +0 -34
  138. package/childs/privates/send.private.d.ts +0 -8
  139. package/childs/privates/send.private.js +0 -19
  140. package/childs/promote.d.ts +0 -6
  141. package/childs/promote.js +0 -10
  142. package/childs/refund.d.ts +0 -6
  143. package/childs/refund.js +0 -14
  144. package/childs/reopen.d.ts +0 -7
  145. package/childs/reopen.js +0 -13
  146. package/childs/replace.d.ts +0 -6
  147. package/childs/replace.js +0 -10
  148. package/childs/restrict.d.ts +0 -6
  149. package/childs/restrict.js +0 -13
  150. package/childs/revoke.d.ts +0 -6
  151. package/childs/revoke.js +0 -10
  152. package/childs/send.d.ts +0 -32
  153. package/childs/send.js +0 -111
  154. package/childs/set.d.ts +0 -28
  155. package/childs/set.js +0 -82
  156. package/childs/stop.d.ts +0 -7
  157. package/childs/stop.js +0 -13
  158. package/childs/unban.d.ts +0 -7
  159. package/childs/unban.js +0 -13
  160. package/childs/unhide.d.ts +0 -6
  161. package/childs/unhide.js +0 -10
  162. package/childs/unpin.d.ts +0 -9
  163. package/childs/unpin.js +0 -23
  164. package/childs/upload.d.ts +0 -6
  165. package/childs/upload.js +0 -10
  166. package/childs/webhook.d.ts +0 -10
  167. package/childs/webhook.js +0 -28
  168. package/loggers/module.logger.d.ts +0 -2
  169. package/modules/api.d.ts +0 -5
  170. package/modules/api.js +0 -24
  171. package/modules/builder.d.ts +0 -4
  172. package/modules/builder.js +0 -8
  173. package/modules/child.d.ts +0 -5
  174. package/modules/child.js +0 -10
  175. package/modules/configuration.d.ts +0 -8
  176. package/modules/configuration.js +0 -10
  177. package/modules/dummy.d.ts +0 -9
  178. package/modules/dummy.js +0 -56
  179. package/modules/telegram.d.ts +0 -109
  180. package/modules/telegram.js +0 -391
  181. package/utils/callback.query.utils.d.ts +0 -5
  182. package/utils/callback.query.utils.js +0 -26
  183. package/utils/command.utils.d.ts +0 -7
  184. package/utils/command.utils.js +0 -29
  185. package/utils/context.utils.d.ts +0 -13
  186. package/utils/context.utils.js +0 -41
  187. package/utils/html.utils.d.ts +0 -5
  188. package/utils/html.utils.js +0 -20
  189. package/utils/inline.keyboard.utils.d.ts +0 -4
  190. package/utils/inline.keyboard.utils.js +0 -26
  191. package/utils/reply.to.message.utils.d.ts +0 -6
  192. package/utils/reply.to.message.utils.js +0 -27
  193. package/utils/start.utils.d.ts +0 -7
  194. package/utils/start.utils.js +0 -32
@@ -1,78 +1,85 @@
1
- import type { FetchResponse } from '@aracna/core';
2
- import type { ChatJoinRequest, ChatMemberUpdated, ChosenInlineResult, InlineKeyboardButton, InlineQuery, InputMediaAudio, InputMediaDocument, InputMediaPhoto, InputMediaVideo, Message, CallbackQuery as NativeCallbackQuery, Poll, PollAnswer, PreCheckoutQuery, SendMediaGroup, SendMessage, SendPaidMedia, ShippingQuery } from '@aracna/telegram-bot-types';
3
- import type { UpdateType } from './enums';
4
- import type { 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
- }
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';
11
3
  export interface CallbackQuery<T = any> extends NativeCallbackQuery {
12
4
  body: CallbackQueryBody<T>;
13
5
  }
14
6
  export interface CallbackQueryBody<T = any> {
15
- c?: bigint;
16
- 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: bigint) => Promise<InlineKeyboardButton[]>;
29
- url: (chatID: bigint) => Promise<InlineKeyboardButton[]>;
30
- login: (chatID: bigint) => Promise<InlineKeyboardButton[]>;
31
- callback: (chatID: bigint) => Promise<InlineKeyboardButton[]>;
32
- query: (chatID: bigint) => Promise<InlineKeyboardButton[]>;
33
- queryCurrentChat: (chatID: bigint) => Promise<InlineKeyboardButton[]>;
34
- game: (chatID: bigint) => Promise<InlineKeyboardButton[]>;
35
- pay: (chatID: bigint) => Promise<InlineKeyboardButton[]>;
36
- };
37
- }
38
- export interface ConfigurationHandler {
39
- send: {
40
- buttons: {
41
- empty: (chatID: bigint) => Error;
42
- };
43
- };
7
+ c?: bigint | number;
8
+ d?: T;
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<T = any> {
70
+ chatID?: bigint | number;
71
+ command?: string;
72
+ data?: T;
73
+ }
74
+ export interface EncodeReplyToMessageBodyOptions<T = any> {
75
+ chatID?: bigint | number;
76
+ command?: string;
77
+ data?: T;
78
+ }
79
+ export interface EncodeStartBodyOptions<T = any> {
80
+ chatID?: bigint | number;
81
+ command?: string;
82
+ data?: T;
76
83
  }
77
84
  export interface InputMediaAlternative extends Omit<InputMediaAudio | InputMediaDocument | InputMediaPhoto | InputMediaVideo, 'media'> {
78
85
  media: InputFile;
@@ -80,13 +87,13 @@ export interface InputMediaAlternative extends Omit<InputMediaAudio | InputMedia
80
87
  export interface InputPaidMediaAlternative extends Omit<InputMediaPhoto | InputMediaVideo, 'media'> {
81
88
  media: InputFile;
82
89
  }
83
- export interface MessageBody<T = any> {
84
- chatID?: bigint;
85
- data: T;
86
- type: string;
87
- }
88
90
  export interface ReplyToMessage<T = any> extends Message {
89
- body: MessageBody<T>;
91
+ body: ReplyToMessageBody<T>;
92
+ }
93
+ export interface ReplyToMessageBody<T = any> {
94
+ c?: bigint | number;
95
+ d?: T;
96
+ m?: string;
90
97
  }
91
98
  export interface SendMediaGroupAlternative extends Omit<SendMediaGroup, 'media'> {
92
99
  media: InputMediaAlternative[];
@@ -94,16 +101,16 @@ export interface SendMediaGroupAlternative extends Omit<SendMediaGroup, 'media'>
94
101
  export interface SendPaidMediaAlternative extends Omit<SendPaidMedia, 'media'> {
95
102
  media: InputPaidMediaAlternative[];
96
103
  }
97
- export interface SendRepliable<T = any> extends SendMessage {
104
+ export interface SendRepliableMessage<T = any> extends SendMessage {
105
+ command?: string;
98
106
  data: T;
99
107
  from_chat_id?: bigint;
100
- text: string;
101
- type: string;
102
108
  }
103
109
  export interface Start<T = any> extends Message {
104
- body: MessageBody<T>;
110
+ body: StartBody<T>;
105
111
  }
106
- export interface TelegramName {
107
- first: string;
108
- last: string;
112
+ export interface StartBody<T = any> {
113
+ c?: bigint | number;
114
+ d?: T;
115
+ m?: string;
109
116
  }
@@ -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 type { UpdateType } from './enums';
2
1
  import type { Context } from './interfaces';
3
- export type HandlerMiddleware<T extends UpdateType> = (context: Context[T]) => any;
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';