python-telegram-bot
16.3K subscribers
91 links
The official channel for the python-telegram-bot library | https://python-telegram-bot.org
Download Telegram
Hi, We're trying to get a picture of the number of users that use pypy in combination with python-telegram-bot. We're considering dropping support, but don't want to when we have a significant number of users that use PTB on pypy. So please vote below so w
anonymous poll

I don't use pypy with ptb โ€“ 518
๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘ 82%

I use pypy with PTB โ€“ 114
๐Ÿ‘๐Ÿ‘ 18%

๐Ÿ‘ฅ 632 people voted so far.
Message is cut off. Last sentence should be:
So please vote below so we can get a clear picture on usage.
It is finally time for a new release of python-telegram-bot, this time it's version 12.0.0b1!

For the first time ever we have decided to do a beta release, since it has been so long since last release that we would like to test the impact before a final release.

We do NOT recommend using this beta release in production.

Major changes:

- Context based callbacks
- Persistence
- PrefixHandler added (Handler overhaul)
- Deprecation of RegexHandler and edited_messages, channel_post, etc. arguments (Filter overhaul)
- Various ConversationHandler changes and fixes

Since this is a beta release we have chosen to not list all changes here. See CHANGES.rst for a full list of the changes.

This release has numerous backwards incompatible changes. See the wiki page at https://git.io/fxJuV for a detailed guide on how to migrate from version 11 to version 12.

Since this is beta release it will not automatically be installed by pip. Instead you should do pip install python-telegram-bot==12.0.0b1 to explicitly request the new version.
Well... This felt like decades. But here we are with a new release: V12.0.0 !!!

Expect minor releases soon (mainly complete Bot API 4.4 support)

We're delighted to have 3 new developers in our team:
@BiboJoshi , @Poolitzer & @Nukesor
Some of them had already contributed to this release.

As usual, upgrade using: pip install -U python-telegram-bot

Major and/or breaking changes:

- Context based callbacks
- Persistence
- PrefixHandler added (Handler overhaul)
- Deprecation of RegexHandler and edited_messages, channel_post, etc. arguments (Filter overhaul)
- Various ConversationHandler changes and fixes
- Bot API 4.1, 4.2, 4.3 support
- Python 3.4 is no longer supported
- Error Handler now handles all types of exceptions
- Return UTC from from_timestamp()

See the wiki page at https://git.io/fxJuV for a detailed guide on how to migrate from version 11 to version 12.

See the CHANGES.rst file on our github page for more details.
As promised, we bring you API 4.4 support!

We've just released v12.1.0
Thanks for anyone who've contributed to this release.

As usual upgrade using pip install -U python-telegram-bot

Major changes:

