* Remove message decorator to fix default timeouts.
* Make message wrapper method private.
* Make tests pass
* Fix callbackquery shortcuts
Closes#1180
* Fix callbackquery shortcut tests
* Fix merge
* Address CR
* Add missing default timeout=20 for some bot file uploads
* Fix wrong return value in convhandler
Probably stems from a combination of bad merge plus quickly merged hacktoberfest PR.
* update MAX_CAPTION_LENGTH
Telegram silently changed the max length for captions to 1024 chars.
* Update test_constants.py
* change docstrings to reflect new length
* remove message
* clear message and proper match
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>
* Use python 3 on read the docs
This has multiple improvements on the inspection of classes. Mainly that method signatures propely display the arguments for the method.
* Add note to telegram.Bot about camelCase
Switching to py3 means that the camelCase method descriptors will no longer be displayed in the docs. Adding a note to Bot to clarify they exist.
* Add Alias links for all camelCase
* add documentation for telegram.utils.promise and .request
* improve documentation for telegram.utils.promise and .request
* add missing 's' to new_chat_member(s) in all docstrings
* fix docs for `set_chat_photo`
[CI skip]
* Bot.get_file now allows passing a file in addition to file_id
* Add .get_file() to Audio, Document, PhotoSize, Sticker, Video, VideoNote and Voice
* Add .send_*() methods to User and Chat
* Added support for new field `telegram.Message.connected_message`
* Added support for new field `telegram.Message.connected_message`
* Added support for parse_mode in captions
* Added parse_mode parameter for captions in InlineQueryResult*
* Added supports_streaming parameter in telegram.Bot.send_video and telegram.InputMediaVideo
Fixed Docstrings for parse_mode in captions
* pypy3.5 unitests are now running with a new version due internal errors on travis.
closes#1005
* add support for 3.5 api
* removed "unused" import by accident
* Hardcoded values
Appearantly TG decided to change the size of a send image (again)
* test_official
* Improve coverage
* Finishing up
* spelling error
* pytest fixed tot < than 3.3 for python 3.3 support
* flake8
* rollback requirements
* as per CR
* object for provider_data
Make it possible to send an object that will be json-serialized for send_invoice + tests
* shorten error message
* using string_types
Required fixes:
- CallbackQuery is now comparable.
- Message.effective_attachment, Message.photo,
Message.new_chat_members, Message.new_chat_photo &
Game.text_entitties semantic fixes - when they are not defined,
return an empty list.
- Docstring fix to Update class.
offset for get_user_profile_photo can be zero.
edit_message_caption should raise ValueError in compliance with other methods. Also changed to snake_case
edit_message_reply_markup was even weirder
- Added all the new and shiny features from API 3.1.
- Not API 3.1 changes:
- Use future.utils.string_types for string isinstance checks.
- Stall between retries of test_set_webhook_get_webhook_info() &
test_delete_webhook().
* Clean up Bot code a bit
- Move decorators to module. It really wasn't clear how decorators inside classes work, and why they didn't have a self parameter, but still wasn't static. This also makes them effectively private without having to underscore them, which I think we should have done long time ago atm. Note that this might break backwards compatibility slightly (only if people are daft enough to have used the decorators themselves)
- Don't call _message_wrapper directly. Ever. Instead always use the message decorator, since it's what it's there for. Closes#627
- Don't use the message decorator if the method isn't supposed to return a message. The decorator could handle values like True (which is often the return value), but to someone reading the code, it seems like it's a message returning method even when it wasn't.
- Always document timeout and **kwargs
- Log all methods
* Add test to make sure timeout propagates properly despite decorators
* Rename shortcut functions to snake_case
* More function renaming
* Example function rewrite
* Add myself to authors.rst
* More function renaming
* Rename mockbot test functions
* Break comment line for flake max line length
* Change hard-coded 20. to timeout paramter
Passing timeout parameter to _message_wrapper in send_audio instead of hard-coded 20 seconds
* add myself to contributors