2
0
mirror of https://github.com/yagop/node-telegram-bot-api synced 2025-08-28 21:07:39 +00:00

55 Commits

Author SHA1 Message Date
Daniel Pérez Fernández
5a4787884e
Telegram Bot API v5.3 Support (#886)
* Add new method sendPoll

* getMyCommands

* setMyCommands

* Update doc/api

* 1# Fix Test sendPhoto

The sendPhoto method does not support .gif files, use sendAnimation.

This fix remplace .gif file by .png

* CustomTitle and ChatPermissions support

setChatAdministratorCustomTitle
setChatPermissions

* Update Readme

Update Badge Telegram API Version

* Minor Fix and Fix setChatPhoto

The Telegram Bots api has a bug that they are fixing and gives problems with the previous image. While they don't fix it, the image replacement is the fastest solution

* Minor Fix and Add Test

Fixed setChatPermissions

Test:
- sendDice
- getMyCommands
- setMyCommands
- setChatAdministratorCustomTitle
- setChatPermissions

* Update Changelog and Package.json version

* Fix typos in Changelog

* Add support for poll_answer

From: https://github.com/yagop/node-telegram-bot-api/pull/777

* Add JieJiSS contribution in Changelog

* Add sendPoll Test

* Add unpinAllChatMessages Support

* Add copyMessage support

* Add close and logOut Support

* Add Test + Minor fixes

* Update CHANGELOG

Update version 0.50.1

* Update Readme Bot API Badge

* Update Version to 0.51.0

* Bot API 5.1 support Improved Invite Links

- Added the method createChatInviteLink
- Added the method editChatInviteLink
- Added the method revokeChatInviteLink

* Update version to 0.52.0 and new tests

- Update Changelog
- New Test
- Update version to 0.52.0

* Add new messageTypes

-  voice_chat_started
-  voice_chat_ended
- voice_chat_participants_invited

* Update Changelog and add new MessageType

* New messageTypes and updates

Add support for new messageTypes:
  - chat_invite_link
  - chat_member_updated

Add support for new updates:
 - my_chat_member
 - chat_member

* Telegram Bot API 5.2 Support

* Update Changelog + readme

* Fix Changelog

* Telegram Bot API v5.3

Add new methods:
* deleteMyCommands
* banChatMember
* getChatMemberCount

Deprecated:
 * Method kickChatMember()
 * Method getChatMembersCount()

New Test:
  * deleteMyCommands
  * banChatMember
  * getChatMemberCount

* docs: gen on linux

Co-authored-by: Mohammed Sohail <sohailsameja@gmail.com>
2021-06-29 11:38:33 +03:00
Daniel Pérez Fernández
de76dcd2cb
Bot API 5.1: Support Improved Invite Links and new messageTypes (#859)
* Add new method sendPoll

* getMyCommands

* setMyCommands

* Update doc/api

* 1# Fix Test sendPhoto

The sendPhoto method does not support .gif files, use sendAnimation.

This fix remplace .gif file by .png

* CustomTitle and ChatPermissions support

setChatAdministratorCustomTitle
setChatPermissions

* Update Readme

Update Badge Telegram API Version

* Minor Fix and Fix setChatPhoto

The Telegram Bots api has a bug that they are fixing and gives problems with the previous image. While they don't fix it, the image replacement is the fastest solution

* Minor Fix and Add Test

Fixed setChatPermissions

Test:
- sendDice
- getMyCommands
- setMyCommands
- setChatAdministratorCustomTitle
- setChatPermissions

* Update Changelog and Package.json version

* Fix typos in Changelog

* Add support for poll_answer

From: https://github.com/yagop/node-telegram-bot-api/pull/777

* Add JieJiSS contribution in Changelog

* Add sendPoll Test

* Add unpinAllChatMessages Support

* Add copyMessage support

* Add close and logOut Support

* Add Test + Minor fixes

* Update CHANGELOG

Update version 0.50.1

* Update Readme Bot API Badge

* Update Version to 0.51.0

* Bot API 5.1 support Improved Invite Links

- Added the method createChatInviteLink
- Added the method editChatInviteLink
- Added the method revokeChatInviteLink

* Update version to 0.52.0 and new tests

- Update Changelog
- New Test
- Update version to 0.52.0

* Add new messageTypes

-  voice_chat_started
-  voice_chat_ended
- voice_chat_participants_invited

* Update Changelog and add new MessageType

* New messageTypes and updates

Add support for new messageTypes:
  - chat_invite_link
  - chat_member_updated

Add support for new updates:
 - my_chat_member
 - chat_member
2021-03-29 17:37:10 +03:00
Daniel Pérez Fernández
5d30b6a134
Telegram Bot API 5.0 Support (#835)
* Add new method sendPoll

* getMyCommands

* setMyCommands

* Update doc/api

* 1# Fix Test sendPhoto

The sendPhoto method does not support .gif files, use sendAnimation.

This fix remplace .gif file by .png

* CustomTitle and ChatPermissions support

setChatAdministratorCustomTitle
setChatPermissions

* Update Readme

Update Badge Telegram API Version

* Minor Fix and Fix setChatPhoto

The Telegram Bots api has a bug that they are fixing and gives problems with the previous image. While they don't fix it, the image replacement is the fastest solution

* Minor Fix and Add Test

Fixed setChatPermissions

Test:
- sendDice
- getMyCommands
- setMyCommands
- setChatAdministratorCustomTitle
- setChatPermissions

* Update Changelog and Package.json version

* Fix typos in Changelog

* Add support for poll_answer

From: https://github.com/yagop/node-telegram-bot-api/pull/777

* Add JieJiSS contribution in Changelog

* Add sendPoll Test

* Add unpinAllChatMessages Support

* Add copyMessage support

* Add close and logOut Support

* Add Test + Minor fixes

* Update CHANGELOG

Update version 0.50.1

* Update Readme Bot API Badge

* Update Version to 0.51.0
2020-12-10 13:47:22 +03:00
Mohammed Sohail
93eaad082c
test: update removeTextListener 2020-05-12 12:42:44 +05:30
Daniel Pérez Fernández
1bae9c2964
Add new method sendDice, getMyCommands, setMyCommands and more (#796)
* Add new method sendPoll

* getMyCommands

* setMyCommands

* Update doc/api

* 1# Fix Test sendPhoto

The sendPhoto method does not support .gif files, use sendAnimation.

This fix remplace .gif file by .png

* CustomTitle and ChatPermissions support

setChatAdministratorCustomTitle
setChatPermissions

* Update Readme

Update Badge Telegram API Version

* Minor Fix and Fix setChatPhoto

The Telegram Bots api has a bug that they are fixing and gives problems with the previous image. While they don't fix it, the image replacement is the fastest solution

* Minor Fix and Add Test

Fixed setChatPermissions

Test:
- sendDice
- getMyCommands
- setMyCommands
- setChatAdministratorCustomTitle
- setChatPermissions

* Update Changelog and Package.json version

* Fix typos in Changelog

* Add support for poll_answer

From: https://github.com/yagop/node-telegram-bot-api/pull/777

* Add JieJiSS contribution in Changelog

* Add sendPoll Test
2020-05-12 09:31:30 +05:30
Mohammed Sohail
667380f1de
test: skip sendContact
- rate limits still apply
2019-10-15 21:50:06 +05:30
Mohammed Sohail
1f1e46e01b
test: skip stopMessageLiveLocation
- unexplicable error that is probabilistic in natuu
2019-10-15 20:19:44 +05:30
Mohammed Sohail
7feb88464d
test: update test suite
- remove unecessary tests for node v5 and below
- fix tg side errors when running tests i.e. currency format
- enable force builds on pr
2019-10-15 15:03:20 +05:30
Mohammed Sohail Sameja
47bea20539
[Tests] Update
- Set max-len at 200
- Fix eslint errors
2018-10-31 21:34:24 +05:30
Mohammed Sohail Sameja
6a7c088a63
[v4.0] Add tests and add minor improvement
Follow up update to #625

 - Tests for both methods (sendAnimation, editMediaMessage) have been
 added. editMediaMessage is nested under sendAnimation, hence both tests
 are technically under a single block.

- Add an improvement/minor fix to the editMediaMessage method, where we
now stringify the first parameter (media) object interally within the
library. This allows the lib user to simply pass an object as the 1st
param without stringifying it.
2018-10-26 15:03:52 +05:30
GochoMugo
0781ae685d
src/telegram: Add TelegramBot#sendMediaGroup()
References:

  * Telegram API documentation: https://core.telegram.org/bots/api#sendmediagroup
2017-12-20 11:59:39 +03:00
GochoMugo
1a08221174
src/telegram: Improve sending files (#471)
References:

  * PR: https://github.com/yagop/node-telegram-bot-api/pull/471
2017-12-20 11:03:00 +03:00
GochoMugo
4051117ed0
src: Minor reorganisation, fixes 2017-12-11 18:24:22 +03:00
GochoMugo
04e8b892aa
src/telegram: Emit 'info' on stream from TelegramBot#getFileStream() 2017-12-08 19:25:56 +03:00
GochoMugo
b968e893d3
src/telegram: Populate Stream#path from TelegramBot#getFileStream() 2017-12-08 19:18:55 +03:00
GochoMugo
b91409a2b6
test: Fix path to ssl key, cert 2017-12-07 13:05:48 +03:00
GochoMugo
d9692f45a9
src/telegram: Add TelegramBot#getFileStream()
References:

  * FR: https://github.com/yagop/node-telegram-bot-api/issues/442
2017-12-07 12:04:46 +03:00
GochoMugo
d6083e4327 src: Support file options, defaults in sending files 2017-12-05 13:39:17 +03:00
GochoMugo
59378d381b
test: Add tests 2017-11-27 06:33:59 +03:00
CapacitorSet
8fd243e6a8
src/telegram: Add TelegramBot#uploadStickerFile
Notes:

    * Closes PR #430

References:

    * FR: https://github.com/yagop/node-telegram-bot-api/issues/407
    * PR: https://github.com/yagop/node-telegram-bot-api/pull/430
    * PR-by: @CapacitorSet
2017-10-07 15:08:18 +03:00
CapacitorSet
a2d85b889a
src/telegram: Add TelegramBot#getStickerSet()
References:

    * FR: https://github.com/yagop/node-telegram-bot-api/issues/407
    * PR: https://github.com/yagop/node-telegram-bot-api/pull/429
    * PR-by: @CapacitorSet, @libertylocked
2017-10-07 14:50:25 +03:00
GochoMugo
ef48af49f5
src/telegram: Deprecate auto-enabling Promise cancellation
Side-effects:

  src/telegram: Allow providing custom Promise constructor

References:

  * BR: https://github.com/yagop/node-telegram-bot-api/issues/319
2017-08-25 18:39:13 +03:00
GochoMugo
5f7d306f60
test: Skip tests on TelegramBot#sendVideoNote()
References:

  * BR: https://github.com/yagop/node-telegram-bot-api/issues/365
2017-08-06 12:22:43 +03:00
Yago
f20a7f4ee5 Uppps, fix "{" 2017-07-05 23:51:03 +02:00
Yago
0bf148adb9 Check if test are running in CI and skip invoice if so 2017-07-05 23:47:05 +02:00
Yago
e1f8fb25ec Skip sendInvoice test method 2017-07-05 23:30:14 +02:00
GochoMugo
8ed0a2dcef
test: Fix test for TelegramBot#setChatDescription()
Bug:

  We MUST ensure we update the description. If the description
  is unchanged, an error is thrown by the API.

Fix:

  Append a random number to the description.
2017-07-05 11:38:39 +03:00
GochoMugo
96b90c2d56
src/telegram: Add tests for Bot API v3.1 methods
References:

  * PR: https://github.com/yagop/node-telegram-bot-api/pull/369
  * PR-by: @kamikazechaser
  * Parent-PR: https://github.com/yagop/node-telegram-bot-api/pull/362
  * Parent-PR-by: @Lord-Protector
2017-07-05 09:09:42 +03:00
Mohammed Sohail
fe527957e0 src/telegram: Support API v3 Payments (#335)
References:

   * API v3 Payments: https://core.telegram.org/bots/payments
    * PR: https://github.com/yagop/node-telegram-bot-api/pull/335
    * PR-by: @kamikazechaser 
    * API v3 progress tracker: https://github.com/yagop/node-telegram-bot-api/issues/332
2017-05-26 17:59:22 +03:00
GochoMugo
cda9d8d597
src/telegram: Add deleteMessage method
References:

  * API deleteMessage method: https://core.telegram.org/bots/api#deleteMessage
  * PR: https://github.com/yagop/node-telegram-bot-api/pull/324
  * PR-by: @JonasFowl
  * API v3: https://github.com/yagop/node-telegram-bot-api/issues/332
2017-05-26 16:29:02 +03:00
Mohammed Sohail
942fc4854b src/telegram: Add sendVideoNote method (#330)
References:

    * API sendVideoNote method: https://core.telegram.org/bots/api#sendvideonote
    * PR: https://github.com/yagop/node-telegram-bot-api/pull/330
    * PR-by: @kamikazechaser 
    * API v3: https://github.com/yagop/node-telegram-bot-api/issues/332
2017-05-26 16:25:34 +03:00
GochoMugo
64bbefd898
test: Fix tests for 'TelegramBot#onText()'
Bug:

  The registered listeners remain in effect even after
  the suite is completed; allowing other suites to trigger
  the listeners.

Fix:

  Perform clean-up before moving to next suite.
2017-05-13 11:34:14 +03:00
GochoMugo
11bcdd3b6a
src/telegram: Add TelegramBot#removeTextListener()
Feature:

  This is the opposite action to `TelegramBot#onText()`.
  It allows removing any previously-registered listeners.

  It is similar to `TelegramBot#removeReplyListener()`.
2017-05-13 11:28:04 +03:00
Fabio Zuber
9f3107b5ab src/telegram: reset state of global regexp (#326)
References:

  * BR: https://github.com/yagop/node-telegram-bot-api/issues/325
  * BR-by: @Sirius-A
  * PR: https://github.com/yagop/node-telegram-bot-api/pull/326
  * PR-by: @Sirius-A
2017-05-13 10:53:21 +03:00
Evgeny Bondarenko
c1fc486225 src: Load transpiled code for Node 5
References:
  * Bug-Report #297: https://github.com/yagop/node-telegram-bot-api/issues/297
  * Bug-Report-by: @jehy
  * PR  #298: https://github.com/yagop/node-telegram-bot-api/pull/298
  * PR-by: @jehy
2017-03-09 17:17:03 +03:00
GochoMugo
130f6940ce
src/polling: Fix bug #284
Bug:

  During polling, deleting the already-set webhook, caused
  the `TelegramBotPolling#_getUpdates()` return an unexpected
  value.

  We expect the method to return an array (in the `.then()` clause).
  However, deleting the webhook returns its value, which is an object,
  from the method `_getUpdates()`.

Fix:

  Simply retry the polling request and return the promise.

Notes:

  Should we use recursion? I do not think so.
  Why? The chances of getting the error (having a webhook set) AGAIN
  is quite rare. And if it happens, there must be some problem with
  different instances invoking polling and webhook simultaneously.
  In that case, we wont struggle to recover from such a scenario.
  User is on their own! Isht!

References:

  * Bug report:   https://github.com/yagop/node-telegram-bot-api/issues/284
  * Reported by:  @dcparga
2017-02-10 12:40:47 +03:00
GochoMugo
9a9dfa9560
src: Minor fixes 2017-02-09 19:06:38 +03:00
Gocho Mugo
eed7c1e4d0 src: Add proper error handling (#283)
Feature:

    Please see `doc/usage.md` for more information on error-handling.
2017-02-09 16:12:22 +03:00
GochoMugo
79de62a96e
src/telegram: Add TelegramBot#removeReplyListener()
Feature:

  Please see the updated API Reference.

References:

  * Author: @githugger (Frederic Schneider <fschneider1992@gmail.com>)
  * Original PR: https://github.com/yagop/node-telegram-bot-api/pull/74
2017-02-09 15:07:08 +03:00
GochoMugo
d4a469df6b
pkg: Fix bug #275
Bug:

  Node.js v4 does not support the ES6 syntax fully, thus we
  get the error:

    Block scoped declarations (let, const, function,class) not yet
    supported outside strict mode

Fix:

  * Load transpiled code
  * Deprecate support for Node.js v4.x

References:

  * Bug report: https://github.com/yagop/node-telegram-bot-api/issues/275
  * PR: https://github.com/yagop/node-telegram-bot-api/pull/280
  * Reported-by: @crazyabdul
  * PR-by: @crazyabdul
2017-02-08 12:16:51 +03:00
GochoMugo
14f37c7181
test: Add test for TelegramBot#sendDocument() using 'fileOpts' param
References:

  * Original PR: https://github.com/yagop/node-telegram-bot-api/pull/152
  * Original Author: @evolun
2017-02-03 10:47:41 +03:00
GochoMugo
9f031a72e5
pr/272: Finish on PR 2017-01-30 13:24:15 +03:00
Anton Mironov
3263c6c253 Webhook health check endpoint 2017-01-30 12:50:22 +03:00
GochoMugo
a32259b1a1
src/telegram: Consider stream.path could not be parsed 2017-01-25 18:59:06 +03:00
GochoMugo
a9d6e93622
[telegram] Return error on trying to use Polling, WebHook together
Feature:

  Polling and WebHook are mutually exclusive. Therefore, return an
  error whenever the user tries to start polling, and the instance has
  an open webhook, or user tries to open a webhook, and the instance
  is already polling.
2017-01-11 17:06:04 +03:00
GochoMugo
0d20565bd5
[telegram] Add constructor option, 'filepath'
Feature:

  The constructor option, 'filepath', allows us to remove
  the TelegramBot's behaviour of allowing users to pass in
  file-paths as arguments, as it involves some operations
  that might be (are) strongly against what a programmer wishes
  to achieve with the library.

  Expect this to be documented better in the near future.

Implementation:

  * Backwards compatible: The default behavior is not changed!
2017-01-11 11:06:41 +03:00
GochoMugo
e009b60efa
[webhook] Do not rely on http.Server#listening property
Bug:

  The 'http.Server#listening' property was added in Node.js v5.7.0!
  Support the older Node.js versions!
2017-01-09 16:49:06 +03:00
GochoMugo
97c8130d93
[webhook,polling] Improve starting, stopping of webhook, polling
Feature:

  The different mechanisms of fetching updates, i.e. polling
  and webhook, have had their implementations improved:

  * the TelegramBot instance needs to create the polling and
    webhook instances once, and when necessary
  * returning promises from TelegramBot#openWebHook() and
    TelegramBot#startPolling() allows more precise control

  Also,

  * TelegramBot#initPolling() is being deprecated in favor of
    TelegramBot#startPolling() to ensure consistency (as the
    opposite action of TelegramBot#stopPolling())
2017-01-09 15:57:34 +03:00
GochoMugo
2a782fddbc
Deprecate support for Node.js v0.12
Notes:

  We are deprecating support for Node.js v0.12, to
  be removed in next major version!
2017-01-09 15:46:27 +03:00
GochoMugo
31a2376a1f
[webhook] Allow passing options to HTTPS server
Feature:

  We shall allow passing more options to the HTTP server,
  in `https.createServer()`.

  We are using a new property, `https`, to avoid any namespace
  collisions with our own options.

  `options.key`, `options.cert` and `options.pfx` are convenient
  options, in that they allow the user to provide paths to the
  corresponding files, which are read automatically,
  though synchronously!

Implementation:

  * completely backwards-compatible
  * all changes are being tested, except `options.pfx`

References:

  * Pass `ca` prop to https.createServer(): https://github.com/yagop/node-telegram-bot-api/pull/17
2017-01-07 17:58:01 +03:00