From f40b4217177bd33679eba6815dc285ce6e4c3ae5 Mon Sep 17 00:00:00 2001 From: danielperez9430 Date: Thu, 30 May 2024 23:33:27 +0200 Subject: [PATCH] feat: Support Telegram Bot API 7.4 --- CHANGELOG.md | 4 ++++ README.md | 4 ++-- doc/api.md | 16 ++++++++++++++++ package.json | 2 +- src/telegram.js | 15 +++++++++++++++ 5 files changed, 38 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9091b88..3d067fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,11 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [0.67.0][0.67.0] - 2024-05-30 +1. Support Telegram Bot API 7.4 (@danielperez9430) + * refundStarPayment + ## [0.66.0][0.66.0] - 2024-05-03 1. Support Telegram Bot API 7.2 & 7.3 (@danielperez9430) diff --git a/README.md b/README.md index b8101ec..9e29966 100644 --- a/README.md +++ b/README.md @@ -5,13 +5,13 @@ Node.js module to interact with the official [Telegram Bot API](https://core.telegram.org/bots/api). -[![Bot API](https://img.shields.io/badge/Bot%20API-v.3-00aced.svg?style=flat-square&logo=telegram)](https://core.telegram.org/bots/api) +[![Bot API](https://img.shields.io/badge/Bot%20API-v.7.4-00aced.svg?style=flat-square&logo=telegram)](https://core.telegram.org/bots/api) [![npm package](https://img.shields.io/npm/v/node-telegram-bot-api?logo=npm&style=flat-square)](https://www.npmjs.org/package/node-telegram-bot-api) [![Build Status](https://img.shields.io/travis/yagop/node-telegram-bot-api/master?style=flat-square&logo=travis)](https://travis-ci.org/yagop/node-telegram-bot-api) [![Coverage Status](https://img.shields.io/codecov/c/github/yagop/node-telegram-bot-api?style=flat-square&logo=codecov)](https://codecov.io/gh/yagop/node-telegram-bot-api) [![https://telegram.me/node_telegram_bot_api](https://img.shields.io/badge/💬%20Telegram-Channel-blue.svg?style=flat-square)](https://telegram.me/node_telegram_bot_api) -[![https://t.me/+nc3A9Hs1S81mYzdk](https://img.shields.io/badge/💬%20Telegram-Group-blue.svg?style=flat-square)](https://t.me/+nc3A9Hs1S81mYzdk) +[![https://t.me/+_IC8j_b1wSFlZTVk](https://img.shields.io/badge/💬%20Telegram-Group-blue.svg?style=flat-square)](https://t.me/+_IC8j_b1wSFlZTVk) [![https://telegram.me/Yago_Perez](https://img.shields.io/badge/💬%20Telegram-Yago_Perez-blue.svg?style=flat-square)](https://telegram.me/Yago_Perez) diff --git a/doc/api.md b/doc/api.md index 745895a..52a066f 100644 --- a/doc/api.md +++ b/doc/api.md @@ -146,6 +146,7 @@ TelegramBot * [.createInvoiceLink(title, description, payload, providerToken, currency, prices, [options])](#TelegramBot+createInvoiceLink) ⇒ Promise * [.answerShippingQuery(shippingQueryId, ok, [options])](#TelegramBot+answerShippingQuery) ⇒ Promise * [.answerPreCheckoutQuery(preCheckoutQueryId, ok, [options])](#TelegramBot+answerPreCheckoutQuery) ⇒ Promise + * [.refundStarPayment(userId, telegramPaymentChargeId, [options])](#TelegramBot+refundStarPayment) ⇒ Promise * [.sendGame(chatId, gameShortName, [options])](#TelegramBot+sendGame) ⇒ Promise * [.setGameScore(userId, score, [options])](#TelegramBot+setGameScore) ⇒ Promise * [.getGameHighScores(userId, [options])](#TelegramBot+getGameHighScores) ⇒ Promise @@ -2364,6 +2365,21 @@ an [Update](https://core.telegram.org/bots/api#update) with the field *pre_check | ok | Boolean | Specify if every order details are ok | | [options] | Object | Additional Telegram query options | + + +### telegramBot.refundStarPayment(userId, telegramPaymentChargeId, [options]) ⇒ Promise +Use this method for refund a successful payment in [Telegram Stars](https://t.me/BotNews/90) + +**Kind**: instance method of [TelegramBot](#TelegramBot) +**Returns**: Promise - On success, True is returned +**See**: https://core.telegram.org/bots/api#refundstarpayment + +| Param | Type | Description | +| --- | --- | --- | +| userId | Number | Unique identifier of the user whose payment will be refunded | +| telegramPaymentChargeId | String | Telegram payment identifier | +| [options] | Object | Additional Telegram query options | + ### telegramBot.sendGame(chatId, gameShortName, [options]) ⇒ Promise diff --git a/package.json b/package.json index 808f779..4ee2536 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "node-telegram-bot-api", - "version": "0.66.0", + "version": "0.67.0", "description": "Telegram Bot API", "main": "./index.js", "directories": { diff --git a/src/telegram.js b/src/telegram.js index 5cb196d..b527a9f 100644 --- a/src/telegram.js +++ b/src/telegram.js @@ -3025,6 +3025,21 @@ class TelegramBot extends EventEmitter { return this._request('answerPreCheckoutQuery', { form }); } + /** + * Use this method for refund a successful payment in [Telegram Stars](https://t.me/BotNews/90) + * + * @param {Number} userId Unique identifier of the user whose payment will be refunded + * @param {String} telegramPaymentChargeId Telegram payment identifier + * @param {Object} [options] Additional Telegram query options + * @return {Promise} On success, True is returned + * @see https://core.telegram.org/bots/api#refundstarpayment + */ + refundStarPayment(userId, telegramPaymentChargeId, form = {}) { + form.user_id = userId; + form.telegram_payment_charge_id = telegramPaymentChargeId; + return this._request('refundStarPayment', { form }); + } + /** * Use this method to send a game. *