* Bot API 4.4 support (#1464, #1510)
* Add get_file method to Animation & ChatPhoto. Add get_small_file & get_big_file methods to ChatPhoto (#1489)
* Tools for deep linking (#1049)

Minor changes and/or bug fixes:

* Documentation fixes (#1500, #1499)
* Improved examples (#1502)
We've just released v12.1.1

This is an hotfix release for #1517

As usual upgrade using pip install -U python-telegram-bot
Forwarded from Poolitzer X
Fellow programmers.

Happy #hacktoberfest. This event, hosted over here, is about giving back to open source projects. We encourage you all to check it out and make some contributions. We prepared some issues by ourself, they can be found here, but fear not to take on other issues in our repo.

If you have any questions, feel free to ask them away in our chats, we are there to help!
We've just released v12.2.0
Thanks for anyone who've contributed to this release.

As usual upgrade using pip install -U python-telegram-bot

New features:

- Nested ConversationHandlers (#1512).

Minor changes, CI improvments or bug fixes:

- Fix CI failures due to non-backward compat attrs depndency (#1540).
- travis.yaml: TEST_OFFICIAL removed from allowed_failures.
- Fix typos in examples (#1537).
- Fix Bot.to_dict to use proper first_name (#1525).
- Refactor test_commandhandler.py (#1408).
- Add Python 3.8 (RC version) to Travis testing matrix (#1543).
- test_bot.py: Add to_dict test (#1544).
- Flake config moved into setup.cfg (#1546).
Hi all,

As you might know python 2.7.x will reach its end of life on January 1st 2020. We will follow this by also stopping support for python 2.7. Commits made to the library after this date will no longer be tested for version 2.7 support and python 3.x specific features will be accepted in PRs.
Be advised that if you're still using python 2.7 and you want to keep using our library in the new year, it's time for you to move on.
We've just released v12.3.0
Thanks for anyone who've contributed to this release.

As usual upgrade using pip install -U python-telegram-bot

New features:
- Filters.caption allows only messages with caption (#1631).
- Filter for exact messages/captions with new capability of Filters.text and Filters.caption. Especially useful in combination with ReplyKeyboardMarkup. (#1631).

Major changes:
- Fix inconsistent handling of naive datetimes (#1506).

Minor changes, CI improvments or bug fixes:
- Documentation fixes (#1558, #1569, #1579, #1572, #1566, #1577, #1656).
- Add mutex protection on ConversationHandler (#1533).
- Add MAX_PHOTOSIZE_UPLOAD constant (#1560).
- Add args and kwargs to Message.forward() (#1574).
- Transfer to GitHub Actions CI (#1555, #1556, #1605, #1606, #1607, #1612, #1615, #1645).
- Fix deprecation warning with Py3.8 by vendored urllib3 (#1618).
- Simplify assignements for optional arguments (#1600)
- Allow private groups for Message.link (#1619).
- Fix wrong signature call for ConversationHandler.TIMEOUT handlers (#1653).
We've just released v12.4.0
Thanks for anyone who've contributed to this release.

As usual, upgrade using pip install -U python-telegram-bot

New features:

- Set default values for arguments appearing repeatedly. We also have a [wiki page for the new defaults](https://github.com/python-telegram-bot/python-telegram-bot/wiki/Adding-defaults-to-your-bot). (#1490)
- Store data in CallbackContext.bot_data to access it in every callback. Also persists. (#1325)
- Filters.poll allows only messages containing a poll (#1673)

Major changes:

- Filters.text now accepts messages that start with a slash, because CommandHandler checks for MessageEntity.BOT_COMMAND since v12. This might lead to your MessageHandlers receiving more updates than before (#1680).
- Filters.command new checks for MessageEntity.BOT_COMMAND instead of just a leading slash. Also by Filters.command(False) you can now filters for messages containing a command anywhere in the text (#1744).

Minor changes, CI improvements or bug fixes:

- Add disptacher argument to Updater to allow passing a customized Dispatcher (#1484)
- Add missing names for Filters (#1632)
- Documentation fixes (#1624, #1647, #1669, #1703, #1718, #1734, #1740, #1642, #1739, #1746)
- CI improvements (#1716, #1731, #1738, #1748, #1749, #1750, #1752)
- Fix spelling issue for encode_conversations_to_json (#1661)
- Remove double assignement of Dispatcher.job_queue (#1698)
- Expose dispatcher as property for CallbackContext (#1684)
- Fix None check in JobQueue._put() (#1707)
- Log datetimes correctly in JobQueue (#1714)
- Fix false Message.link creation for private groups (#1741)
- Add option --with-upstream-urllib3 to setup.py to allow using non-vendored version (#1725)
- Fix persistence for nested ConversationHandlers (#1679)
- Improve handling of non-decodable server responses (#1623)
- Fix download for files without file_path (#1591)
- test_webhook_invalid_posts is now considered flaky and retried on failure (#1758)
Quick release v12.4.1

#1744 was accidentally left out of v12.4.0 though mentioned in the release notes.
Now this PR is merged.

Upgrade using: pip install -U python-telegram-bot
Bug fixes release 12.4.2

Thanks for bringing these to our attention:

* Pass correct parse_mode to InlineResults if bot.defaults is None (#1763)
* Make sure PicklePersistence can read files that dont have bot_data (#1760)

Upgrade using: pip install -U python-telegram-bot
We've just released v12.5
Thanks for anyone who've contributed to this release.

As usual, upgrade using pip install -U python-telegram-bot

New Features:

- Bot.link gives the t.me link of the bot (#1770)

Major Changes:

- Bot API 4.5 and 4.6 support. (#1508, #1723)

Minor changes, CI improvements or bug fixes:

- Remove legacy CI files (#1783, #1791)
- Update pre-commit config file (#1787)
- Remove builtin names (#1792)
- CI improvements (#1808, #1848)
- Support Python 3.8 (#1614, #1824)
- Use stale bot for auto closing stale issues (#1820, #1829, #1840)
- Doc fixes (#1778, #1818)
- Fix typo in edit_message_media (#1779)
- In examples, answer CallbackQueries and use edit_message_text shortcut (#1721)
- Revert accidental change in vendored urllib3 (#1775)
We've just released v12.5.1
Thanks for anyone who've contributed to this release.

As usual, upgrade using pip install -U python-telegram-bot

Minor changes, doc fixes or bug fixes:

- Add missing docs for PollHandler and PollAnswerHandler (#1853)
- Fix wording in Filters docs (#1855)
- Reorder tests to make them more stable (#1835)
- Make ConversationHandler attributes immutable (#1756)
- Make PrefixHandler attributes command and prefix editable (#1636)
- Fix UTC as default tzinfo for Job (#1696)
We've just released v12.6
Thanks for anyone who've contributed to this release.

As usual, upgrade using pip install -U python-telegram-bot

Major Changes:

- Bot API 4.7 support. Note: In Bot.create_new_sticker_set and Bot.add_sticker_to_set, the order of the parameters had be changed, as the png_sticker parameter is now optional. (#1858)

Minor changes, CI improvements or bug fixes:

- Add tests for swtich_inline_query(_current_chat) with empty string (#1635)
- Doc fixes (#1854, #1874, #1884)
- Update issue templates (#1880)
- Favor concrete types over "Iterable" (#1882)
- Pass last valid CallbackContext to TIMEOUT handlers of ConversationHandler (#1826)
- Tweak handling of persistence and update persistence after job calls (#1827)
- Use checkout@v2 for GitHub actions (#1887)
We've just released v12.6.1

This is a bug fix release. As usual, upgrade using pip install -U python-telegram-bot

Thanks for bringing this to our attention:

- Fix serialization of reply_markup in media messages (#1889)
We've just released v12.7
Thanks for anyone who've contributed to this release.

As usual, upgrade using pip install -U python-telegram-bot

Major Changes:

- Bot API 4.8 support. Note: The Dice object now has a second positional argument emoji. This is relevant, if you instantiate Dice objects manually. (#1917)
- Added tzinfo argument to helpers.from_timestamp. It now returns an timezone aware object. This is relevant for Message.{date,forward_date,edit_date}, Poll.close_date and ChatMember.until_date (#1621)

New Features:

- New method run_mothly for the JobQueue (#1705)
- Job.next_t now gives the datetime of the jobs next execution (#1685)

Minor changes, CI improvements, doc fixes or bug fixes:

- Stabalize CI (#1919, #1931)
- Use ABCs @abstractmethod instead of raising NotImplementedError for Handler, BasePersistence and BaseFilter (#1905)
- Doc fixes (#1914, #1902, #1910)
We've just released v12.8
Thanks for anyone who've contributed to this release.

โš ๏ธ As announced in 11/2019, we discontinued support for Python 2 since the start of 2020, as it reached end of life. In correspondence with that, this release now actually removes support for Python 2, making python-telegram-bot a Python 3 only library.
Be advised that if you're still using Python 2 and you want to keep using this library, it's time for you to move on.

As usual, upgrade using pip install -U python-telegram-bot.

Major Changes:

- Remove Python 2 support (#1715)
- Bot API 4.9 support (#1980)
- IDs/Usernames of Filters.user and Filters.chat can now be updated (#1757)

Minor changes, CI improvements, doc fixes or bug fixes:

- Update contribution guide and stale bot (#1937)
- Remove NullHandlers (#1913)
- Improve and expand examples (#1943, #1995, #1983, #1997)
- Doc fixes (#1940, #1962)
- Add User.send_poll() shortcut (#1968)
- Ignore private attributes en TelegramObject.to_dict() (#1989)
- Stabilize CI (#2000)
We've just released v13.0. ๐Ÿฅณ

It's a major release and brings some major changes.
โš ๏ธ So before upgrading with pip install -U python-telegram-bot as usual, please carefully read the following notes!
You can also find a detailed transition guide on this wiki page.

We'd like to thank everyone, who has contributed to this release!

Major Changes:

v13 presents two massive improvements to our library: Static type hinting and a reworked JobQueue. The first one will be a huge advancement for anyone writing complex programs with an IDE that supports proper auto completion. This will hopefully save you a lot of debugging time. The latter will not directly affect you in most cases. However, we no longer implement the scheduling logic on our own, but use the third party library APSchelduler instead. This enables us to focus our development effort onto other parts of the library. Detailed information on the new JobQueue can be found here.

- Refactor JobQueue (#1981)
- Type Hinting (#1920)

โš ๏ธ v13 also refactors how persistence of Bots is handled. Anyone using PicklePersistence (or a custom persistence class)
should read this paragraph of the transition guide.

- Refactor persistence of Bot instances (#1994)

โš ๏ธ There have been some more reworks and deprecations listed below. Additionally, v13.0 drops Python 3.5, which reached its end of life at the beginning of September 2020.

- Deprecate old-style callbacks, i.e. set use_context=True by default (#2050)
- Refactor Handling of Message VS Update Filters (#2032)
- Deprecate Message.default_quote (#1965)
- Refactor handling of kwargs in Bot methods (#1924)
- Refactor Dispatcher.run_async, deprecating the @run_async decorator (#2051)

New Features:

Besides the big changes, v13 brings some new functionality. Especially noteworthy are the automatic pagination for answer_inline_query, which takes care of the maximum number of InlineResults for you, and the addition of tzinfo to the Defaults setup, which integrates nicely into the new JobQueue.

- Automatic Pagination for answer_inline_query (#2072)
- Defaults.tzinfo (#2042)
- Extend rich comparison of objects (#1724)
- Add Filters.via_bot (#2009)
- Add missing shortcuts (#2043)
- Allow DispatcherHandlerStop in ConversationHandler (#2059)
- Make Errors picklable (#2106 by Delgan)

Minor changes, CI improvements, doc fixes or bug fixes:

Last, but not least, there have been a bunch of smaller additions and improvements to the documentation.

- Fix Webhook not working on Windows with Python 3.8+ (#2067)
- Fix setting thumbs with send_media_group (#2093)
- Make MessageHandler filter for Filters.update first (#2085)
- Fix PicklePersistence.flush() with only bot_data (#2017)
- Add test for clean argument of Updater.start_polling/webhook (#2002 by ikkemaniac)
- Doc fixes, refinements and additions (#2005 by ikkemaniac, #2008, #2089, #2094, #2090)
- CI fixes (#2018, #2061)
- Refine pollbot.py example (#2047 by lrezende)
- Refine Filters in examples (#2027)
- Rename echobotcode> examples (#2025)
- Use Lock-Bot to lock old threads (#2048, #2052, #2049, #2053)