From 6f3a2dacfac22c0381e2cfbbd8f0e5239ef8dc2f Mon Sep 17 00:00:00 2001 From: Giorgio Garasto Date: Thu, 17 Jan 2019 20:15:26 +0100 Subject: [PATCH 1/3] Improve node-telegram-bot-api events types --- types/node-telegram-bot-api/index.d.ts | 128 ++++++++++++++++++ .../node-telegram-bot-api-tests.ts | 60 ++++++++ 2 files changed, 188 insertions(+) diff --git a/types/node-telegram-bot-api/index.d.ts b/types/node-telegram-bot-api/index.d.ts index 9d9616b813..2238e37ee4 100644 --- a/types/node-telegram-bot-api/index.d.ts +++ b/types/node-telegram-bot-api/index.d.ts @@ -36,6 +36,8 @@ declare namespace TelegramBot { type DocumentMimeType = 'application/pdf' | 'application/zip'; + type MessageType = 'text' | 'animation' | 'audio' | 'channel_chat_created' | 'contact' | 'delete_chat_photo' | 'document' | 'game' | 'group_chat_created' | 'invoice' | 'left_chat_member' | 'location' | 'migrate_from_chat_id' | 'migrate_to_chat_id' | 'new_chat_members' | 'new_chat_photo' | 'new_chat_title' | 'passport_data' | 'photo' | 'pinned_message' | 'sticker' | 'successful_payment' | 'supergroup_chat_created' | 'video' | 'video_note' | 'voice'; + type MessageEntityType = 'mention' | 'hashtag' | 'bot_command' | 'url' | 'email' | 'bold' | 'italic' | 'code' | 'pre' | 'text_link' | 'text_mention'; type ParseMode = 'Markdown' | 'HTML'; @@ -887,6 +889,10 @@ declare namespace TelegramBot { user: User; score: number; } + + interface Metadata { + type?: MessageType; + } } declare class TelegramBot extends EventEmitter { @@ -1031,6 +1037,128 @@ declare class TelegramBot extends EventEmitter { answerShippingQuery(shippingQueryId: string, ok: boolean, options?: TelegramBot.AnswerShippingQueryOptions): Promise; answerPreCheckoutQuery(preCheckoutQueryId: string, ok: boolean, options?: TelegramBot.AnswerPreCheckoutQueryOptions): Promise; + + addListener(event: TelegramBot.MessageType | 'message', listener: (message: TelegramBot.Message, metadata: TelegramBot.Metadata) => void): this; + + addListener(event: 'callback_query', listener: (query: TelegramBot.CallbackQuery) => void): this; + + addListener(event: 'inline_query', listener: (query: TelegramBot.InlineQuery) => void): this; + + addListener(event: 'chosen_inline_result', listener: (result: TelegramBot.ChosenInlineResult) => void): this; + + addListener(event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', listener: (message: TelegramBot.Message) => void): this; + + addListener(event: 'shipping_query', listener: (query: TelegramBot.ShippingQuery) => void): this; + + addListener(event: 'pre_checkout_query', listener: (query: TelegramBot.PreCheckoutQuery) => void): this; + + addListener(event: 'polling_error' | 'webhook_error' | 'error', listener: (error: Error) => void): this; + + on(event: TelegramBot.MessageType | 'message', listener: (message: TelegramBot.Message, metadata: TelegramBot.Metadata) => void): this; + + on(event: 'callback_query', listener: (query: TelegramBot.CallbackQuery) => void): this; + + on(event: 'inline_query', listener: (query: TelegramBot.InlineQuery) => void): this; + + on(event: 'chosen_inline_result', listener: (result: TelegramBot.ChosenInlineResult) => void): this; + + on(event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', listener: (message: TelegramBot.Message) => void): this; + + on(event: 'shipping_query', listener: (query: TelegramBot.ShippingQuery) => void): this; + + on(event: 'pre_checkout_query', listener: (query: TelegramBot.PreCheckoutQuery) => void): this; + + on(event: 'polling_error' | 'webhook_error' | 'error', listener: (error: Error) => void): this; + + once(event: TelegramBot.MessageType | 'message', listener: (message: TelegramBot.Message, metadata: TelegramBot.Metadata) => void): this; + + once(event: 'callback_query', listener: (query: TelegramBot.CallbackQuery) => void): this; + + once(event: 'inline_query', listener: (query: TelegramBot.InlineQuery) => void): this; + + once(event: 'chosen_inline_result', listener: (result: TelegramBot.ChosenInlineResult) => void): this; + + once(event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', listener: (message: TelegramBot.Message) => void): this; + + once(event: 'shipping_query', listener: (query: TelegramBot.ShippingQuery) => void): this; + + once(event: 'pre_checkout_query', listener: (query: TelegramBot.PreCheckoutQuery) => void): this; + + once(event: 'polling_error' | 'webhook_error' | 'error', listener: (error: Error) => void): this; + + prependListener(event: TelegramBot.MessageType | 'message', listener: (message: TelegramBot.Message, metadata: TelegramBot.Metadata) => void): this; + + prependListener(event: 'callback_query', listener: (query: TelegramBot.CallbackQuery) => void): this; + + prependListener(event: 'inline_query', listener: (query: TelegramBot.InlineQuery) => void): this; + + prependListener(event: 'chosen_inline_result', listener: (result: TelegramBot.ChosenInlineResult) => void): this; + + prependListener(event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', listener: (message: TelegramBot.Message) => void): this; + + prependListener(event: 'shipping_query', listener: (query: TelegramBot.ShippingQuery) => void): this; + + prependListener(event: 'pre_checkout_query', listener: (query: TelegramBot.PreCheckoutQuery) => void): this; + + prependListener(event: 'polling_error' | 'webhook_error' | 'error', listener: (error: Error) => void): this; + + prependOnceListener(event: TelegramBot.MessageType | 'message', listener: (message: TelegramBot.Message, metadata: TelegramBot.Metadata) => void): this; + + prependOnceListener(event: 'callback_query', listener: (query: TelegramBot.CallbackQuery) => void): this; + + prependOnceListener(event: 'inline_query', listener: (query: TelegramBot.InlineQuery) => void): this; + + prependOnceListener(event: 'chosen_inline_result', listener: (result: TelegramBot.ChosenInlineResult) => void): this; + + prependOnceListener(event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', listener: (message: TelegramBot.Message) => void): this; + + prependOnceListener(event: 'shipping_query', listener: (query: TelegramBot.ShippingQuery) => void): this; + + prependOnceListener(event: 'pre_checkout_query', listener: (query: TelegramBot.PreCheckoutQuery) => void): this; + + prependOnceListener(event: 'polling_error' | 'webhook_error' | 'error', listener: (error: Error) => void): this; + + removeListener(event: TelegramBot.MessageType | 'message', listener: (message: TelegramBot.Message, metadata: TelegramBot.Metadata) => void): this; + + removeListener(event: 'callback_query', listener: (query: TelegramBot.CallbackQuery) => void): this; + + removeListener(event: 'inline_query', listener: (query: TelegramBot.InlineQuery) => void): this; + + removeListener(event: 'chosen_inline_result', listener: (result: TelegramBot.ChosenInlineResult) => void): this; + + removeListener(event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', listener: (message: TelegramBot.Message) => void): this; + + removeListener(event: 'shipping_query', listener: (query: TelegramBot.ShippingQuery) => void): this; + + removeListener(event: 'pre_checkout_query', listener: (query: TelegramBot.PreCheckoutQuery) => void): this; + + removeListener(event: 'polling_error' | 'webhook_error' | 'error', listener: (error: Error) => void): this; + + off(event: TelegramBot.MessageType | 'message', listener: (message: TelegramBot.Message, metadata: TelegramBot.Metadata) => void): this; + + off(event: 'callback_query', listener: (query: TelegramBot.CallbackQuery) => void): this; + + off(event: 'inline_query', listener: (query: TelegramBot.InlineQuery) => void): this; + + off(event: 'chosen_inline_result', listener: (result: TelegramBot.ChosenInlineResult) => void): this; + + off(event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', listener: (message: TelegramBot.Message) => void): this; + + off(event: 'shipping_query', listener: (query: TelegramBot.ShippingQuery) => void): this; + + off(event: 'pre_checkout_query', listener: (query: TelegramBot.PreCheckoutQuery) => void): this; + + off(event: 'polling_error' | 'webhook_error' | 'error', listener: (error: Error) => void): this; + + removeAllListeners(event: TelegramBot.MessageType | 'message' | 'callback_query' | 'inline_query' | 'chosen_inline_result' | 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption' | 'shipping_query' | 'pre_checkout_query' | 'polling_error' | 'webhook_error' | 'error'): this; + + listeners(event: TelegramBot.MessageType | 'message' | 'callback_query' | 'inline_query' | 'chosen_inline_result' | 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption' | 'shipping_query' | 'pre_checkout_query' | 'polling_error' | 'webhook_error' | 'error'): Function[]; + + rawListeners(event: TelegramBot.MessageType | 'message' | 'callback_query' | 'inline_query' | 'chosen_inline_result' | 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption' | 'shipping_query' | 'pre_checkout_query' | 'polling_error' | 'webhook_error' | 'error'): Function[]; + + eventNames(): (TelegramBot.MessageType | 'message' | 'callback_query' | 'inline_query' | 'chosen_inline_result' | 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption' | 'shipping_query' | 'pre_checkout_query' | 'polling_error' | 'webhook_error' | 'error')[]; + + listenerCount(event: TelegramBot.MessageType | 'message' | 'callback_query' | 'inline_query' | 'chosen_inline_result' | 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption' | 'shipping_query' | 'pre_checkout_query' | 'polling_error' | 'webhook_error' | 'error'): number; } export = TelegramBot; diff --git a/types/node-telegram-bot-api/node-telegram-bot-api-tests.ts b/types/node-telegram-bot-api/node-telegram-bot-api-tests.ts index 49368e74ec..b2d7cea2e6 100644 --- a/types/node-telegram-bot-api/node-telegram-bot-api-tests.ts +++ b/types/node-telegram-bot-api/node-telegram-bot-api-tests.ts @@ -92,3 +92,63 @@ MyTelegramBot.answerShippingQuery('shippingQueryId', true, { shipping_options: [ }] }] }); MyTelegramBot.answerPreCheckoutQuery('preCheckoutQueryId', true, { error_message: 'Bar' }); +MyTelegramBot.addListener('message', (message: TelegramBot.Message, { type }) => { }); +MyTelegramBot.addListener('callback_query', (query: TelegramBot.CallbackQuery) => { }); +MyTelegramBot.addListener('inline_query', (query: TelegramBot.InlineQuery) => { }); +MyTelegramBot.addListener('chosen_inline_result', (result: TelegramBot.ChosenInlineResult) => { }); +MyTelegramBot.addListener('channel_post', (message: TelegramBot.Message) => { }); +MyTelegramBot.addListener('shipping_query', (query: TelegramBot.ShippingQuery) => { }); +MyTelegramBot.addListener('pre_checkout_query', (query: TelegramBot.PreCheckoutQuery) => { }); +MyTelegramBot.addListener('polling_error', (error: Error) => { }); +MyTelegramBot.on('message', (message: TelegramBot.Message, { type }) => { }); +MyTelegramBot.on('callback_query', (query: TelegramBot.CallbackQuery) => { }); +MyTelegramBot.on('inline_query', (query: TelegramBot.InlineQuery) => { }); +MyTelegramBot.on('chosen_inline_result', (result: TelegramBot.ChosenInlineResult) => { }); +MyTelegramBot.on('channel_post', (message: TelegramBot.Message) => { }); +MyTelegramBot.on('shipping_query', (query: TelegramBot.ShippingQuery) => { }); +MyTelegramBot.on('pre_checkout_query', (query: TelegramBot.PreCheckoutQuery) => { }); +MyTelegramBot.on('polling_error', (error: Error) => { }); +MyTelegramBot.once('message', (message: TelegramBot.Message, { type }) => { }); +MyTelegramBot.once('callback_query', (query: TelegramBot.CallbackQuery) => { }); +MyTelegramBot.once('inline_query', (query: TelegramBot.InlineQuery) => { }); +MyTelegramBot.once('chosen_inline_result', (result: TelegramBot.ChosenInlineResult) => { }); +MyTelegramBot.once('channel_post', (message: TelegramBot.Message) => { }); +MyTelegramBot.once('shipping_query', (query: TelegramBot.ShippingQuery) => { }); +MyTelegramBot.once('pre_checkout_query', (query: TelegramBot.PreCheckoutQuery) => { }); +MyTelegramBot.once('polling_error', (error: Error) => { }); +MyTelegramBot.prependListener('message', (message: TelegramBot.Message, { type }) => { }); +MyTelegramBot.prependListener('callback_query', (query: TelegramBot.CallbackQuery) => { }); +MyTelegramBot.prependListener('inline_query', (query: TelegramBot.InlineQuery) => { }); +MyTelegramBot.prependListener('chosen_inline_result', (result: TelegramBot.ChosenInlineResult) => { }); +MyTelegramBot.prependListener('channel_post', (message: TelegramBot.Message) => { }); +MyTelegramBot.prependListener('shipping_query', (query: TelegramBot.ShippingQuery) => { }); +MyTelegramBot.prependListener('pre_checkout_query', (query: TelegramBot.PreCheckoutQuery) => { }); +MyTelegramBot.prependListener('polling_error', (error: Error) => { }); +MyTelegramBot.prependOnceListener('message', (message: TelegramBot.Message, { type }) => { }); +MyTelegramBot.prependOnceListener('callback_query', (query: TelegramBot.CallbackQuery) => { }); +MyTelegramBot.prependOnceListener('inline_query', (query: TelegramBot.InlineQuery) => { }); +MyTelegramBot.prependOnceListener('chosen_inline_result', (result: TelegramBot.ChosenInlineResult) => { }); +MyTelegramBot.prependOnceListener('channel_post', (message: TelegramBot.Message) => { }); +MyTelegramBot.prependOnceListener('shipping_query', (query: TelegramBot.ShippingQuery) => { }); +MyTelegramBot.prependOnceListener('pre_checkout_query', (query: TelegramBot.PreCheckoutQuery) => { }); +MyTelegramBot.prependOnceListener('polling_error', (error: Error) => { }); +MyTelegramBot.removeListener('message', (message: TelegramBot.Message, { type }) => { }); +MyTelegramBot.removeListener('callback_query', (query: TelegramBot.CallbackQuery) => { }); +MyTelegramBot.removeListener('inline_query', (query: TelegramBot.InlineQuery) => { }); +MyTelegramBot.removeListener('chosen_inline_result', (result: TelegramBot.ChosenInlineResult) => { }); +MyTelegramBot.removeListener('channel_post', (message: TelegramBot.Message) => { }); +MyTelegramBot.removeListener('shipping_query', (query: TelegramBot.ShippingQuery) => { }); +MyTelegramBot.removeListener('pre_checkout_query', (query: TelegramBot.PreCheckoutQuery) => { }); +MyTelegramBot.removeListener('polling_error', (error: Error) => { }); +MyTelegramBot.off('message', (message: TelegramBot.Message, { type }) => { }); +MyTelegramBot.off('callback_query', (query: TelegramBot.CallbackQuery) => { }); +MyTelegramBot.off('inline_query', (query: TelegramBot.InlineQuery) => { }); +MyTelegramBot.off('chosen_inline_result', (result: TelegramBot.ChosenInlineResult) => { }); +MyTelegramBot.off('channel_post', (message: TelegramBot.Message) => { }); +MyTelegramBot.off('shipping_query', (query: TelegramBot.ShippingQuery) => { }); +MyTelegramBot.off('pre_checkout_query', (query: TelegramBot.PreCheckoutQuery) => { }); +MyTelegramBot.off('polling_error', (error: Error) => { }); +MyTelegramBot.removeAllListeners('message'); +MyTelegramBot.listeners('message'); +MyTelegramBot.rawListeners('message'); +MyTelegramBot.listenerCount('message'); From d134378bb37a155357e803b2296b2ba4257503d3 Mon Sep 17 00:00:00 2001 From: Giorgio Garasto Date: Thu, 17 Jan 2019 20:23:32 +0100 Subject: [PATCH 2/3] Make function types more specific --- types/node-telegram-bot-api/index.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/types/node-telegram-bot-api/index.d.ts b/types/node-telegram-bot-api/index.d.ts index 2238e37ee4..730af5ec15 100644 --- a/types/node-telegram-bot-api/index.d.ts +++ b/types/node-telegram-bot-api/index.d.ts @@ -1152,9 +1152,9 @@ declare class TelegramBot extends EventEmitter { removeAllListeners(event: TelegramBot.MessageType | 'message' | 'callback_query' | 'inline_query' | 'chosen_inline_result' | 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption' | 'shipping_query' | 'pre_checkout_query' | 'polling_error' | 'webhook_error' | 'error'): this; - listeners(event: TelegramBot.MessageType | 'message' | 'callback_query' | 'inline_query' | 'chosen_inline_result' | 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption' | 'shipping_query' | 'pre_checkout_query' | 'polling_error' | 'webhook_error' | 'error'): Function[]; + listeners(event: TelegramBot.MessageType | 'message' | 'callback_query' | 'inline_query' | 'chosen_inline_result' | 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption' | 'shipping_query' | 'pre_checkout_query' | 'polling_error' | 'webhook_error' | 'error'): ((data: any, metadata?: TelegramBot.Metadata) => void)[]; - rawListeners(event: TelegramBot.MessageType | 'message' | 'callback_query' | 'inline_query' | 'chosen_inline_result' | 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption' | 'shipping_query' | 'pre_checkout_query' | 'polling_error' | 'webhook_error' | 'error'): Function[]; + rawListeners(event: TelegramBot.MessageType | 'message' | 'callback_query' | 'inline_query' | 'chosen_inline_result' | 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption' | 'shipping_query' | 'pre_checkout_query' | 'polling_error' | 'webhook_error' | 'error'): ((data: any, metadata?: TelegramBot.Metadata) => void)[]; eventNames(): (TelegramBot.MessageType | 'message' | 'callback_query' | 'inline_query' | 'chosen_inline_result' | 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption' | 'shipping_query' | 'pre_checkout_query' | 'polling_error' | 'webhook_error' | 'error')[]; From 9ea25077b0d9c011e8c9af38b954d7f390f75828 Mon Sep 17 00:00:00 2001 From: Giorgio Garasto Date: Thu, 17 Jan 2019 20:42:29 +0100 Subject: [PATCH 3/3] Code linting --- types/node-telegram-bot-api/index.d.ts | 167 +++++++++++++++++++++++-- 1 file changed, 154 insertions(+), 13 deletions(-) diff --git a/types/node-telegram-bot-api/index.d.ts b/types/node-telegram-bot-api/index.d.ts index 730af5ec15..d16fd490df 100644 --- a/types/node-telegram-bot-api/index.d.ts +++ b/types/node-telegram-bot-api/index.d.ts @@ -36,7 +36,33 @@ declare namespace TelegramBot { type DocumentMimeType = 'application/pdf' | 'application/zip'; - type MessageType = 'text' | 'animation' | 'audio' | 'channel_chat_created' | 'contact' | 'delete_chat_photo' | 'document' | 'game' | 'group_chat_created' | 'invoice' | 'left_chat_member' | 'location' | 'migrate_from_chat_id' | 'migrate_to_chat_id' | 'new_chat_members' | 'new_chat_photo' | 'new_chat_title' | 'passport_data' | 'photo' | 'pinned_message' | 'sticker' | 'successful_payment' | 'supergroup_chat_created' | 'video' | 'video_note' | 'voice'; + type MessageType = + 'text' | + 'animation' | + 'audio' | + 'channel_chat_created' | + 'contact' | + 'delete_chat_photo' | + 'document' | + 'game' | + 'group_chat_created' | + 'invoice' | + 'left_chat_member' | + 'location' | + 'migrate_from_chat_id' | + 'migrate_to_chat_id' | + 'new_chat_members' | + 'new_chat_photo' | + 'new_chat_title' | + 'passport_data' | + 'photo' | + 'pinned_message' | + 'sticker' | + 'successful_payment' | + 'supergroup_chat_created' | + 'video' | + 'video_note' | + 'voice'; type MessageEntityType = 'mention' | 'hashtag' | 'bot_command' | 'url' | 'email' | 'bold' | 'italic' | 'code' | 'pre' | 'text_link' | 'text_mention'; @@ -1046,7 +1072,10 @@ declare class TelegramBot extends EventEmitter { addListener(event: 'chosen_inline_result', listener: (result: TelegramBot.ChosenInlineResult) => void): this; - addListener(event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', listener: (message: TelegramBot.Message) => void): this; + addListener( + event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', + listener: (message: TelegramBot.Message) => void + ): this; addListener(event: 'shipping_query', listener: (query: TelegramBot.ShippingQuery) => void): this; @@ -1062,7 +1091,10 @@ declare class TelegramBot extends EventEmitter { on(event: 'chosen_inline_result', listener: (result: TelegramBot.ChosenInlineResult) => void): this; - on(event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', listener: (message: TelegramBot.Message) => void): this; + on( + event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', + listener: (message: TelegramBot.Message) => void + ): this; on(event: 'shipping_query', listener: (query: TelegramBot.ShippingQuery) => void): this; @@ -1078,7 +1110,10 @@ declare class TelegramBot extends EventEmitter { once(event: 'chosen_inline_result', listener: (result: TelegramBot.ChosenInlineResult) => void): this; - once(event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', listener: (message: TelegramBot.Message) => void): this; + once( + event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', + listener: (message: TelegramBot.Message) => void + ): this; once(event: 'shipping_query', listener: (query: TelegramBot.ShippingQuery) => void): this; @@ -1094,7 +1129,10 @@ declare class TelegramBot extends EventEmitter { prependListener(event: 'chosen_inline_result', listener: (result: TelegramBot.ChosenInlineResult) => void): this; - prependListener(event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', listener: (message: TelegramBot.Message) => void): this; + prependListener( + event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', + listener: (message: TelegramBot.Message) => void + ): this; prependListener(event: 'shipping_query', listener: (query: TelegramBot.ShippingQuery) => void): this; @@ -1110,7 +1148,10 @@ declare class TelegramBot extends EventEmitter { prependOnceListener(event: 'chosen_inline_result', listener: (result: TelegramBot.ChosenInlineResult) => void): this; - prependOnceListener(event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', listener: (message: TelegramBot.Message) => void): this; + prependOnceListener( + event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', + listener: (message: TelegramBot.Message) => void + ): this; prependOnceListener(event: 'shipping_query', listener: (query: TelegramBot.ShippingQuery) => void): this; @@ -1126,7 +1167,10 @@ declare class TelegramBot extends EventEmitter { removeListener(event: 'chosen_inline_result', listener: (result: TelegramBot.ChosenInlineResult) => void): this; - removeListener(event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', listener: (message: TelegramBot.Message) => void): this; + removeListener( + event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', + listener: (message: TelegramBot.Message) => void + ): this; removeListener(event: 'shipping_query', listener: (query: TelegramBot.ShippingQuery) => void): this; @@ -1142,7 +1186,10 @@ declare class TelegramBot extends EventEmitter { off(event: 'chosen_inline_result', listener: (result: TelegramBot.ChosenInlineResult) => void): this; - off(event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', listener: (message: TelegramBot.Message) => void): this; + off( + event: 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption', + listener: (message: TelegramBot.Message) => void + ): this; off(event: 'shipping_query', listener: (query: TelegramBot.ShippingQuery) => void): this; @@ -1150,15 +1197,109 @@ declare class TelegramBot extends EventEmitter { off(event: 'polling_error' | 'webhook_error' | 'error', listener: (error: Error) => void): this; - removeAllListeners(event: TelegramBot.MessageType | 'message' | 'callback_query' | 'inline_query' | 'chosen_inline_result' | 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption' | 'shipping_query' | 'pre_checkout_query' | 'polling_error' | 'webhook_error' | 'error'): this; + removeAllListeners( + event: + TelegramBot.MessageType | + 'message' | + 'callback_query' | + 'inline_query' | + 'chosen_inline_result' | + 'channel_post' | + 'edited_message' | + 'edited_message_text' | + 'edited_message_caption' | + 'edited_channel_post' | + 'edited_channel_post_text' | + 'edited_channel_post_caption' | + 'shipping_query' | + 'pre_checkout_query' | + 'polling_error' | + 'webhook_error' | + 'error' + ): this; - listeners(event: TelegramBot.MessageType | 'message' | 'callback_query' | 'inline_query' | 'chosen_inline_result' | 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption' | 'shipping_query' | 'pre_checkout_query' | 'polling_error' | 'webhook_error' | 'error'): ((data: any, metadata?: TelegramBot.Metadata) => void)[]; + listeners( + event: + TelegramBot.MessageType | + 'message' | + 'callback_query' | + 'inline_query' | + 'chosen_inline_result' | + 'channel_post' | + 'edited_message' | + 'edited_message_text' | + 'edited_message_caption' | + 'edited_channel_post' | + 'edited_channel_post_text' | + 'edited_channel_post_caption' | + 'shipping_query' | + 'pre_checkout_query' | + 'polling_error' | + 'webhook_error' | + 'error' + ): Array<(data: any, metadata?: TelegramBot.Metadata) => void>; - rawListeners(event: TelegramBot.MessageType | 'message' | 'callback_query' | 'inline_query' | 'chosen_inline_result' | 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption' | 'shipping_query' | 'pre_checkout_query' | 'polling_error' | 'webhook_error' | 'error'): ((data: any, metadata?: TelegramBot.Metadata) => void)[]; + rawListeners( + event: + TelegramBot.MessageType | + 'message' | + 'callback_query' | + 'inline_query' | + 'chosen_inline_result' | + 'channel_post' | + 'edited_message' | + 'edited_message_text' | + 'edited_message_caption' | + 'edited_channel_post' | + 'edited_channel_post_text' | + 'edited_channel_post_caption' | + 'shipping_query' | + 'pre_checkout_query' | + 'polling_error' | + 'webhook_error' | + 'error' + ): Array<(data: any, metadata?: TelegramBot.Metadata) => void>; - eventNames(): (TelegramBot.MessageType | 'message' | 'callback_query' | 'inline_query' | 'chosen_inline_result' | 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption' | 'shipping_query' | 'pre_checkout_query' | 'polling_error' | 'webhook_error' | 'error')[]; + eventNames(): Array< + TelegramBot.MessageType | + 'message' | + 'callback_query' | + 'inline_query' | + 'chosen_inline_result' | + 'channel_post' | + 'edited_message' | + 'edited_message_text' | + 'edited_message_caption' | + 'edited_channel_post' | + 'edited_channel_post_text' | + 'edited_channel_post_caption' | + 'shipping_query' | + 'pre_checkout_query' | + 'polling_error' | + 'webhook_error' | + 'error' + >; - listenerCount(event: TelegramBot.MessageType | 'message' | 'callback_query' | 'inline_query' | 'chosen_inline_result' | 'channel_post' | 'edited_message' | 'edited_message_text' | 'edited_message_caption' | 'edited_channel_post' | 'edited_channel_post_text' | 'edited_channel_post_caption' | 'shipping_query' | 'pre_checkout_query' | 'polling_error' | 'webhook_error' | 'error'): number; + listenerCount( + event: + TelegramBot.MessageType | + 'message' | + 'callback_query' | + 'inline_query' | + 'chosen_inline_result' | + 'channel_post' | + 'edited_message' | + 'edited_message_text' | + 'edited_message_caption' | + 'edited_channel_post' | + 'edited_channel_post_text' | + 'edited_channel_post_caption' | + 'shipping_query' | + 'pre_checkout_query' | + 'polling_error' | + 'webhook_error' | + 'error' + ): number; } export = TelegramBot;