* Add deepsource config
* Update Badges
* Update Badges some more
* Stupid change to trigger analysis of all files
* Try to get ignore right
* Update badges again
* Get started on fixing issues
* Fix some more issues
* Remove more plank lines
* Docs for de_json/list & to_dict/json
* Some improvements from deepcode.ai
* Some more improvements
* Some more improvements
* More docstrnigs & let's run DS on the tests just for fun
* Autofix issues in 10 files
Resolved issues in the following files via DeepSource Autofix:
1. tests/conftest.py
2. tests/test_bot.py
3. tests/test_commandhandler.py
4. tests/test_conversationhandler.py
5. tests/test_dispatcher.py
6. tests/test_filters.py
7. tests/test_inputmedia.py
8. tests/test_messagehandler.py
9. tests/test_official.py
10. tests/test_persistence.py
* Some more improvements for tests, but that shall be enough
* Some more docstrings for functions
* Some minor stuff, try to fix tests
* Update DS config
* Still more docs
* Doc fixes
* More fixes
* Fix: indent docstring
* Some fixes
* Revert "Stupid change to trigger analysis of all files"
This reverts commit dd46c260
* Review
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
Co-authored-by: Poolitzer <25934244+Poolitzer@users.noreply.github.com>
* Bump API Version to v5.2
* InputInvoiceMessageContent & simplify *Markup.__eq__ on the fly
* Updates to send_invoice
* InlineQuery updatees and new parameter for InlineQueryhandler
* VCScheduled - not integrated into Message yet
* Bump requirements-dev.txt versions
* Message.voice_chat_scheduled & new Filters.status_update.vcs
* Some doc updates
* Review
* All praise harshil, the god of finding typos :)
* Review
* More warnings
* Change default handling, update signatures, get existing tests to pass.
* Try running tests on ubuntu 18.04
* Roll back
* Rework check_shortcut_call tests
* Further improve check_shortcut_call tests
* Start on defaults-checks for shortcuts, get it working for test_message
* Add check_shortcut_defaults to all other shortcut tests
* Some fine tuning
* Add defaults checking for bot methods
* Missing tests for TestCallbackQuery
* Test edit_message_media with defaults & some comments
* Fix cryptography requirement
* drop debug prints
* Remove debug prints
* Another try
* Try to fix coverage & logs
* Rearrange test order
* increase coverage
* Try to fix coverage reports
* address review
* Adapt tests like in #2386
* fix CI
* fix CI
* First POC
* Actually get it to work
* locals-less POC
* pre-commit
* Work on Message shortcuts, update some annotations in Bot methods
* Tippity Tappity, coding stuff
* CallbackQuery
* InlineQuery & Some other stuff
* Media Classes and PassportFile
* Fix tests
* PreCheckout- & ShippingQuery
* User
* Fix tests
* Chat
* Update rawapibot
* Update annotations for answer_inline_query
* Refactor handling of `default_quote`
* Make it a breaking change
* Pickle a bots defaults
* Temporarily enable tests for the v13 branch
* Temporarily enable tests for the v13 branch
* Refactor handling of kwargs in Bot methods (#1924)
* Unify kwargs handling in Bot methods
* Remove Request.get, make api_kwargs an explicit argument, move note to head of Bot class
* Fix test_official
* Update get_file methods
* Refactor JobQueue (#1981)
* First go on refactoring JobQueue
* Temporarily enable tests for the v13 branch
* Work on tests
* Temporarily enable tests for the v13 branch
* Increase coverage
* Remove JobQueue.tick()
* Address review
* Temporarily enable tests for the v13 branch
* Address review
* Dispatch errors
* Fix handling of job_kwargs
* Remove possibility to pass a Bot to JobQueue
* Refactor persistence of Bot instances (#1994)
* Refactor persistence of bots
* User BP.set_bot in Dispatcher
* Temporarily enable tests for the v13 branch
* Add documentation
* Add warning to Updater for passing both defaults and bot
* Address review
* Fix test
* Make most objects comparable
* ID attrs for PollAnswer
* fix test_game
* fix test_userprofilephotos
* update for API 4.7
* Warn on meaningless comparisons
* Update for API 4.8
* Address review
* Get started on docs, update Message._id_attrs
* Change PollOption & InputLocation
* Some more changes
* Even more changes
* Pure API changes
* Address review
* set Bot.commands on successfull call of set_my_commands
* Get started on tests
* More tests!
* More Coverage!
* Reset changes in utils.request
* Filters.dice, Filters.dice.text
* more coverage
* Address review
* Address review
* Test stop_poll with reply_markup
* Test stop_poll also without reply_markup
* Rephrase note on 'dice'
* Fix grammar in note on Filters.dice
* update api version readme
* address review
* First take on 4.6 support
* improved docs
* Minor doc formattings
* added poll and poll_answer to filters
* added tests, fixed mentioned issues
* added poll_answer + poll filter tests
* Update docs according to official API docs
* introducing pollhandler and pollanswerhandler
* First take on 4.6 support
* improved docs
* Minor doc formattings
* added poll and poll_answer to filters
* added tests, fixed mentioned issues
* added poll_answer + poll filter tests
* Update docs according to official API docs
* introducing pollhandler and pollanswerhandler
* correct_option_id validated with None
when trying to send a poll with correct option id 0 it was failing. Now None check is done so that even when 0 is passed it is assigned.
* improving example
* improving code
* adding poll filter example to the pollbot.py
* Update Readme
* simplify pollbot.py and add some comments
* add tests for Poll(Answer)Handler
* We just want Filters.poll, not Filters.update.poll
* Make test_official fail again
* Handle ME.language in M._parse_*
Co-authored-by: Hinrich Mahler <hinrich.mahler@freenet.de>
Co-authored-by: Sharun Kumar <715417+sharunkumar@users.noreply.github.com>
* Allow for nested MessageEntities in Message._parse_markdown/html, adjust tests
* remove testing relict
* Use MessageEntitys new equality check (#1465)
* Remove unused variable
* Update to custom_title feature and slow_mode_delay option
Changes:
- custom_title for ChatMember
- new method setChatAdministratorCustomTitle for Bot
- new slow_mode_delay for Chat
Update due to new API future `custom_title` from API 4.5 (https://core.telegram.org/bots/api#december-31-2019)
* Minor typo fix
* Comply with Flake8
* Add new MessageEntities and MarkdownV2
* Added file_unique_id attrs from API 4.5 and updated tests for it
* Fixed test and checked using flake8
* Fixed ChatPhoto documentation
* Fix Flake8
* Add setChatAdminCstmTitle to Bot
* Rename MDV2 methods
* Change files id attrs to unique id
* correct id_attrs for chat_photo
* Revert "temporarily skip tests failing b/c missing api 4.5 (#1738)"
This reverts commit 7cde6ca268.
* Fix text_markdown_v2 for monospace and text_links
* closing remarks from pieter
* Minor fix in escape_markdown, improve tests for it
* Fix offset bug in Message._parse_*
* Add test_chatphoto.py
* remove debug print from test_message.py
* try making codecov happy
* Update readme
* all hail codecov
* Improve Link handling for MarkdownV1 and adjust tests. Closes#1654
* Dont use beginning of pre-entity as language in _parse_markdown
* Remove debug print
* Dummy commit to try fix codecov
Co-authored-by: Hoi Dmytro <dmytro.hoi@gmail.com>
Co-authored-by: Dmytro Hoi <code@dmytrohoi.com>
Co-authored-by: poolitzer <25934244+poolitzer@users.noreply.github.com>
* added parse_mode parameter in Updater and in Bot class to set a default parse mode for bot
* DefaultValue
* Add default parse_mode everywhere
* Renome to default_parse_mode
* Test def parse_mode for send_*, edit_message_*
* Remove duplicate code in Input* classes
* Improve handling of def_p_m for Bot methods
* Remove unneeded deletion of kwargs
* Make @log preserve signature, add bots with defaults to tests
* Fix Codacy
* Fix Travis Error
* Add default_disable_notification
* Add default_disable_web_page_preview
* Add default_disable_timeout
* add default_disable_web_page_preview for InputTextMessageContent
* add default_quote
* Try fixing test_pin_and_unpin
* Just run 3.5 tests for paranoia
* add tests for Defaults
* Revert "Just run 3.5 tests for paranoia"
This reverts commit 1baa91a3a1.
* Tidy up parameters, move Defaults to ext
* Stage new files, because im an idiot
* remove debug prints
* change equality checks for DEFAULT_NONE
* Some last changes
* fix S&R error so that tests actually run
Co-authored-by: Ak4zh <agwl.akash@gmail.com>
Co-authored-by: Eldinnie <Eldinnie@users.noreply.github.com>
* add private /c links to message.links object
* fixing ids for basic groups
* fixing ids for non basic chats and the test
* Improve tests for Message.link
* Simplify id_to_link
Telegram Passport (#1174):
- Add full support for telegram passport.
- New types: PassportData, PassportFile, EncryptedPassportElement, EncryptedCredentials, PassportElementError, PassportElementErrorDataField, PassportElementErrorFrontSide, PassportElementErrorReverseSide, PassportElementErrorSelfie, PassportElementErrorFile and PassportElementErrorFiles.
- New bot method: set_passport_data_errors
- New filter: Filters.passport_data
- Field passport_data field on Message
- PassportData is automagically decrypted when you specify your private key when creating Updater or Bot.
- PassportFiles is also automagically decrypted as you download/retrieve them.
- See new passportbot.py example for details on how to use, or go to our telegram passport wiki page for more info
- NOTE: Passport decryption requires new dependency `cryptography`.
Inputfile rework (#1184):
- Change how Inputfile is handled internally
- This allows support for specifying the thumbnails of photos and videos using the thumb= argument in the different send_ methods.
- Also allows Bot.send_media_group to actually finally send more than one media.
- Add thumb to Audio, Video and Videonote
- Add Bot.edit_message_media together with InputMediaAnimation, InputMediaAudio, and inputMediaDocument.
Other Bot API 4.0 changes:
- Add forusquare_type to Venue, InlineQueryResultVenue, InputVenueMessageContent, and Bot.send_venue. (#1170)
- Add vCard support by adding vcard field to Contact, InlineQueryResultContact, InputContactMessageContent, and Bot.send_contact. (#1166)
- Support new message entities: CASHTAG and PHONE_NUMBER. (#1179)
- Cashtag seems to be things like $USD and $GBP, but it seems telegram doesn't currently send them to bots.
- Phone number also seems to have limited support for now
- Add Bot.send_animation, add width, height, and duration to Animation, and add Filters.animation. (#1172)
Co-authored-by: Jasmin Bom <jsmnbom@gmail.com>
Co-authored-by: code1mountain <32801117+code1mountain@users.noreply.github.com>
Co-authored-by: Eldinnie <pieter.schutz+github@gmail.com>
Co-authored-by: mathefreak1 <mathefreak@hi2.in>
* Fix in telegram.Message
The `_parse_(html|markdown)` methods now properly return `None` on an empty `Message.text` or an empty `Message.caption`
* As per CR