mirror of
https://github.com/yagop/node-telegram-bot-api
synced 2025-08-28 12:57:38 +00:00
Merge pull request #625 from kamikazechaser/api-v4
[API v4.0] Publish new methods and message types
This commit is contained in:
commit
42b31fbc9e
41
doc/api.md
41
doc/api.md
@ -35,6 +35,7 @@ TelegramBot
|
||||
* [.sendDocument(chatId, doc, [options], [fileOptions])](#TelegramBot+sendDocument) ⇒ <code>Promise</code>
|
||||
* [.sendSticker(chatId, sticker, [options], [fileOptions])](#TelegramBot+sendSticker) ⇒ <code>Promise</code>
|
||||
* [.sendVideo(chatId, video, [options], [fileOptions])](#TelegramBot+sendVideo) ⇒ <code>Promise</code>
|
||||
* [.sendAnimation(chatId, animation, [options], [fileOptions])](#TelegramBot+sendAnimation) ⇒ <code>Promise</code>
|
||||
* [.sendVideoNote(chatId, videoNote, [options], [fileOptions])](#TelegramBot+sendVideoNote) ⇒ <code>Promise</code>
|
||||
* [.sendVoice(chatId, voice, [options], [fileOptions])](#TelegramBot+sendVoice) ⇒ <code>Promise</code>
|
||||
* [.sendChatAction(chatId, action, [options])](#TelegramBot+sendChatAction) ⇒ <code>Promise</code>
|
||||
@ -52,6 +53,7 @@ TelegramBot
|
||||
* [.answerCallbackQuery(callbackQueryId, [options])](#TelegramBot+answerCallbackQuery) ⇒ <code>Promise</code>
|
||||
* [.editMessageText(text, [options])](#TelegramBot+editMessageText) ⇒ <code>Promise</code>
|
||||
* [.editMessageCaption(caption, [options])](#TelegramBot+editMessageCaption) ⇒ <code>Promise</code>
|
||||
* [.editMessageMedia(media, [options])](#TelegramBot+editMessageMedia) ⇒ <code>Promise</code>
|
||||
* [.editMessageReplyMarkup(replyMarkup, [options])](#TelegramBot+editMessageReplyMarkup) ⇒ <code>Promise</code>
|
||||
* [.getUserProfilePhotos(userId, [options])](#TelegramBot+getUserProfilePhotos) ⇒ <code>Promise</code>
|
||||
* [.sendLocation(chatId, latitude, longitude, [options])](#TelegramBot+sendLocation) ⇒ <code>Promise</code>
|
||||
@ -436,6 +438,25 @@ Use this method to send video files, Telegram clients support mp4 videos (other
|
||||
| [options] | <code>Object</code> | Additional Telegram query options |
|
||||
| [fileOptions] | <code>Object</code> | Optional file related meta-data |
|
||||
|
||||
<a name="TelegramBot+sendAnimation"></a>
|
||||
|
||||
### telegramBot.sendAnimation(chatId, animation, [options], [fileOptions]) ⇒ <code>Promise</code>
|
||||
Use this method to send animation files (GIF or H.264/MPEG-4 AVC video without sound).
|
||||
|
||||
**Kind**: instance method of [<code>TelegramBot</code>](#TelegramBot)
|
||||
**See**
|
||||
|
||||
- https://core.telegram.org/bots/api#sendanimation
|
||||
- https://github.com/yagop/node-telegram-bot-api/blob/master/doc/usage.md#sending-files
|
||||
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| chatId | <code>Number</code> \| <code>String</code> | Unique identifier for the message recipient |
|
||||
| animation | <code>String</code> \| <code>stream.Stream</code> \| <code>Buffer</code> | A file path, Stream or Buffer. Can also be a `file_id` previously uploaded. |
|
||||
| [options] | <code>Object</code> | Additional Telegram query options |
|
||||
| [fileOptions] | <code>Object</code> | Optional file related meta-data |
|
||||
|
||||
<a name="TelegramBot+sendVideoNote"></a>
|
||||
|
||||
### telegramBot.sendVideoNote(chatId, videoNote, [options], [fileOptions]) ⇒ <code>Promise</code>
|
||||
@ -727,6 +748,26 @@ inline_message_id in your request.
|
||||
| caption | <code>String</code> | New caption of the message |
|
||||
| [options] | <code>Object</code> | Additional Telegram query options (provide either one of chat_id, message_id, or inline_message_id here) |
|
||||
|
||||
<a name="TelegramBot+editMessageMedia"></a>
|
||||
|
||||
### telegramBot.editMessageMedia(media, [options]) ⇒ <code>Promise</code>
|
||||
Use this method to edit audio, document, photo, or video messages.
|
||||
If a message is a part of a message album, then it can be edited only to a photo or a video.
|
||||
Otherwise, message type can be changed arbitrarily. When inline message is edited, new file can't be uploaded.
|
||||
Use previously uploaded file via its file_id or specify a URL.
|
||||
On success, the edited Message is returned.
|
||||
|
||||
Note that you must provide one of chat_id, message_id, or
|
||||
inline_message_id in your request.
|
||||
|
||||
**Kind**: instance method of [<code>TelegramBot</code>](#TelegramBot)
|
||||
**See**: https://core.telegram.org/bots/api#editmessagemedia
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| media | <code>Object</code> | A JSON-serialized object for a new media content of the message |
|
||||
| [options] | <code>Object</code> | Additional Telegram query options (provide either one of chat_id, message_id, or inline_message_id here) |
|
||||
|
||||
<a name="TelegramBot+editMessageReplyMarkup"></a>
|
||||
|
||||
### telegramBot.editMessageReplyMarkup(replyMarkup, [options]) ⇒ <code>Promise</code>
|
||||
|
@ -21,6 +21,7 @@ let Promise = require('bluebird');
|
||||
|
||||
const _messageTypes = [
|
||||
'text',
|
||||
'animation',
|
||||
'audio',
|
||||
'channel_chat_created',
|
||||
'contact',
|
||||
@ -36,6 +37,7 @@ const _messageTypes = [
|
||||
'new_chat_members',
|
||||
'new_chat_photo',
|
||||
'new_chat_title',
|
||||
'passport_data',
|
||||
'photo',
|
||||
'pinned_message',
|
||||
'sticker',
|
||||
@ -837,6 +839,32 @@ class TelegramBot extends EventEmitter {
|
||||
return this._request('sendVideo', opts);
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to send animation files (GIF or H.264/MPEG-4 AVC video without sound).
|
||||
* @param {Number|String} chatId Unique identifier for the message recipient
|
||||
* @param {String|stream.Stream|Buffer} animation A file path, Stream or Buffer.
|
||||
* Can also be a `file_id` previously uploaded.
|
||||
* @param {Object} [options] Additional Telegram query options
|
||||
* @param {Object} [fileOptions] Optional file related meta-data
|
||||
* @return {Promise}
|
||||
* @see https://core.telegram.org/bots/api#sendanimation
|
||||
* @see https://github.com/yagop/node-telegram-bot-api/blob/master/doc/usage.md#sending-files
|
||||
*/
|
||||
sendAnimation(chatId, animation, options = {}, fileOptions = {}) {
|
||||
const opts = {
|
||||
qs: options
|
||||
};
|
||||
opts.qs.chat_id = chatId;
|
||||
try {
|
||||
const sendData = this._formatSendData('animation', animation, fileOptions);
|
||||
opts.formData = sendData[0];
|
||||
opts.qs.document = sendData[1];
|
||||
} catch (ex) {
|
||||
return Promise.reject(ex);
|
||||
}
|
||||
return this._request('sendAnimation', opts);
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to send rounded square videos of upto 1 minute long.
|
||||
* @param {Number|String} chatId Unique identifier for the message recipient
|
||||
@ -1184,6 +1212,26 @@ class TelegramBot extends EventEmitter {
|
||||
return this._request('editMessageCaption', { form });
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to edit audio, document, photo, or video messages.
|
||||
* If a message is a part of a message album, then it can be edited only to a photo or a video.
|
||||
* Otherwise, message type can be changed arbitrarily. When inline message is edited, new file can't be uploaded.
|
||||
* Use previously uploaded file via its file_id or specify a URL.
|
||||
* On success, the edited Message is returned.
|
||||
*
|
||||
* Note that you must provide one of chat_id, message_id, or
|
||||
* inline_message_id in your request.
|
||||
*
|
||||
* @param {Object} media A JSON-serialized object for a new media content of the message
|
||||
* @param {Object} [options] Additional Telegram query options (provide either one of chat_id, message_id, or inline_message_id here)
|
||||
* @return {Promise}
|
||||
* @see https://core.telegram.org/bots/api#editmessagemedia
|
||||
*/
|
||||
editMessageMedia(media, form = {}) {
|
||||
form.media = media;
|
||||
return this._request('editMessageMedia', { form });
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to edit only the reply markup of messages
|
||||
* sent by the bot or via the bot (for inline bots).
|
||||
|
Loading…
x
Reference in New Issue
Block a user