Commit Graph

2501 Commits

Author SHA1 Message Date
Dan
066633ce45 Move dispatcher.py inside ext folder 2019-03-25 09:45:37 +01:00
Dan
ce0173e7cd Add support for hidden users in forwarded messages 2019-03-24 18:51:04 +01:00
Dan
ac318831dc Add missing awaits 2019-03-22 13:47:31 +01:00
Dan
5d163ebabc Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/dispatcher/dispatcher.py
#	pyrogram/client/types/messages_and_media/sticker.py
2019-03-22 13:36:27 +01:00
Dan
4b7c6810c0 Make get_sticker_set_name "private" with a leading underscore _ 2019-03-22 13:33:47 +01:00
Dan
5edd971118 Update docs to use bot_token parameter 2019-03-22 12:39:15 +01:00
Dan
27666ec174 Small docs fixes 2019-03-22 12:14:31 +01:00
Dan
f0138ce555 Fix Inline buttons parsing 2019-03-22 11:58:49 +01:00
Dan
921800f902 Clean up docstrings 2019-03-22 11:53:25 +01:00
Dan
bc9f902376 Clean up inline-mode 2019-03-22 11:35:35 +01:00
Dan
fede74398c Fix inline-mode branch breaking after many commits from develop 2019-03-21 18:37:00 +01:00
Dan
acbbfabb27 Merge branch 'develop' into inline-mode
# Conflicts:
#	compiler/api/compiler.py
#	compiler/error/source/400_BAD_REQUEST.tsv
#	pyrogram/__init__.py
#	pyrogram/client/dispatcher/dispatcher.py
#	pyrogram/client/ext/utils.py
#	pyrogram/client/methods/bots/__init__.py
#	pyrogram/client/types/__init__.py
2019-03-21 17:40:49 +01:00
Dan
33c6da44b2 Merge branch 'develop' into asyncio 2019-03-21 17:05:01 +01:00
Dan
afcde95b30 Fix parsing ChannelForbidden; it doesn't have default permissions 2019-03-21 17:03:35 +01:00
Dan
a4217ab58b Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/methods/messages/forward_messages.py
#	pyrogram/client/types/messages_and_media/message.py
2019-03-21 14:09:07 +01:00
Dan
41729cbdda Fix argument not passed with name 2019-03-21 14:08:09 +01:00
Dan
159090483f Update style 2019-03-21 14:04:46 +01:00
Dan
03707fd312 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/methods/messages/forward_messages.py
#	pyrogram/client/methods/messages/send_contact.py
#	pyrogram/client/types/messages_and_media/message.py
2019-03-21 14:02:35 +01:00
bakatrouble
081b9b280a Add ability to forward messages as copies (#227)
* Add ability to forward messages as copies

* Add Messages.forward() method

* Update and clean up code
2019-03-21 13:53:07 +01:00
Eric Solinas
ac591cf3c7 Add more Message convenience methods (#233)
* Added convenience methods
message.reply_animation
message.reply_audio
message.reply_cached_media
message.reply_chat_action
message.reply_contact
message.reply_document
message.reply_game
message.reply_inline_bot_result
message.reply_location
message.reply_media_group
message.reply_photo
message.reply_poll
message.reply_sticker
message.reply_venue
message.reply_video
message.reply_video_note
message.reply_voice
message.edit_caption
message.edit_media
message.edit_reply_markup
message.pin

fixed send_document docstrings while doing so
uniformed function declaration of send_poll

* Update style and small fixes
2019-03-20 15:44:20 +01:00
bakatrouble
5aa93b8287 Show TOS on signup just once while program is running (#231) 2019-03-20 14:20:38 +01:00
Dan
9d701bc226 Fix import order causing errors 2019-03-16 20:15:25 +01:00
Dan
a06885dd14 Add support for "async with" context manager 2019-03-16 19:56:25 +01:00
Dan
a329e56259 Fix import order causing errors 2019-03-16 19:56:04 +01:00
Dan
84fb959c8c Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
#	pyrogram/client/client.py
#	pyrogram/client/methods/bots/answer_callback_query.py
#	pyrogram/client/methods/bots/get_game_high_scores.py
#	pyrogram/client/methods/bots/get_inline_bot_results.py
#	pyrogram/client/methods/bots/request_callback_answer.py
#	pyrogram/client/methods/bots/send_game.py
#	pyrogram/client/methods/bots/send_inline_bot_result.py
#	pyrogram/client/methods/bots/set_game_score.py
#	pyrogram/client/methods/chats/delete_chat_photo.py
#	pyrogram/client/methods/chats/export_chat_invite_link.py
#	pyrogram/client/methods/chats/get_chat.py
#	pyrogram/client/methods/chats/get_chat_member.py
#	pyrogram/client/methods/chats/get_chat_members.py
#	pyrogram/client/methods/chats/get_chat_members_count.py
#	pyrogram/client/methods/chats/get_dialogs.py
#	pyrogram/client/methods/chats/iter_chat_members.py
#	pyrogram/client/methods/chats/iter_dialogs.py
#	pyrogram/client/methods/chats/join_chat.py
#	pyrogram/client/methods/chats/kick_chat_member.py
#	pyrogram/client/methods/chats/leave_chat.py
#	pyrogram/client/methods/chats/pin_chat_message.py
#	pyrogram/client/methods/chats/promote_chat_member.py
#	pyrogram/client/methods/chats/restrict_chat_member.py
#	pyrogram/client/methods/chats/set_chat_description.py
#	pyrogram/client/methods/chats/set_chat_photo.py
#	pyrogram/client/methods/chats/set_chat_title.py
#	pyrogram/client/methods/chats/unban_chat_member.py
#	pyrogram/client/methods/chats/unpin_chat_message.py
#	pyrogram/client/methods/contacts/add_contacts.py
#	pyrogram/client/methods/contacts/delete_contacts.py
#	pyrogram/client/methods/contacts/get_contacts.py
#	pyrogram/client/methods/messages/delete_messages.py
#	pyrogram/client/methods/messages/download_media.py
#	pyrogram/client/methods/messages/edit_message_caption.py
#	pyrogram/client/methods/messages/edit_message_media.py
#	pyrogram/client/methods/messages/edit_message_reply_markup.py
#	pyrogram/client/methods/messages/edit_message_text.py
#	pyrogram/client/methods/messages/forward_messages.py
#	pyrogram/client/methods/messages/get_history.py
#	pyrogram/client/methods/messages/get_messages.py
#	pyrogram/client/methods/messages/iter_history.py
#	pyrogram/client/methods/messages/send_animation.py
#	pyrogram/client/methods/messages/send_audio.py
#	pyrogram/client/methods/messages/send_cached_media.py
#	pyrogram/client/methods/messages/send_chat_action.py
#	pyrogram/client/methods/messages/send_contact.py
#	pyrogram/client/methods/messages/send_document.py
#	pyrogram/client/methods/messages/send_location.py
#	pyrogram/client/methods/messages/send_media_group.py
#	pyrogram/client/methods/messages/send_message.py
#	pyrogram/client/methods/messages/send_photo.py
#	pyrogram/client/methods/messages/send_sticker.py
#	pyrogram/client/methods/messages/send_venue.py
#	pyrogram/client/methods/messages/send_video.py
#	pyrogram/client/methods/messages/send_video_note.py
#	pyrogram/client/methods/messages/send_voice.py
#	pyrogram/client/methods/password/change_cloud_password.py
#	pyrogram/client/methods/password/enable_cloud_password.py
#	pyrogram/client/methods/password/remove_cloud_password.py
#	pyrogram/client/methods/users/delete_user_profile_photos.py
#	pyrogram/client/methods/users/get_user_profile_photos.py
#	pyrogram/client/methods/users/get_users.py
#	pyrogram/session/auth.py
#	pyrogram/session/session.py
2019-03-16 19:49:38 +01:00
Dan
3e18945f3c Reformat code 2019-03-16 19:23:23 +01:00
Dan
9f26ac9cbe Merge branch 'develop' into __slots__ 2019-03-16 17:51:48 +01:00
Dan
def3bdaa63 Reformat code 2019-03-16 17:51:37 +01:00
Dan
34b51b6481 Force keyword arguments for all TL types 2019-03-16 16:53:52 +01:00
Dan
e0f1f6aaeb Add __slots__ to every single Pyrogram types 2019-03-16 16:15:56 +01:00
Dan
ef9ed31589 Add __slots__ to PyrogramType and Update types 2019-03-16 16:15:56 +01:00
Dan
c611944d45 Don't ensure ascii when printing objects
This will break in case of non-utf8 terminals
2019-03-16 15:40:07 +01:00
Dan
6bd9ddc95e Add __slots__ to Telegram TL types 2019-03-16 15:30:55 +01:00
Dan
36635625f3 Update develop version 2019-03-13 14:55:02 +01:00
Dan
ad42b4c236 Add restrict_chat method 2019-03-13 14:48:55 +01:00
Dan
0c8b5f02fc Make restrict_chat_member return Chat instead of a simple boolean 2019-03-13 14:48:30 +01:00
Dan
b01caf10a9 Rename default_permissions to just permissions 2019-03-13 14:47:39 +01:00
Dan
5be5446a77 Update restrict_chat_member with new permissions 2019-03-13 13:58:57 +01:00
Dan
7cdcb515b1 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/methods/chats/promote_chat_member.py
#	pyrogram/client/methods/chats/restrict_chat_member.py
#	pyrogram/client/methods/chats/unban_chat_member.py
2019-03-13 13:08:58 +01:00
Dan
b6038c4f2e Update Chat and ChatPermissions to accommodate default chat permissions 2019-03-13 13:02:40 +01:00
Dan
8c9e5e6753 Fix PhotoSize parsing 2019-03-13 12:14:08 +01:00
Dan
a0e48572cb Merge branch 'develop' into layer-95 2019-03-13 10:05:31 +01:00
Dan
3d23b681e3 Add missing await 2019-03-12 16:48:34 +01:00
Dan
ae96ca5b90 Merge branch 'develop' into asyncio 2019-03-12 16:47:12 +01:00
Dan
90b959555d Fix flood waits generated when iterating over basic chat members 2019-03-12 16:46:54 +01:00
Dan
2078e6da28 Turn send_cached_media async 2019-03-11 21:27:25 +01:00
Dan
c6e4963ce0 Merge branch 'develop' into asyncio 2019-03-11 21:26:34 +01:00
Dan
b3ef53a29a Add send_cached_media method 2019-03-11 21:26:07 +01:00
Dan
a4ea3f768c Fix get_chat_member not working when passing "me" in basic groups 2019-03-04 12:56:47 +01:00
Dan
ccf7271d8c Merge branch 'develop' into asyncio 2019-03-04 12:51:00 +01:00
Dan
64775f5209 Fix "ModuleNotFoundError is not defined" error for Python <3.6 2019-03-04 12:50:42 +01:00
Dan
99af3a4180 Tune upload pool size and workers count
Use 1 worker only in case of small files
2019-03-03 17:11:55 +01:00
Dan
4b73358922 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/session/session.py
2019-03-03 16:54:43 +01:00
Dan
e42599051c Use a lower timeout when starting a session to speed up re-connections
Sometimes the server drops right after a successful connection and
pyrogram keeps waiting up 15 seconds (current WAIT_TIMEOUT) for the
first query to time out and start again a new connection.
2019-03-03 16:50:25 +01:00
Dan
41649066f3 Merge remote-tracking branch 'origin/asyncio' into asyncio 2019-03-03 14:13:47 +01:00
Dan
02a1dde399 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/methods/chats/join_chat.py
#	pyrogram/client/methods/messages/edit_message_media.py
2019-03-02 16:36:44 +01:00
bakatrouble
85700b0ffc Do not cache entities without access_hash 2019-03-01 21:23:53 +03:00
bakatrouble
8cc61f00ed Fix threading with sqlite storage 2019-03-01 21:23:01 +03:00
Dan
ffa0da5800 Merge branch 'develop' into layer-95
# Conflicts:
#	pyrogram/__init__.py
2019-03-01 18:38:27 +01:00
bakatrouble
f84f9ec4df Add bot_token argument (#221)
* Add bot_token argument (closes #123)

* Make session_name docs more readable and detailed

* Explicitely set is_bot=False
2019-03-01 18:30:39 +01:00
bakatrouble
87c4d08d9c client.join_chat() now returns pyrogram.Chat instead of MTProto Update (#206)
* client.join_chat() now returns pyrogram.Chat instead of MTProto Update

* Do not use Chat._parse_mtproto_chat() method

* Update chat.py

Rename _parse_mtproto_chat to a generic _parse_chat_chat
Hint about its current usage (none).
2019-03-01 18:28:46 +01:00
bakatrouble
fda25f6534 Add client.set_username() method (#208)
* Add client.set_username() method

* Rename set_username() to update_user_username(); allow None as username

* Add client.update_chat_username() method

* Update update_chat_username.py

* Update update_user_username.py

Rename update_user_username to update_username
Add more details in docstrings
Fix style

* Rename update_user_username.py to update_username.py

* Update __init__.py

* Update 400_BAD_REQUEST.tsv
2019-03-01 18:06:17 +01:00
bakatrouble
5874e521ba Merge remote-tracking branch 'pyrogram/develop' into session_storage 2019-03-01 19:43:02 +03:00
Dan
5294c21e97 Automatically coerce any text to string for keyboard buttons 2019-03-01 16:04:21 +01:00
bakatrouble
b0c011c70c Fix plugins import on windows (#223)
Fixes #217
2019-02-27 22:27:50 +01:00
bakatrouble
033622cfb8 Cleanup json session storage specific code as it is used only for migrations 2019-02-27 22:49:23 +03:00
bakatrouble
10fc340eff Add session migrating from json; add some indexes to sqlite sessions 2019-02-26 21:43:23 +03:00
bakatrouble
03b92b3302 Implement SQLite session storage 2019-02-26 21:06:30 +03:00
bakatrouble
260043d8ec Unify peers cache 2019-02-26 19:24:00 +03:00
Dan
bd56c428c6
Inherit from StopAsyncIteration 2019-02-23 12:09:27 +01:00
bakatrouble
5dc33c6337 add in-memory session storage, refactor session storages, remove mixin 2019-02-22 03:37:19 +03:00
bakatrouble
9c4e9e166e Merge #221, string sessions now work for bots too 2019-02-22 02:13:51 +03:00
bakatrouble
fd5889d69e Merge branch 'bot_token_arg' into session_storage
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/ext/base_client.py
#	pyrogram/client/ext/syncer.py
2019-02-22 01:59:21 +03:00
bakatrouble
5cc9a452eb Add bot_token argument (closes #123) 2019-02-22 01:34:08 +03:00
bakatrouble
fd732add70 Refactor session storages: use session_name arg to detect storage type 2019-02-22 00:03:58 +03:00
bakatrouble
b04cf9ec92 Add string session storage 2019-02-21 21:43:57 +03:00
bakatrouble
431a983d5b Fix logging and cleanup imports in client.py 2019-02-21 21:18:53 +03:00
bakatrouble
9d32b28f94 Implement extendable session storage and JSON session storage 2019-02-21 20:12:11 +03:00
Dan
50cff068a0 Fix send_* methods sending the incorrect Telegram media message type
This makes Pyrogram consistent with the official Bot API behaviour.
2019-02-12 20:29:05 +01:00
23rd
69f347ddec Fixed loss of thumbnails after media editing. (#216) 2019-02-11 11:07:02 +01:00
Dan
cfcc4195ae Merge branch 'develop' into asyncio
# Conflicts:
#	requirements.txt
2019-02-07 16:28:11 +01:00
Dan
c05e008656 Monkey patch "typing" only for Python 3.5.0, 3.5.1 and 3.5.2 2019-02-07 16:27:17 +01:00
Dan
1e6d03108f Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
#	pyrogram/client/client.py
#	pyrogram/client/methods/contacts/get_contacts.py
#	pyrogram/client/methods/messages/send_media_group.py
#	requirements.txt
2019-02-07 16:20:03 +01:00
Dan
048858f545 Merge remote-tracking branch 'origin/develop' into develop 2019-02-07 13:23:03 +01:00
Dan
c1ca2d08ad Vendor an updated (and working) typing module to fix <3.5.3 errors
Monkey patch from https://github.com/python/typing
2019-02-07 13:20:44 +01:00
Dan
0216df7fc3
Update develop version 2019-02-06 19:44:23 +01:00
Dan
23a40a45ca Make get_contacts return a list of User objects 2019-02-06 11:28:57 +01:00
Dan
712b390f77 Add a retry mechanism when uploading chunks 2019-02-05 17:10:00 +01:00
Dan
a2263ad8ce Make send_media_group return the new Messages object 2019-02-05 11:50:32 +01:00
Dan
4eb26c5b92 Fix sleep method calls in asyncio: time.sleep -> asyncio.sleep 2019-02-04 18:34:58 +01:00
Dan
6109129f73 Reword some filter docstrings to better explain their usages 2019-02-04 18:23:40 +01:00
Dan
5de2b67df5 Update Pyrogram to v0.11.0 2019-02-04 16:40:24 +01:00
Dan
f012428f7e Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
2019-02-04 13:00:28 +01:00
Dan
c213118a74 Update develop version 2019-02-04 13:00:09 +01:00
Dan
dd86aba9d3 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/dispatcher/dispatcher.py
#	pyrogram/client/methods/messages/get_history.py
2019-02-04 12:59:20 +01:00
Dan
a6dbed6dfb Add a way to continue the update propagation within a group
Add continue_propagation() method and ContinuePropagation exception
Closes #212
2019-02-04 12:33:54 +01:00
Dan
ccecbd6a50 Merge branch 'raw-updates-swallowing' into develop 2019-02-04 11:47:31 +01:00
Dan
392fea6e32 Refactor Dispatcher's worker
Closes #211
2019-02-04 11:47:21 +01:00
Dan
429cfd0882 Move the check method into Handler superclass 2019-02-04 10:35:00 +01:00
Dan
249e405339 Update API schema to Layer 95 2019-02-03 11:03:11 +01:00
Dan
c40f061d9a Fix CallbackQuery docstrings 2019-02-02 19:01:35 +01:00
Dan
f0d059da07 First working (and ugly) way for fixing raw updates being swallowed 2019-01-30 17:16:50 +01:00
MBRCTV
cc7cb27858 Add missing await for send_audio thumbnail upload (#210) 2019-01-30 15:45:30 +01:00
MBRCTV
58cb30d97c
Added missing 'await' on thumb 2019-01-29 16:36:21 -05:00
Dan
628ddd4a25 Update Client's docstrings 2019-01-27 11:24:23 +01:00
Dan
67a35f8c7e Handle get_history flood waits
It's likely to get triggered when using iter_history (every ~3k msgs)
2019-01-27 11:13:10 +01:00
Dan
6c7a3316dd Merge branch 'develop' into asyncio 2019-01-26 16:15:38 +01:00
Dan
a8a6f53e2d Fix the configuration load process breaking in case of no plugins 2019-01-26 13:01:44 +01:00
Dan
e83012bfb8 Add missing await keywords 2019-01-25 10:24:04 +01:00
Dan
61e9762977 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
2019-01-25 10:22:56 +01:00
Dan
66ed6d53e3 Merge branch 'smart-plugins-enhancements' into develop 2019-01-25 09:22:06 +01:00
Dan
68509638c1 Merge branch 'develop' into layer-93 2019-01-24 17:21:57 +01:00
Dan
44deabf399 Update iter_chat_members efficiency 2019-01-24 17:21:41 +01:00
Dan
56e7bc9962 Update kick*, promote*, restrict* and unban_chat_member methods
For Layer 93
2019-01-24 17:20:29 +01:00
Dan
e9b1730318 Update ChatMember to use the new ChatPermissions type 2019-01-24 17:05:15 +01:00
Dan
1472b8236d Add ChatPermissions type 2019-01-24 17:03:51 +01:00
Dan
e99f86b69f Update media thumbs parsing for L93 2019-01-21 18:45:52 +01:00
Dan
cb0b8ebeae Fix Chat sticker_set_name 2019-01-21 18:35:11 +01:00
Dan
c0a5b0a2c3 Fix kicked members reporting "left" as status 2019-01-21 16:56:22 +01:00
Dan
b919ed8242 Add restricted_by attribute in ChatMember (#204) 2019-01-21 16:53:54 +01:00
Dan
f0c8f65e9d Add promoted_by attribute in ChatMember (#204) 2019-01-21 16:41:56 +01:00
Dan
16b7203ee9 Add invite_by attribute in ChatMember (#204) 2019-01-21 16:34:46 +01:00
Dan
a57ee7b333 Accommodate parsing of invited_by attribute of ChatMember (#204) 2019-01-21 16:33:33 +01:00
Dan
d6a1503344 Add "date" attribute to ChatMember (#204) 2019-01-21 15:38:36 +01:00
Dan
76d4e4f60e Fix "left" status not being parsed in ChatMember (#204) 2019-01-21 15:36:54 +01:00
Dan
652b3f90bc Remove async from some method signatures. They are not asynchronous 2019-01-17 12:34:30 +01:00
Dan
d72754be1e Add missing await 2019-01-17 12:30:40 +01:00
Dan
be013de4d4 Fix plugins load via Client parameter 2019-01-16 20:25:48 +01:00
Dan
6ec3b12aeb Smart plugins enhancements 2019-01-16 15:54:48 +01:00
Dan
3d16a715ad Fix file using wrong line separator 2019-01-16 15:46:46 +01:00
Dan
6df7788379 Enhance proxy settings
- Allow proxy settings to omit "enabled" key
- Allow setting proxy to None in order to disable it
2019-01-16 13:10:01 +01:00
Dan
63cb4b412e Fix PyCharm mess when merged develop into asyncio 2019-01-13 11:21:31 +01:00
Dan
9999c77e95 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/methods/messages/send_animation.py
#	pyrogram/client/methods/messages/send_audio.py
#	pyrogram/client/methods/messages/send_document.py
#	pyrogram/client/methods/messages/send_photo.py
#	pyrogram/client/methods/messages/send_sticker.py
#	pyrogram/client/methods/messages/send_video.py
#	pyrogram/client/methods/messages/send_video_note.py
#	pyrogram/client/methods/messages/send_voice.py
#	pyrogram/client/types/messages_and_media/message.py
2019-01-11 14:24:15 +01:00
Dan
4e02cd23a8 Make all send_* methods dealing with files aware of StopTransmission 2019-01-11 14:13:23 +01:00
Dan
2791600926 Hint about the returned value in case of stopped downloads 2019-01-11 14:12:53 +01:00
Dan
b37d4dc7ec Make get_file and save_file handle StopTransmission errors 2019-01-11 14:03:16 +01:00
Dan
6b63e88de7 Add Client.stop_transmission() method
As a wrapper for raise StopTransmission
2019-01-11 14:02:40 +01:00
Dan
c28b9f9a2c Add StopTransmission custom exception
Useful for stopping up/downloads after they started
2019-01-11 14:00:03 +01:00
Dan
d5ed47f4e9 Fix Message.download() not working when using the progress callback 2019-01-11 13:59:18 +01:00
Dan
200ed844fe Fix first_name and last_name not being called if they are callable 2019-01-11 13:02:19 +01:00
Dan
48b50780ce Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/methods/messages/send_message.py
2019-01-11 13:01:26 +01:00
Dan
161ab79eb3 Add Filters.media_group for photos or videos being part of an album. 2019-01-11 12:51:01 +01:00
Dan
1d8fd0b836 Make Filters.regex work on message captions too 2019-01-11 12:46:41 +01:00
Dan
07276e31b9 Add restart method 2019-01-11 12:36:37 +01:00
Dan
19b8f648d2 Fix bad behaviours for Python <3.6
Pyrogram was relying on dict keys being "ordered"
(keys keeping insertion order).
2019-01-11 12:31:18 +01:00
Dan
66f70450aa Allow phone_number, phone_code and password to also be functions
Also add recovery_code
References #163
2019-01-08 14:28:52 +01:00
Dan
3213fc4bb9 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
2019-01-07 22:59:47 +01:00
Dan
36681c8c5b Update dev version 2019-01-07 22:59:22 +01:00
Dan
35096a28c3 Fix asyncio merge 2019-01-07 22:57:19 +01:00
Dan
21c301d19d Merge branch 'develop' into asyncio 2019-01-07 22:51:57 +01:00
Dan
8928ca3433 Rename game_score to game_high_score 2019-01-07 22:50:54 +01:00
Dan
ee472329a2 Move get_game_high_scores method into bots folder 2019-01-07 22:35:17 +01:00
Dan
dc737ab7bb Add GameHighScore and GameHighScores types 2019-01-07 22:30:33 +01:00
Dan
633fefe178 Add get_game_high_scores method 2019-01-07 22:28:41 +01:00
Dan
65bdf31ce1 Move send_game and set_game_score into bots folder 2019-01-07 22:26:52 +01:00
Dan
33e83bf635 Update set_game_score docstrings 2019-01-07 22:19:21 +01:00
Dan
9771be9c2a Add send_game and set_game_score methods 2019-01-07 21:49:58 +01:00
Dan
1bbf048b7a Remove duplicated references 2019-01-07 21:49:25 +01:00
Dan
2055736661 Merge branch 'develop' into asyncio 2019-01-07 10:36:52 +01:00
Dan
7ae9a065b8 Update examples 2019-01-07 10:34:38 +01:00
Dan
491b96c9f6 Use "recent" filter for up to 10k members 2019-01-07 10:00:42 +01:00
Dan
0bae143d5d Fix asyncio merge issues 2019-01-07 09:37:26 +01:00
Dan
2084a406a4 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
#	pyrogram/client/client.py
#	pyrogram/client/ext/base_client.py
#	pyrogram/client/methods/chats/get_chat_members.py
#	pyrogram/client/methods/chats/get_dialogs.py
#	pyrogram/client/methods/chats/kick_chat_member.py
#	pyrogram/client/methods/messages/get_history.py
#	pyrogram/client/methods/messages/get_messages.py
#	pyrogram/client/types/messages_and_media/messages.py
2019-01-07 08:46:28 +01:00
Dan
6451d599b2 Fix typo 2019-01-07 08:30:40 +01:00
Dan
bb27633da6 Add game and game_score in Message 2019-01-05 23:13:47 +01:00
Dan
50e5692eae Add Filters.game and Filters.game_score. Also fix Filters.animation name 2019-01-05 23:12:59 +01:00
Dan
d5303285d6 Add support for Game inline buttons. Add CallbackGame type 2019-01-05 23:12:29 +01:00
Dan
7d061a1b5c Add Game type 2019-01-05 23:11:39 +01:00
Dan
7cb1c99e28 Update copyright year 2019-01-05 18:29:48 +01:00
Dan
a50dba2b4c Add close_poll method 2019-01-05 14:44:10 +01:00
Dan
7e354b12bf Fix kick_chat_member docstrings and return type 2019-01-04 23:15:57 +01:00
Dan
b8a3d02eef Fix get_messages return type 2019-01-04 23:12:06 +01:00
Dan
153439ac88 Add iter_chat_members method. Reference #170 2019-01-04 17:13:44 +01:00
Dan
d7e3397050 Update get_chat_members docstrings 2019-01-04 16:59:36 +01:00
Dan
e1cac13f0d Fix get_dialogs docstrings 2019-01-04 16:58:57 +01:00
Dan
948f2b44ed Add iter_dialogs method. Reference #170 2019-01-04 16:10:34 +01:00
Dan
4d1d70082b Sleep in case of get_dialogs flood waits 2019-01-04 16:08:05 +01:00
Dan
8628d3a56d Add iter_history method
For #170
2019-01-04 15:37:08 +01:00
Dan
fbc18cace0 Update get_history docstrings 2019-01-04 15:36:43 +01:00
Dan
04542dbddf Make parsing multiple Messages more efficient
This is achieved by not calling get_messages for each single reply.
Instead, all the available replies are retrieved in one request only.
2019-01-04 14:42:39 +01:00
Dan
7e3513f8ee Wait in case of flood errors in get_messages 2019-01-04 14:38:08 +01:00
Dan
fe89974523 Add get_history signature to BaseClient
Also make other method parameters generic
2019-01-04 14:37:26 +01:00
Dan
fe4e8c5a42 Rename get_history's "reversed" parameter to "reverse"
It was colliding with the built-in "reversed" function
2019-01-04 14:36:42 +01:00
Dan
36f987e979 Add Filters.me
Useful to filter messages coming from the current running user.
Does the same thing as Filters.user("me")
2019-01-03 20:58:38 +01:00
Dan
d69a93d253 Automatically cast message and caption arguments to str 2019-01-03 20:53:48 +01:00
Dan
4f6990d735 Add takeout parameter in Client
This lets the client use a takeout session instead of a normal one.
Takeout sessions are useful for exporting Telegram data. Methods invoked
inside a takeout session are less prone to throw FloodWait exceptions.
2019-01-03 12:20:42 +01:00
Dan
b53ba81a6a Add no_updates parameter in Client
Useful to completely disable incoming updates for batch programs
2019-01-03 11:13:24 +01:00
Dan
b7b31d39e8 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
2019-01-03 09:15:44 +01:00
Dan
4493f78138 Update to v0.10.3 2019-01-03 08:59:39 +01:00
Dan
372bbabe28 Make invite links of public channels work with get_chat 2019-01-02 22:39:16 +01:00
Dan
7f79210ba3 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/dispatcher/dispatcher.py
#	requirements.txt
2019-01-02 19:55:45 +01:00
Dan
1f8f313398 Fix broken ChatMember parser working on already parsed Users 2019-01-02 19:13:01 +01:00
Dan
1960b00280 Add a way to stop iterating through handlers
Closes #125
2019-01-02 18:11:22 +01:00
Dan
f440b1f969
Add missing colon 2019-01-02 17:27:40 +01:00
Dan
4d7b1bafac Update copyright year 2019-01-01 12:36:16 +01:00
Dan
3ada74068e Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
2018-12-31 17:45:04 +01:00
Dan
4f04d4aee8 Update to v0.10.2 2018-12-31 17:21:18 +01:00
Dan
e56425c878 Merge branch 'develop' into asyncio 2018-12-31 17:14:47 +01:00
Dan
21dbbc3f0b Fix style parsers randomly returning "unsorted" dicts.
This is due to Python <3.6 having "unsorted" dicts. Dicts are inherently
unsorted, but starting from Python 3.6 they keep the order in which the
keys are inserted (useful for unpacking)
2018-12-31 17:13:50 +01:00
Dan
4e4d765dd1 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
2018-12-31 14:53:24 +01:00
Dan
e5be7fcc90 Update to v0.10.1 2018-12-31 14:41:38 +01:00
Dan
2ea1f0f323 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/methods/chats/get_chat.py
#	pyrogram/client/methods/messages/get_messages.py
#	pyrogram/client/types/messages_and_media/messages.py
2018-12-31 12:06:15 +01:00
Dan
490b8bf579 Fix get_message getting infinite replies 2018-12-31 12:02:15 +01:00
Dan
5dcc19cfb3 Move download_media into messages and media namespace 2018-12-28 15:18:01 +01:00
Dan
64ec26850e Document save_file 2018-12-28 15:16:46 +01:00
Dan
c907e8146a Allow get_chat to work with chat invite links 2018-12-28 14:34:47 +01:00
Dan
0e62b3472a Add get_chat_preview method and ChatPreview object 2018-12-28 14:26:00 +01:00
Dan
769b3ebdee Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
#	pyrogram/client/methods/chats/get_dialogs.py
#	pyrogram/client/methods/messages/get_history.py
2018-12-28 00:38:54 +01:00
Dan
9fadbbd728 Update develop version 2018-12-28 00:37:20 +01:00
Dan
3814471af4 Change get_dialogs behaviour
It now accepts an offset_date instead of an offset_dialog
2018-12-27 23:56:45 +01:00
Dan
decaa9e7f0 Rename downwards to reversed 2018-12-27 23:55:56 +01:00
Dan
233e0920a2
Merge branch 'develop' into develop 2018-12-27 23:52:40 +01:00
Dan
f4736c17a6 Merge branch 'develop' into asyncio 2018-12-25 23:08:52 +01:00
Dan
1eee4b77e1 Pin/unpin_chat_message don't raise a ValueError anymore 2018-12-25 23:08:45 +01:00
Dan
06d8293fa0 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
#	pyrogram/client/client.py
#	pyrogram/client/methods/bots/send_inline_bot_result.py
#	pyrogram/client/methods/chats/pin_chat_message.py
#	pyrogram/client/methods/chats/unpin_chat_message.py
#	pyrogram/client/methods/password/change_cloud_password.py
#	pyrogram/client/methods/password/enable_cloud_password.py
#	pyrogram/client/methods/password/remove_cloud_password.py
2018-12-25 23:07:45 +01:00
Dan
7e4b96cfdf Suppress PyPep8Naming soft-warnings 2018-12-25 16:20:09 +01:00
Dan
d91acfe2ca Re-implement password-protected log-ins and support password recovery 2018-12-25 15:41:55 +01:00
Dan
fccadf526e Merge branch 'develop' into future
# Conflicts:
#	pyrogram/__init__.py
2018-12-25 14:36:59 +01:00
Dan
1e3612c781 Merge branch 'layer-85' into future
# Conflicts:
#	compiler/api/source/main_api.tl
#	pyrogram/client/methods/password/change_cloud_password.py
#	pyrogram/client/methods/password/enable_cloud_password.py
#	pyrogram/client/methods/password/remove_cloud_password.py
2018-12-25 14:34:56 +01:00
Dan
0a8a1f7771 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
#	pyrogram/client/client.py
2018-12-24 23:12:26 +01:00
Dan
00e4e385aa Allow bots to message old chats even if they don't exist in the session 2018-12-24 22:31:45 +01:00
Dan
6e964b51b1 Type hint on_message decorator 2018-12-24 14:50:04 +01:00
Dan
098b06d1b7 Fix poll docstrings and vote_poll wrong attribute access 2018-12-24 14:32:53 +01:00
Dan
c833b3842a Put PollOption back in a separate file, its docstrings must be visible 2018-12-24 14:19:21 +01:00
Dan
c4280f017e Add hide_via parameter to send_inline_bot_result 2018-12-24 14:13:47 +01:00
Dan
7881320a88 Update develop branch version 2018-12-23 19:53:22 +01:00
Dan
a551f1fe1e Fix Filters.poll docstrings link to Poll type 2018-12-23 19:52:49 +01:00
Dan
1d676a76db Merge branch 'develop' into future 2018-12-23 19:51:54 +01:00
Dan
9fe04ff7cd Fix filter links to Objects 2018-12-23 19:51:45 +01:00
Dan
3fe7fb20be Document retract_vote 2018-12-23 17:06:34 +01:00
Dan
2994929903 Document Poll 2018-12-23 17:00:51 +01:00
Dan
03d6c49d92 Document send_poll method 2018-12-23 17:00:51 +01:00
Dan
f477171344 Document vote_poll 2018-12-23 17:00:51 +01:00
Dan
03aa5094f7 Add retract_vote method 2018-12-23 17:00:51 +01:00
Dan
10f1e06326 Rework vote_poll to work with all polls generated by different clients 2018-12-23 17:00:51 +01:00
Dan
1f82eaa26f Add vote_poll method 2018-12-23 17:00:51 +01:00
Dan
0ce7498f81 Parse the pinned message on basic chats too 2018-12-23 17:00:51 +01:00
Dan
2b568afd2a Refactor Poll.
Move PollAnswer into poll.py and rename it to PollOption
2018-12-23 17:00:50 +01:00
Dan
f8de518f6b Update future version 2018-12-23 13:21:32 +01:00
Dan
2101dfb8db Show a meaningful error and hint to read more when using cloud password 2018-12-23 01:09:20 +01:00
Dan
0371f4ce8b Make cloud password methods raise NotImplementedError. See #178
The protocol changed (SRP) and they are currently not re-implemented.
2018-12-23 01:05:44 +01:00
Dan
7ee89c94cb Update pin/unpin_chat_message
It is now possible to pin messages in basic groups as well as in the
own user's chat.
2018-12-23 01:00:31 +01:00
Dan
84fef9ecf1 Add missing file_reference argument where applicable 2018-12-23 00:55:00 +01:00
Dan
e669a6a9ae Add send_poll method 2018-12-23 00:33:15 +01:00
Dan
8eab47123a Add Filters.poll to filter Poll messages 2018-12-22 23:55:16 +01:00
Dan
2b25b9469b Parse Poll objects inside Message 2018-12-22 23:55:04 +01:00
Dan
1ef3bc758f Export Poll and PollAnswer types 2018-12-22 23:54:42 +01:00
Dan
aef02f049c Add Poll and PollAnswer types 2018-12-22 23:54:18 +01:00
Dan
f5ce49b7b2 - Fix small glitches introduced when merging.
- Remove typing requirement, asyncio branch already needs Python 3.5+.
- Add async_lru as extra requirement because the standard lru_cache
  doesn't work in asyncio world.
2018-12-22 14:08:29 +01:00
Dan
e6667be10b Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/dispatcher/dispatcher.py
#	pyrogram/client/ext/utils.py
#	pyrogram/client/methods/bots/get_inline_bot_results.py
#	pyrogram/client/methods/bots/request_callback_answer.py
#	pyrogram/client/methods/bots/send_inline_bot_result.py
#	pyrogram/client/methods/chats/delete_chat_photo.py
#	pyrogram/client/methods/chats/export_chat_invite_link.py
#	pyrogram/client/methods/chats/get_chat.py
#	pyrogram/client/methods/chats/get_chat_member.py
#	pyrogram/client/methods/chats/get_chat_members.py
#	pyrogram/client/methods/chats/get_chat_members_count.py
#	pyrogram/client/methods/chats/get_dialogs.py
#	pyrogram/client/methods/chats/join_chat.py
#	pyrogram/client/methods/chats/kick_chat_member.py
#	pyrogram/client/methods/chats/leave_chat.py
#	pyrogram/client/methods/chats/pin_chat_message.py
#	pyrogram/client/methods/chats/promote_chat_member.py
#	pyrogram/client/methods/chats/restrict_chat_member.py
#	pyrogram/client/methods/chats/set_chat_description.py
#	pyrogram/client/methods/chats/set_chat_photo.py
#	pyrogram/client/methods/chats/set_chat_title.py
#	pyrogram/client/methods/chats/unban_chat_member.py
#	pyrogram/client/methods/chats/unpin_chat_message.py
#	pyrogram/client/methods/contacts/add_contacts.py
#	pyrogram/client/methods/contacts/delete_contacts.py
#	pyrogram/client/methods/messages/delete_messages.py
#	pyrogram/client/methods/messages/edit_message_caption.py
#	pyrogram/client/methods/messages/edit_message_media.py
#	pyrogram/client/methods/messages/edit_message_reply_markup.py
#	pyrogram/client/methods/messages/edit_message_text.py
#	pyrogram/client/methods/messages/forward_messages.py
#	pyrogram/client/methods/messages/get_history.py
#	pyrogram/client/methods/messages/get_messages.py
#	pyrogram/client/methods/messages/send_animation.py
#	pyrogram/client/methods/messages/send_audio.py
#	pyrogram/client/methods/messages/send_chat_action.py
#	pyrogram/client/methods/messages/send_contact.py
#	pyrogram/client/methods/messages/send_document.py
#	pyrogram/client/methods/messages/send_location.py
#	pyrogram/client/methods/messages/send_media_group.py
#	pyrogram/client/methods/messages/send_message.py
#	pyrogram/client/methods/messages/send_photo.py
#	pyrogram/client/methods/messages/send_sticker.py
#	pyrogram/client/methods/messages/send_venue.py
#	pyrogram/client/methods/messages/send_video.py
#	pyrogram/client/methods/messages/send_video_note.py
#	pyrogram/client/methods/messages/send_voice.py
#	pyrogram/client/methods/password/change_cloud_password.py
#	pyrogram/client/methods/password/enable_cloud_password.py
#	pyrogram/client/methods/password/remove_cloud_password.py
#	pyrogram/client/methods/users/delete_user_profile_photos.py
#	pyrogram/client/methods/users/get_me.py
#	pyrogram/client/methods/users/get_user_profile_photos.py
#	pyrogram/client/methods/users/get_users.py
#	pyrogram/client/methods/utilities/download_media.py
#	pyrogram/client/types/messages_and_media/message.py
2018-12-22 12:23:08 +01:00
Dan
4bf6831be8 Fix some non-importable types for type hint 2018-12-22 11:22:58 +01:00
Dan
a0355a5cc4 Type hint all methods return values 2018-12-19 15:59:15 +01:00
Dan
bf0b947253 Type hint all Client methods 2018-12-19 14:55:48 +01:00
Dan
b593463bd7 Type hint all the remaining method parameters 2018-12-19 14:50:23 +01:00
Dan
4fb9969470 Replace Client with BaseClient type hint 2018-12-19 14:45:16 +01:00
Dan
5035daa9d7 Type hint all Pyrogram types 2018-12-19 13:29:58 +01:00
Dan
e8fbae3166 Make all parse methods protected to hide them from the lib user 2018-12-19 13:00:33 +01:00
Dan
b79f395d37 Type hint Message 2018-12-19 12:30:25 +01:00
Dan
26ef8ea953 Revert to the old style 2018-12-19 10:59:49 +01:00
Dan
510b2456b6 Reword offset_dialog docstrings in Dialog 2018-12-19 10:27:47 +01:00
Dan
8f6f38e0b0 Merge branch 'develop' into new-parsers 2018-12-18 11:22:47 +01:00
Dan
bc824f738c Add extra warnings when sign-ins or sign-ups fail 2018-12-18 11:21:37 +01:00
Dan
c9bcf93cf7 Add extra checks in case sign-in or sign-up fails 2018-12-18 10:10:04 +01:00
Dan
e203a5500f Don't treat messages containing web page previews as media 2018-12-18 10:07:40 +01:00
Dan
914dfca574 Reformat code and optimize imports 2018-12-18 09:50:39 +01:00
Dan
27052e31ca Fix all those unresolved references caused by the refactor 2018-12-18 09:45:49 +01:00
Dan
dc2792fbea Ditch raw attribute. There's no use for it now 2018-12-18 08:48:20 +01:00
Dan
761a07bda8 Remove unneeded parts in utils.py 2018-12-17 16:42:16 +01:00
Dan
1344e95be6 Use the new parsers in dispatcher.py 2018-12-17 16:40:06 +01:00
Dan
2a1a6301a6 Add Messages.parse_delete method 2018-12-17 16:37:58 +01:00
Dan
6a0a271d24 Fix broken UpdateStatus in case of incoming updates 2018-12-17 16:28:16 +01:00
Dan
1873344467 Update get_users to use the refactored User type 2018-12-17 16:27:16 +01:00
Dan
6bc2db7157 Better way of parsing total_count for Messages and UserProfilePhotos 2018-12-17 16:14:32 +01:00
Dan
e6dced80cf Update get_dialogs to use the new refactored Dialogs type 2018-12-17 16:13:57 +01:00
Dan
ccf677f3a0 Refactor Dialog and Dialogs 2018-12-17 16:13:28 +01:00
Dan
8c02a1553d Add Chat.parse_dialog 2018-12-17 16:12:53 +01:00
Dan
603bc88aa3 Refactor get_history method 2018-12-17 14:18:41 +01:00
Dan
7b90a0e7c5 Refactor Messages 2018-12-17 14:18:15 +01:00
Dan
5bc9e0fc75 Fix Video not having client and raw attributes set 2018-12-17 14:17:57 +01:00
Dan
8cbb9c9316 Refactor UserProfilePhotos 2018-12-17 13:51:08 +01:00
Dan
a683e3e917 Refactor bot keyboard types 2018-12-17 13:16:05 +01:00
Dan
3f643242b1 Reformat encoder style 2018-12-17 13:03:08 +01:00
Dan
d31a696f32 Fix encoder breaking with bytes 2018-12-17 13:02:22 +01:00
Dan
52b9319734 Refactor CallbackQuery 2018-12-17 13:01:41 +01:00
Dan
92118e3608 Reformat __init__ parameters 2018-12-17 12:45:35 +01:00
Dan
e9a362923f Cache stickers 2018-12-17 12:42:29 +01:00
Dan
ac8258f451 Move Str into message.py 2018-12-17 12:40:32 +01:00
Dan
c6a0bf0791 Force named arguments on Pyrogram types 2018-12-16 22:34:23 +01:00
Dan
7430529646 Make use of the refactored Chat type in get_chat 2018-12-16 17:59:34 +01:00
Dan
5d64de10dc Add Chat.parse_full 2018-12-16 17:58:32 +01:00
Dan
31b046e5cc Use the refactored types in get_chat_member(s) 2018-12-16 17:58:05 +01:00
Dan
66cd896a99 Allow passing raw 2018-12-16 17:10:55 +01:00
Dan
cffafa8c61 Small fixed to PyrogramType 2018-12-16 17:10:08 +01:00
Dan
d62bc1d8ba Refactor ChatMember and ChatMembers 2018-12-16 16:22:46 +01:00
Dan
3ecbb35470 Delete Update 2018-12-16 15:26:56 +01:00
Dan
6ab1c87050 Add PyrogramType 2018-12-16 15:24:51 +01:00
Dan
5ecbfbf25f Refactor Message and MessageEntity 2018-12-16 14:30:44 +01:00
Dan
334fb8d0ba Refactor Sticker, Contact and Document 2018-12-16 14:30:13 +01:00
Dan
c84fca30a2 Refactor Venue and Location 2018-12-16 14:29:10 +01:00
Dan
e5e0b17809 Refactor Photo and PhotoSize 2018-12-16 14:28:41 +01:00
Dan
11ed26b318 Refactor Animation, Video and VideoNote 2018-12-16 14:27:52 +01:00
Dan
905f4b8e62 Refactor Voice and Audio 2018-12-16 14:25:18 +01:00
Dan
efc6023b08 Re-implement remove_cloud_password using SRP 2018-12-15 20:08:31 +01:00
Dan
1c4dd13e72 Refactor Chat 2018-12-15 17:31:22 +01:00
Dan
5962f8dedc Refactor ChatPhoto 2018-12-15 17:30:24 +01:00
Dan
bf3609ec0a Refactor User 2018-12-15 17:29:51 +01:00
Dan
0d0fbdad27 Reformat UserStatus style 2018-12-15 17:28:52 +01:00
Dan
26b15f384d Update UserStatus docs 2018-12-15 17:26:24 +01:00
Dan
b2f3e79ff7 Refactor UserStatus 2018-12-15 17:25:34 +01:00
Dan
9ac492e644 Remove Message generated comments 2018-12-15 15:32:50 +01:00
Dan
37d063e569 Reorganize Message __init__ 2018-12-15 12:35:09 +01:00
Dan
40ecc082a6 Re-implement change_cloud_password using SRP 2018-12-15 12:22:33 +01:00
Dan
124f49ce7a Merge branch 'develop' into asyncio 2018-12-15 11:37:34 +01:00
Dan
1bd41d0138 Fix CallbackQuery docs 2018-12-15 11:37:27 +01:00
Dan
47b25b0e2d CallbackQuery must deal with bytes instead of strings 2018-12-15 11:36:16 +01:00
Dan
17b166e6a6 CallbackQuery must deal with bytes instead of strings 2018-12-15 11:35:53 +01:00
Dan
6292fe8f86 Fix progress callbacks in asyncio 2018-12-15 11:24:31 +01:00
Dan
976eae63ed Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/methods/messages/send_media_group.py
#	pyrogram/client/methods/utilities/download_media.py
2018-12-15 11:12:30 +01:00
Dan
70470360b1 Print account name when logging in the first time 2018-12-15 11:10:25 +01:00
Dan
001a067d82 Make start and stop methods return self to make chaining possible
Suggestion by @CharlesBachman in Telegram
2018-12-15 09:50:35 +01:00
Dan
6a9c7312cc Document how decorated functions are modified 2018-12-15 09:10:19 +01:00
Dan
e3459017ef Re-implement enable_cloud_password using SRP 2018-12-15 09:05:50 +01:00
Dan
89983b75ca Move relevant SRP-related code into another file
These functions are going to be used by all *_cloud_password methods
2018-12-15 08:59:26 +01:00
Dan
2ae8730b22 Add Filters.via_bot to filter messages sent via inline bots 2018-12-15 08:53:22 +01:00
Dan
4ba5e63034 Report offset instead of 0 in case file size is missing (for file_id) 2018-12-15 08:51:20 +01:00
Dan
9c91720104 Fix broken download_media progress args 2018-12-15 08:50:08 +01:00
Dan
49b18c600d Add missing thumb for videos in albums. Fixes #169 2018-12-15 08:39:43 +01:00
Dan
0e050b45e7 Attempt srp 2018-12-15 08:06:18 +01:00
Dan
2a9149ca5f
Merge pull request #166 from zeroone2numeral2/webpage-message-attribute
Added Message.web_page and Filters.web_page
2018-12-08 16:43:48 +01:00
Dan
ac8fc58a06
Add a note hinting about basic support for web pages 2018-12-08 16:41:30 +01:00
zeroone2numeral2
2d1a7871ea Added Filters.web_page 2018-11-25 17:05:59 +00:00
zeroone2numeral2
61f2d7c968 Added web_page attribute to Message object 2018-11-25 16:56:39 +00:00
Dan
40047877fe Add missing await 2018-11-20 19:47:41 +01:00
Dan
017c61a876 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/dispatcher/dispatcher.py
#	pyrogram/client/methods/bots/request_callback_answer.py
#	pyrogram/client/types/messages_and_media/message.py
2018-11-20 19:40:07 +01:00
Dan
436c48d1c2 Allow Bots to edit and delete own messages w/ Message bound methods.
This is some sort of a workaround because the server doesn't send full
info about text messages originated by bots. Fixes #162
2018-11-20 16:52:59 +01:00
Dan
b753e48732 Remove unnecessary check 2018-11-20 16:08:25 +01:00
Dan
08776619a7 Change callback_data type to bytes for request_callback_answer
Fixes #161
2018-11-20 16:08:24 +01:00
Aleksandr Pyatnitsin
40d7ed2b8e
fix RawUpdateHandler 2018-11-14 23:21:19 +03:00
Dan
d5ef03d662 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
#	pyrogram/client/client.py
#	pyrogram/client/dispatcher/dispatcher.py
2018-11-13 20:36:04 +01:00
Dan
54e7539865 Update to v0.9.3 2018-11-13 20:34:33 +01:00
Dan
e400641204 Fix Dispatcher bad behaviours in case of multiple Clients running at the same time. 2018-11-13 20:31:53 +01:00
Dan
f7f1dbd25c Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/types/messages_and_media/message.py
2018-11-13 14:01:47 +01:00
Dan
5b10afa7a3 Small style fix 2018-11-13 13:30:26 +01:00
Dan
9f8e05861f Fix sphinx warning 2018-11-13 13:22:23 +01:00
Dan
87fca98035 Update to v0.9.2 2018-11-13 13:16:31 +01:00
Dan
8dfa80ef61 Add missing await keyword 2018-11-10 15:29:37 +01:00
Dan
df0de0c85a Merge branch 'develop' into asyncio 2018-11-10 15:22:08 +01:00
Dan
2e16499369 Allow decorators to be stacked
E.g:

app1.on_message(...)
app2.on_message(...)
app3.on_message(...)
def on_message(client, message):
    ...
2018-11-10 15:21:52 +01:00
Dan
fafa3b5131 Fix some decorators not working when used in plugins 2018-11-10 15:15:58 +01:00
Dan
97e705f833 Make new types importable 2018-11-09 13:16:44 +01:00
Dan
ebfb64e139 Add InputMessageContent docstrings 2018-11-09 13:16:27 +01:00
Dan
1ab17d8015 Fix InputTextMessageContent with empty reply markups 2018-11-09 13:15:54 +01:00
Dan
5ed904a2e4 Update inline_query_result_article 2018-11-09 13:15:20 +01:00
Dan
06797d32f0 Add InlineQueryResult super class 2018-11-09 13:09:27 +01:00
Dan
55cca00401 Add on_inline_query decorator 2018-11-09 13:08:50 +01:00
Dan
07cb14de61 Add InlineQueryHandler 2018-11-09 13:08:28 +01:00
Dan
755a392fa2 Merge branch 'develop' into inline-mode 2018-11-09 10:23:47 +01:00
Dan
7bc4490680 Rework dispatcher for asyncio 2018-11-09 10:10:26 +01:00
Dan
301ba799cf Fix update_worker not being async 2018-11-09 09:41:49 +01:00
Dan
14feffce84 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/dispatcher/dispatcher.py
#	pyrogram/client/ext/utils.py
#	pyrogram/client/types/messages_and_media/message.py
2018-11-09 09:33:00 +01:00
Dan
c3edd9d862 Merge branch 'dispatcher-optimizations' into develop 2018-11-09 09:23:16 +01:00
Dan
23fd39e2c8 Update dispatcher.py 2018-11-09 09:21:01 +01:00
Dan
dfadf92742 Update InlineQueryResultArticle
Inherit from InlineQueryResult
2018-11-09 09:14:03 +01:00
Dan
b98345b20e Add InputMessageContent type 2018-11-09 09:13:32 +01:00
Dan
c7fe5b810a Add InlineQueryResult type 2018-11-09 09:13:20 +01:00
Dan
aaded7564e Clean up auto generated comments 2018-11-09 08:54:54 +01:00
Dan
735246b259 Fix InlineQuery ID 2018-11-09 08:53:34 +01:00
Dan
8d50b86bc6 Merge branch 'develop' into inline-mode
# Conflicts:
#	compiler/api/compiler.py
2018-11-09 08:52:26 +01:00
Dan
3adb820bac
Merge pull request #156 from VANKINEENITAWRUN/develop
Add missing args to Message.download bound method
2018-11-08 20:30:39 +01:00
Dan
80726784e5
Fix Filters.chat docstrings using unusual double quotes 2018-11-08 20:25:35 +01:00
Dan
803f36412f
Update Filters.user docstrings 2018-11-08 20:24:54 +01:00
Furoin
b4bc7deba0 added Filters.user("me") 2018-11-08 17:11:43 +03:00
Vankineeni Tawrun
cdabf3e7e0 added args to Message.download bound method 2018-11-08 19:08:56 +05:30
Dan
3b7580739b Merge branch 'develop' into asyncio 2018-11-08 11:14:20 +01:00
Dan
774462283e Update service and media filter docstrings 2018-11-08 11:10:24 +01:00
Dan
f6d3db3662 Update docstring style 2018-11-08 11:03:47 +01:00
Dan
b747f87319 Update Filters.media 2018-11-08 10:50:52 +01:00
Dan
e760550f8b Add Message.media field 2018-11-08 10:49:32 +01:00
Dan
f26e20d30e Update Filters.service 2018-11-08 10:44:32 +01:00
Dan
fc7b77e2b9 Add Message.service field 2018-11-08 10:40:46 +01:00
Dan
32a09ffc4c Add Message.empty field 2018-11-08 10:28:11 +01:00
Dan
cedb1f069a Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/ext/utils.py
#	pyrogram/client/types/messages_and_media/message.py
2018-11-07 13:12:52 +01:00
Dan
f8844d60ab Handle possible MESSAGE_IDS_EMPTY errors in case of pinned messages 2018-11-07 13:11:33 +01:00
Dan
648eb80928 Add Message.edit() bound method 2018-11-07 12:03:57 +01:00
Dan
160420bda4
Merge pull request #155 from Furoin/chat
Allow using "me" or "self" in Filters.chat
2018-11-06 17:41:12 +01:00
Dan
5efd608487
Update Filters.chat docstrings 2018-11-06 17:40:37 +01:00
Dan
5571888143
Add mentioned docstrings 2018-11-06 17:37:32 +01:00
Dan
0943761a91
Update filters.py 2018-11-06 17:32:46 +01:00
Dan
5da5cabf4c
Remove useless variable 2018-11-06 17:31:04 +01:00
Furoin
1adc812108 added Filters.chat("me") 2018-11-06 18:36:40 +03:00
Furoin
2d0ffcb0f4 added Filters.mentioned 2018-11-06 17:13:37 +03:00
Furoin
91beb214e9 added message.mentioned 2018-11-06 17:11:35 +03:00
Dan
9c7db1046e Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
2018-11-05 17:44:40 +01:00
Dan
03f57cd2af Use TCPAbridgedO as default connection mode 2018-11-05 17:33:12 +01:00
Dan
5532c12e56 Update dev version 2018-11-05 17:32:11 +01:00
Dan
a9c4c72e5f Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
#	pyrogram/client/ext/utils.py
2018-11-04 18:00:07 +01:00
Dan
e3a93b339c Update to v0.9.1 2018-11-04 17:50:51 +01:00
Dan
ff7ee4678a Catch possible MESSAGE_IDS_EMPTY errors 2018-11-04 17:25:39 +01:00
Dan
966926d383 Remove unneeded FloodWait check 2018-11-04 16:53:23 +01:00
Dan
46e19c395c Don't encode callback data when sending inline buttons 2018-11-04 11:36:10 +01:00
Dan
af937152a1 Don't decode inline buttons callback data
Clients are able to set any value as plain bytes, this means UTF-8
decoding could fail.
2018-11-04 09:36:58 +01:00
Dan
30c0086fde Fix missing total_count for ChatMembers in channels/supergroups 2018-11-03 22:01:26 +01:00
Dan
96af2ebcf2 Fix getattr failing for ChannelForbidden objects 2018-11-03 17:04:04 +01:00
Dan
5917fffb59 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
2018-11-03 14:47:48 +01:00
Dan
106fc0f458 Update to v0.9.0 2018-11-03 14:35:26 +01:00
Furoin
bc703ae6d7 added Filters.dan 2018-11-03 14:57:57 +03:00
Dan
bc4c787599 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
#	pyrogram/client/types/messages_and_media/message.py
#	pyrogram/connection/transport/tcp/tcp.py
2018-11-03 12:04:31 +01:00
Dan
c006ba5b30
Merge pull request #146 from TolichP/add-filesize-limit-error
Add file size limit error
2018-11-03 11:11:06 +01:00
Dan
09563067c7
Add a check for 0 B file sizes 2018-11-03 11:10:43 +01:00
Dan
45129658b0 Revisit docstrings 2018-11-03 10:49:11 +01:00
Dan
0c76774283 Reformat code 2018-11-02 10:26:59 +01:00
Dan
27d10b04c0 Update dev version 2018-11-02 10:23:41 +01:00
Dan
2e53129c0c Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/ext/utils.py
#	pyrogram/client/methods/messages/get_messages.py
2018-10-28 19:53:45 +01:00
Dan
529ef143f0 Remove debugging piece of code 2018-10-28 19:52:54 +01:00
Dan
229b8df9cd Fix bad behaviours of get_messages 2018-10-28 17:44:24 +01:00
Dan
005c24e4bd Update get_messages docstrings 2018-10-28 17:24:37 +01:00
Dan
6cf6d49634 Update utils to accommodate changes on get_messages 2018-10-28 17:24:05 +01:00
Dan
daee188fa5 Update get_messages to accept the new reply_to_message_ids argument 2018-10-28 17:23:30 +01:00
Dan
39636f2843 Update get_messages signature 2018-10-28 17:18:00 +01:00
Dan
4fd93a790f Small fixes and rewords 2018-10-28 15:27:49 +01:00
Dan
0a946033c3 Move optional field down after required fields 2018-10-28 15:27:20 +01:00
Dan
11b7c3b52a Remove unused game field from Message 2018-10-28 15:26:46 +01:00
Dan
c9462911cf Fix Filters.command ignoring commands with empty prefixes 2018-10-25 14:47:18 +02:00
Dan
6ade4030b2 Merge branch 'develop' into asyncio 2018-10-23 15:50:15 +02:00
Dan
99bdaae365 Allow nested folders for smart plugins 2018-10-23 15:43:49 +02:00
Dan
66bcc7cde4 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/methods/chats/kick_chat_member.py
2018-10-21 15:56:02 +02:00
Dan
7d4dfa6d12 Merge branch 'delete-kicked-message' into develop 2018-10-21 09:51:12 +02:00
Dan
a0780d793d Apply code review suggestions 2018-10-21 14:44:29 +07:00
Dan
bc08ba86d9 Update emojis 2018-10-21 09:43:57 +02:00
Dan
35e3471961 The restriction_reason field is not always available 2018-10-21 09:43:22 +02:00
Dan
1fe46610cd Make plugins disabled by default
Users need to explicitly set plugins_dir parameter
2018-10-21 09:42:22 +02:00
Dan
b12c87f50a Make kick_chat_member return the "user kicked" message 2018-10-21 09:40:49 +02:00
Alexandr
ee47c21eed Add file size limit error 2018-10-19 23:39:29 +07:00
Dan
3f0a355f7e Further optimize and simplify the Dispatcher 2018-10-19 11:54:27 +02:00
Dan
09e0345868 Small dispatcher clean ups 2018-10-18 21:18:22 +02:00
Dan
89362ef684 Tiny fix to reflect other docstrings 2018-10-18 11:48:55 +02:00
Dan
e88972a8f6 Add restriction_reason to User and Chat types. Closes #144 2018-10-18 11:10:37 +02:00
Dan
38ff950d01 Remove useless #noinspection 2018-10-17 21:00:14 +02:00
Dan
426cdbbcb8 Don't make use of Update objects when dispatching updates
The Update type is used nowhere, adds costly abstraction and makes the
code uglier. If I ever need it again (unlikely) I can just revert this.
2018-10-17 20:59:33 +02:00
Dan
a315c30336 Optimize dispatcher.py code 2018-10-17 20:37:53 +02:00
Dan
41180fd22a Update max caption length 2018-10-16 15:24:54 +02:00
Dan
3d8a386e25 Merge branch 'develop' into asyncio 2018-10-16 12:58:22 +02:00
Dan
c8604e8e2c Update on_user_status decorator 2018-10-16 12:58:11 +02:00
Dan
418eb0b01a Fix asyncio dispatcher 2018-10-16 12:38:50 +02:00
Dan
f45e3377a9 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/methods/users/delete_user_profile_photos.py
2018-10-16 12:20:46 +02:00
Dan
9e159a3f50 Merge branch 'plugins' into develop 2018-10-16 12:12:21 +02:00
Dan
8a81bd1221 Merge branch 'user-status' into develop 2018-10-16 12:07:53 +02:00
Dan
c7a38655c4 Merge branch 'update-profile-photo' into develop 2018-10-16 11:59:17 +02:00
Dan
841141077f Add better examples to Filters.command 2018-10-16 11:53:05 +02:00
Dan
22998af784 Fix docstrings 2018-10-16 11:45:39 +02:00
Dan
29201674ef Rename delete_profile_photos to delete_user_profile_photos
For consistency with other method names
2018-10-16 11:45:20 +02:00
Dan
8fc5b8a545 Rename set_profile_photo to set_user_profile_photo 2018-10-16 11:43:54 +02:00
Dan
c94c79edac Implement InlineQueryResultCachedAudio 2018-10-16 11:34:44 +02:00
Dan
797a0df087 Implement InlineQueryResultPhoto 2018-10-15 15:04:49 +02:00
Dan
c8fc995c83 No need to inherit from Object 2018-10-15 14:31:16 +02:00
Dan
0a057cc233 Expose new types and methods 2018-10-15 14:30:12 +02:00
Dan
350265aaae Add answer_inline_query method 2018-10-15 14:29:58 +02:00
Dan
c5cedd880d Allow Markdown and HTML styles to work on an empty dict.
For inline results. User mentions are disabled this way
2018-10-15 14:29:23 +02:00
Dan
e59d07af1e Add missing InlineQueryResultArticle 2018-10-15 14:28:11 +02:00
Dan
59c3aa0589 Inject reply_markup 2018-10-15 14:25:02 +02:00
Dan
d6c0e61456 Add InputTextMessageContent type 2018-10-15 14:24:33 +02:00
Dan
dd642f5b9d Add scraped inline query results 2018-10-15 11:34:27 +02:00
Dan
93018a7f6c Add set_profile_photo method 2018-10-15 11:03:07 +02:00
Dan
c37dcb07cf Add parse_inline_query util method 2018-10-15 10:50:17 +02:00
Dan
a9fe0fffc6 Add InlineQuery type 2018-10-15 10:48:07 +02:00
Dan
5b17376801 Enable dispatching of user status updates 2018-10-15 10:18:22 +02:00
Dan
d567b878b1 Expose UserStatusHandler and on_user_status 2018-10-15 10:17:00 +02:00
Dan
2eae08aaa6 Add on_user_status decorator 2018-10-15 10:16:19 +02:00
Dan
ff9be53a95 Add UserStatusHandler class 2018-10-15 10:14:40 +02:00
Dan
471b5c3334 Add user_status field to Update class 2018-10-15 10:10:49 +02:00
Dan
4b04910197 Add user_id field to UserStatus 2018-10-15 10:08:56 +02:00
Dan
79a9ddfab5 Some more changed in order to enhance UserStatus API design 2018-10-15 10:07:46 +02:00
Dan
b2b599e211 Rework user status parsing to also accommodate user_status updates 2018-10-15 09:47:47 +02:00
Dan
86e4fc4e62 Rename last_seen field to status in User class
Also add docstrings for status
2018-10-15 09:20:13 +02:00
Dan
b00604dbc9 Move date field 2018-10-14 18:00:31 +02:00
Dan
2d65eb3dc7 Add UserStatus docstrings 2018-10-14 17:56:51 +02:00
Dan
c9ce188bbe Remove "bot" property from UserStatus 2018-10-14 17:56:10 +02:00
Dan
69c1532eae Rename LastSeen to UserStatus
It will make more sense later on when I add UserStatus updates
handler.
2018-10-14 17:17:50 +02:00
Dan
7b369a73bb Add parse_last_seen util method 2018-10-14 17:11:27 +02:00
Dan
d2f47d7e59 Add last_seen field to User parse_last_seen 2018-10-14 17:11:01 +02:00
Dan
465dcac630 Create LastSeen class 2018-10-14 17:08:49 +02:00
Dan
b79df81f14 Allow specifying more than one prefix in Filters.command 2018-10-14 14:24:53 +02:00
Dan
f4146a8779 Accept None as plugins_dir 2018-10-13 19:33:43 +02:00
Dan
8e238ccc9a Add plugins_dir docstrings in Client class definition 2018-10-13 11:14:26 +02:00
Dan
96b39970d6 Allow on_callback_query to be used as a static decorator 2018-10-13 10:55:41 +02:00
Dan
6fdb90e4a4 Allow on_deleted_messages to be used as a static decorator 2018-10-13 10:54:13 +02:00
Dan
54296a6fda Allow on_disconnect to be used as a static decorator 2018-10-13 10:47:39 +02:00
Dan
1fdc757f2a Allow on_raw_update to be used as a static decorator 2018-10-13 10:46:29 +02:00
Dan
345ac6e16a Merge branch 'develop' into plugins 2018-10-13 10:42:07 +02:00
Dan
9649b1457c Don't make use of hardcoded default int values too 2018-10-13 10:41:58 +02:00
Dan
340fb9c145 Merge branch 'develop' into plugins
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/ext/base_client.py
2018-10-13 10:39:47 +02:00
Dan
a32009a79d Don't make use of hardcoded default string values 2018-10-13 10:38:44 +02:00
Dan
6a0066b8b5 Move loading plugins logic into a separate method 2018-10-12 17:57:34 +02:00
Dan
4bb50ee35f More logs when loading plugins 2018-10-12 17:54:52 +02:00
Dan
6c05f9ff42 Sanitize (a bit) plugins directory 2018-10-12 15:26:52 +02:00
Dan
4e516d097f Don't raise exceptions in case of non-existent plugins folder
Don't even warn in case the default plugins folder doesn't exist
2018-10-12 14:32:35 +02:00
Dan
0b79f96b4f Turn hardcoded plugins dir into a constant 2018-10-12 14:19:26 +02:00
Dan
dfb841baa9 Automatically scan and load plugins from a customizable directory
Defined functions found inside the directory that are also decorated
properly will be registered in the Client's dispatcher as handlers.
2018-10-12 14:17:03 +02:00
Dan
0025489c86 Allow on_message to behave like a static decorator
This enabled usages like @Client.on_message(...).
To preserve positional arguments order and thus ease the static
decorator usage there's a not-so-elegant hack in place that shifts
values.
2018-10-12 14:12:29 +02:00
Dan
e5f233b01e Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/dispatcher/dispatcher.py
#	pyrogram/client/ext/utils.py
2018-10-09 16:38:28 +02:00
Dan
acd525294f Add CallbackQuery.answer bound method 2018-10-09 14:08:01 +02:00
Dan
1be144288c Add a proxy to the Client instance inside CallbackQuery objects 2018-10-09 14:07:01 +02:00
Dan
d5c2ca2e1d Use TCPAbridged (async) connection mode 2018-10-08 20:18:20 +02:00
Dan
980807f1de Remove TODO 2018-10-08 20:17:47 +02:00
Dan
1fc160c566 Make TCPIntermediateO async 2018-10-08 20:17:31 +02:00
Dan
78a768f52c Make TCPAbridgedO async 2018-10-08 20:17:04 +02:00
Dan
1bf0d93140 Make TCPFull async 2018-10-08 20:16:44 +02:00
Dan
ee06907bda Make TCPAbridged async 2018-10-08 20:16:04 +02:00
Dan
a28ab0e8a8 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
2018-10-08 19:16:47 +02:00
Dan
3fa738db9f Update dev version 2018-10-02 12:07:54 +02:00
Dan
fcdb71c28c Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/dispatcher/dispatcher.py
#	pyrogram/client/methods/chats/promote_chat_member.py
2018-10-01 16:21:14 +02:00
Dan
89a167b51f Update default rights to the least common between supergroups & channels
Fixes #120
2018-10-01 10:52:09 +02:00
Dan
0162cf48c1 Don't break groups in case one handler raises an unhandled exception
The error is logged instead. Fixes #126
2018-10-01 09:55:09 +02:00
Dan
b79bd1ea83 Don't swallow left_chat_member updates
Even though they are only relevant for supergroups with <50 members
2018-10-01 09:45:32 +02:00
Dan
12c61fb431 Fix unwanted CHANNEL_PRIVATE errors. Fixes #129 2018-10-01 09:40:34 +02:00
Dan
3cbffd93f2 Revert "Log unknown constructors"
This reverts commit 0b6b598

This fixes #128
2018-10-01 09:25:20 +02:00
Dan
8070bf4cd4 Fix bad merge after editing tcp.py 2018-09-22 19:41:33 +02:00
Dan
41acdd4d63 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/connection/transport/tcp/tcp.py
2018-09-22 14:49:35 +02:00
Dan
8ea556b65f Fix handling proxies with domain names 2018-09-22 14:44:12 +02:00
Dan
28abcaac50 Fix ipv6 with ipv4 proxies 2018-09-22 14:31:28 +02:00
Dan
6a89c7ea02 Add missing ipv6 docstrings 2018-09-22 14:21:55 +02:00
Dan
61a2ad812e Add missing docstrings for edit_message_media 2018-09-20 16:33:36 +02:00
Dan
df8bc62fb3 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
#	pyrogram/client/methods/messages/send_document.py
#	pyrogram/client/methods/messages/send_video_note.py
2018-09-19 17:54:53 +02:00
Dan
cc47897c68 Update to v0.8.0 2018-09-19 17:47:28 +02:00
Dan
3a858e6a57 Fix config values not being available when not using config.ini file 2018-09-19 17:30:23 +02:00
Dan
6ce71b404f Revert "Revert "Remove TODO""
This reverts commit d2d4f55
2018-09-19 14:31:55 +02:00
Dan
dcd087ba63 Revert "Revert "Update tgcrypto function names""
This reverts commit 0f0e757
2018-09-19 14:31:51 +02:00
Dan
9538ed85fe Fix missing backtick 2018-09-19 13:20:36 +02:00
Dan
84492fb942 Add an extra warning in case connection fails 2018-09-18 21:28:44 +02:00
Dan
8b364202c3 Use list instead of set 2018-09-18 19:17:28 +02:00
Dan
500ec09b47 Clean up load_config 2018-09-18 19:16:55 +02:00
Dan
42ea51cb77 Make send_document and send_video_note accept a thumbnail
#119
2018-09-18 11:38:00 +02:00
Dan
61e6e58be7 Reword send_animation's thumb parameter description 2018-09-18 11:36:52 +02:00
Dan
28af5e14b4 Add "thumb" field for all InputMedia types except Photo 2018-09-18 11:36:20 +02:00
Dan
19d04ca94f Reword Audio thumb description 2018-09-18 11:35:19 +02:00
Dan
f850d6352e Enhance API by adding support for Context Managers. Closes #122
A batch script would be as simple as this example:

from pyrogram import Client

with Client("...") as app:
    app.send_message("haskell", "hi")
2018-09-17 18:53:04 +02:00
Dan
4c290ba38a Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/methods/messages/send_audio.py
#	pyrogram/session/session.py
2018-09-17 17:00:10 +02:00
Dan
0f0e757f4c Revert "Update tgcrypto function names"
This reverts commit a5979a3
2018-09-17 16:53:21 +02:00
Dan
d2d4f55673 Revert "Remove TODO"
This reverts commit f576fc8
2018-09-17 16:53:17 +02:00
Dan
e7a85520f2 Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	pyrogram/client/client.py
2018-09-17 15:59:49 +02:00
Dan
f4a8848603 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/connection/connection.py
2018-09-15 22:19:39 +02:00
Dan
c75a4f182a
Handle Telegram exceptions on start(). Fixes #121
The client doesn't need to be stopped as it never started successfully.
2018-09-15 13:23:25 +02:00
Dan
edfdf9d143 Small docstring fixes 2018-09-14 15:34:00 +02:00
Dan
3307b410b4 Give superpowers to Filters.chat too
It can now add and remove chats at runtime
2018-09-14 15:33:32 +02:00
Dan
339630dafb Add noinspection PyPep8Naming for Filters.user 2018-09-14 15:29:56 +02:00
Dan
31578ddb33 Give Filters.user superpowers
It can now add and remove users at runtime
2018-09-14 15:29:36 +02:00
Dan
4e293f23a9 Make handlers test whether filters are callable and not if they exist 2018-09-14 15:28:08 +02:00
Dan
b893698f1e Add ability to add/remove users from the user filter.
Use .users to access the inner set of users
2018-09-14 14:37:04 +02:00
Dan
eb8513e009
Update send_video docstrings
Add a more detailed "thumb" description
2018-09-12 08:26:13 +02:00
Dan
b49190256d
Merge pull request #111 from zeroone2numeral2/develop
Allow to set audio thumbnail when using send_audio
2018-09-12 08:15:37 +02:00
Dan
6a4bf23b09
Update send_audio docstrings 2018-09-12 08:14:49 +02:00
Dan
b1aff3ca5e
Small style fixes
"double quotes"
2018-09-12 07:44:49 +02:00
Dan
dbd60765f6 Fix get_me not being properly awaited 2018-09-11 19:39:46 +02:00
Dan
05b3be1e88 Info log DC number on connection 2018-09-08 19:33:47 +02:00
Dan
8ff413c7e7 Make get_chat_members_count async 2018-09-08 19:30:12 +02:00
Dan
8011997512 Merge branch 'develop' into asyncio 2018-09-08 19:28:46 +02:00
Dan
ea39062d2d Add get_chat_members_count method 2018-09-08 19:16:51 +02:00
Dan
b588b55358 Remove old commented (non-async) code from tcp.py 2018-09-07 00:44:31 +02:00
Dan
45a32ddd88 Remove old commented code on session.py 2018-09-07 00:42:45 +02:00
Dan
38442bf3c1 Add missing await 2018-09-07 00:41:01 +02:00
Dan
cc7901adf8 Merge branch 'develop' into asyncio 2018-09-06 20:05:01 +02:00
Dan
b07c13a513 Remove useless definition
PyCharm will complain about Long not being a bytes, let's not care.
2018-09-05 16:50:38 +02:00
Konstantin Klimov
392f0070fb Fixed decode error in api.core.primitives.string.py 2018-09-04 08:25:56 +03:00
Dan
b619818c40
Clear recv_queue on session stop. Fixes #103 2018-09-03 16:35:22 +02:00
Dan
db6042e91b Fetch ChatForbidden and ChannelForbidden peers
This fixes unwanted PEER_ID_INVALID errors in cases where a user or a
bot was kicked/banned from a group, supergroup or channel
2018-09-02 13:04:29 +02:00
Dan
4c9d9d84f2 Change the way int to bytes conversion is used
Maybe at some point I should switch to struct
2018-09-01 01:27:22 +02:00
Dan
10f3829c93 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/connection/connection.py
#	pyrogram/connection/transport/tcp/tcp.py
#	pyrogram/connection/transport/tcp/tcp_intermediate.py
#	pyrogram/session/session.py
2018-09-01 01:05:25 +02:00
Dan
f576fc899d Remove TODO 2018-08-31 13:12:13 +02:00
Dan
a5979a3ac7 Update tgcrypto function names 2018-08-31 12:56:05 +02:00
zeroone2numeral2
d5ca99dfff Allow to set audio thumbnail when using send_audio
With the Bot API 4.0 update (https://core.telegram.org/bots/api#july-26-2018), sendAudio allows bots to pass a thumbnail - making it possible for pyrogram to include a 'thumb' parameter in its convenience method 'send_audio'
2018-08-30 11:50:09 +02:00
Dan
9f4d7854e8 Fix ipv6 branch merge mess 2018-08-30 01:23:19 +02:00
Dan
43483a1ccd Remove info logs from protocol impls 2018-08-29 22:20:32 +02:00
Dan
ef9fc969d3 Info log connection settings 2018-08-29 22:20:00 +02:00
Dan
49f2cbe04f Move CURRENT_DH_PRIME into Prime namespace 2018-08-29 22:04:04 +02:00
Dan
b845544e63 Info log device and system parameters 2018-08-28 12:39:14 +02:00
Dan
f50638772c Minor fix: update info log 2018-08-28 12:38:02 +02:00
Dan
a0c1018a1b Minor style fix 2018-08-28 12:25:08 +02:00
Dan
973ccfcd03 Use compact IPv6 addresses 2018-08-28 12:23:22 +02:00
Dan
4b3b647245 Merge branch 'ipv6' into develop
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/session/session.py
2018-08-28 12:19:37 +02:00
Dan
2779e33d13 Rename "token" to "bot_token" 2018-09-10 19:55:53 +02:00
Dan
00f0051bd6 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
2018-08-26 19:28:32 +02:00
Dan
77a1d58714 Normalize "0.8.0dev1" to "0.8.0.dev1" 2018-08-24 18:13:07 +02:00
Dan
0b6b598059 Log unknown constructors 2018-08-24 17:39:55 +02:00
Dan
caecbef2f6 Add phone_number type of entity to docs 2018-08-24 16:03:52 +02:00
Dan
b78b72d7dc Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/methods/messages/edit_message_media.py
2018-08-23 21:22:29 +02:00
Dan
2617618cef Add support for Document message edits 2018-08-23 21:21:27 +02:00
Dan
4f9b38765e Add missing async/await keywords 2018-08-23 21:07:19 +02:00
Dan
aaaba4b847 Update async branch version 2018-08-23 20:43:46 +02:00
Dan
c3cf924ddd Fix small merge issues 2018-08-22 10:32:57 +02:00
Dan
3f7b0b25af Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/methods/chats/get_chat_members.py
#	pyrogram/client/methods/chats/get_dialogs.py
#	pyrogram/client/methods/messages/send_animation.py
#	pyrogram/client/methods/messages/send_venue.py
2018-08-22 10:30:25 +02:00
Dan
c501eeb5a2 Update to v0.8.0dev1
There are a quite lot of changes it deserves a new "minor" update.
2018-08-21 21:23:19 +02:00
Dan
03b17d5bce Fix clickable link 2018-08-21 21:18:06 +02:00
Dan
2d8792a7cd Move get_dialogs() from "messages" to "chats" namespace 2018-08-20 11:24:47 +02:00
Dan
9c0f8b2f3b Document get_dialogs() method 2018-08-20 11:24:00 +02:00
Dan
088a4c35c9 Add is_pinned attribute to Dialog 2018-08-20 02:12:21 +02:00
Dan
21d914e414 Remove unused constant 2018-08-19 19:40:23 +02:00
Dan
493fc4a658 Document Filters.create() method 2018-08-19 17:24:24 +02:00
Dan
ed05c56f52 Clearer Filters docs. Add create to Filters' namespace 2018-08-19 17:22:28 +02:00
Dan
0c77fe91fe Add TODO 2018-08-17 12:17:54 +02:00
Dan
7f1dd6d67e Rename "build" to "create" (friendlier name) 2018-08-17 02:17:48 +02:00
Dan
6879a4da9b Update vcard docstrings for Contact type and send_contact method 2018-08-15 22:33:01 +02:00
Dan
49e2e529e1 Add parameter foursquare_type to send_venue method 2018-08-14 14:36:01 +02:00
Dan
25662748cf Add foursquare_type to Venue 2018-08-14 14:25:54 +02:00
Dan
ec0d6dd6e0 Add support for animations in edit_message_media 2018-08-14 14:14:03 +02:00
Dan
4fe9cffc32 Code style fix 2018-08-13 22:06:43 +02:00
Dan
85c50ef4dd Add phone_number message entity 2018-08-13 22:06:20 +02:00
Dan
ece50e5f9b Rename Filters.gif to Filters.animation 2018-08-12 13:30:54 +02:00
Dan
9c7de81d82 Fix relative imports 2018-08-10 11:30:36 +02:00
Dan
7162850523 Export Utility methods 2018-08-10 11:29:55 +02:00
Dan
da436461a8 Revert "Move resolve_peer into utilities"
This reverts commit 6437c6c
2018-08-10 11:29:13 +02:00
Dan
ef6f080546 Revert "Export resolve_peer"
This reverts commit dd422c0
2018-08-10 11:29:05 +02:00
Dan
dd422c0edf Export resolve_peer 2018-08-10 11:18:28 +02:00
Dan
6437c6c5be Move resolve_peer into utilities 2018-08-10 11:17:53 +02:00
Dan
42d3b467fb Fix init not having message and media types 2018-08-10 11:17:21 +02:00
Dan
4e6add7a70 Fix download_media referencing to gif instead of animation 2018-08-10 11:16:57 +02:00
Dan
61663b3dde Add new utilities folder 2018-08-10 11:16:31 +02:00
Dan
888b3cc6aa Add missing import 2018-08-09 21:55:06 +02:00
Dan
2b4138ee30 Add new folder for messages and media related types 2018-08-09 21:53:49 +02:00
Dan
3a5dc20fb5 Rename reply_markup to bots 2018-08-09 21:51:43 +02:00
Dan
a93f98cfa6 Create a new sub-folder for bot related types 2018-08-09 21:51:00 +02:00
Dan
eeb3b67d37 Create a new sub-folder for user and chat types 2018-08-09 21:49:14 +02:00
Dan
88d45b085b Move InputMedia types in a dedicated folder 2018-08-09 21:46:14 +02:00
Dan
4b7e22aedd Rename file 2018-08-07 01:25:34 +02:00
Dan
2b793dd2a1 Refactor send_gif. It is now called send_animation 2018-08-07 01:23:52 +02:00
Dan
b1c12c3232 Rename GIF to Animation 2018-08-06 21:38:44 +02:00
Dan
6cc87d50c9 Rename media type id to animation 2018-08-06 21:32:38 +02:00
Dan
f7c2dc9d30 Add support for editing messages with Audio 2018-08-05 10:25:37 +02:00
Dan
9e5976e755 Fix InputMediaAudio copy pasta 2018-08-05 10:15:53 +02:00
Dan
9f725a6bfb Add support for editing videos using external URLs and file IDs 2018-08-04 01:27:02 +02:00
Dan
f3074f04b0 Add ability to edit video messages 2018-08-04 01:23:31 +02:00
Dan
51eb2f90b9 Add support for editing photousing file IDs 2018-08-03 18:38:26 +02:00
Dan
a3be6a9355 Add support for editing photos with external URLs 2018-08-03 18:38:04 +02:00
Dan
8d35559f0b Return the higher-level Message object instead of the raw update 2018-08-03 18:37:10 +02:00
Dan
6015a14182 Add ability to edit photos by uploading new files 2018-08-03 18:36:38 +02:00
Dan
e7b27c2c21 Expose edit_message_media method 2018-08-02 01:12:31 +02:00
Dan
ea0a75bfd7 Add edit_message_media method 2018-08-02 01:10:29 +02:00
Dan
92fdf79d54 Expose the new InputMedia types 2018-08-01 21:19:11 +02:00
Dan
c625756747 Add InputMediaDocument 2018-07-31 00:29:10 +02:00
Dan
570128d980 Add InputMediaAnimation 2018-07-31 00:25:41 +02:00
Dan
5bc9be0858 Add InputMediaAudio 2018-07-31 00:14:21 +02:00
Dan
2a985e7545 Make InputMediaVideo inherit from InputMedia 2018-07-30 23:01:43 +02:00
Dan
486c9433ac Make InputMediaPhoto inherit from InputMedia 2018-07-30 23:01:14 +02:00
Dan
9d9fc1f94f Add InputMedia base class 2018-07-30 22:59:30 +02:00
Dan
d270d0d2aa Remove support for t.me/joinchat/ links in resolve_peer for now
Another way, which is 100% reliable, will be implemented
Also clean the method a bit by removing useless checks
2018-07-28 23:09:44 +02:00
Dan
32468e5ab0 Remove hints about using t.me/joinchat/ links as chat ids
Such links don't work reliably with the current implementation
2018-07-27 00:40:08 +02:00
Dan
f4175b041c Document ChatMembers 2018-07-26 19:34:21 +02:00
Dan
e9cba4609a Update get_chat_member docstrings 2018-07-26 19:32:12 +02:00
Dan
215f54f32b Add get_chat_member documentation 2018-07-22 02:07:44 +02:00
Dan
1eaafb8e41 Clearer documentation for get_chat_members 2018-07-21 14:09:34 +02:00
Dan
e5915505a1 Add get_chat_member method 2018-07-19 23:26:20 +02:00
Dan
b77771497d Document get_chat_members 2018-07-17 09:09:04 +02:00
Dan
ccd651f1fc Make the new methods async 2018-07-17 08:28:28 +02:00
Dan
8a69c2d74e Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/methods/messages/send_contact.py
2018-07-16 17:39:54 +02:00
Dan
5b89a65437 Document set_chat_title 2018-07-15 16:34:47 +02:00
Dan
3fe05b4d28 Document set_chat_photo 2018-07-15 16:34:32 +02:00
Dan
3fcf9b9ef6 Document delete_chat_photo 2018-07-15 16:34:15 +02:00
Dan
98578160f0 Document set_chat_description 2018-07-15 16:33:41 +02:00
Dan
15e83e12ca Document unpin_chat_message 2018-07-15 16:33:12 +02:00
Dan
f8d44b8e77 Document pin_chat_message 2018-07-14 00:44:50 +02:00
Dan
84e7bb5c50 Clean up MessageEntity comments 2018-07-14 00:43:28 +02:00
Dan
85e3c05216 Document Dialogs 2018-07-13 01:10:33 +02:00
Dan
5c34e3f08f Clean up Messages comments 2018-07-12 14:58:18 +02:00
Dan
82d4a99fd5 Add docstrings for Dialog type 2018-07-12 14:58:01 +02:00
Dan
fa512a690d Add download() bound method to Message 2018-07-12 14:17:30 +02:00
Dan
bee8d1340b Clean up Sticker, Venue and Video comments 2018-07-12 14:16:29 +02:00
Dan
109e3836cf Clean up Photo and PhotoSize docstrings 2018-07-12 14:16:08 +02:00
Dan
62f575d53f Clean up GIF and Location comments 2018-07-12 14:14:19 +02:00
Dan
5d9e2f7d7a Clean up Document docstrings 2018-07-12 14:13:51 +02:00
Dan
72eb7e7a33 Add missing vcard argument on Contact 2018-07-12 14:13:35 +02:00
Dan
1e727fbb43 Add extra attributes to User
is_self, is_contact, is_mutual_contact and is_deleted
2018-07-12 00:54:13 +02:00
Dan
8289dff05f Update download_media docstrings 2018-07-12 00:31:33 +02:00
Dan
a9a9dc3cd3 Make download_media raise ValueError in case of non-media messages 2018-07-12 00:24:57 +02:00
Dan
f242aceb31 Add vCard support for contacts 2018-07-12 00:10:33 +02:00
Dan
b6a4dee787 Fix some User weird docstrings 2018-07-11 23:54:54 +02:00
Dan
e89d56e058 Add cashtag message entity 2018-07-11 23:54:11 +02:00
Dan
fade921ac0 Don't document client, is for internal purposes only 2018-07-11 18:05:36 +02:00
Dan
12ef2f8ca2 Fix video notes not having a file_name anymore 2018-07-11 17:48:18 +02:00
Dan
00e170feea Video notes don't have a file_name 2018-07-11 17:40:33 +02:00
Dan
9214416f7c Parse Voice waveform 2018-07-11 17:36:58 +02:00
Dan
7509566796 Remove Voice thumb and file_name. Add waveform 2018-07-11 17:36:49 +02:00
Dan
5347080fd1 Clean Audio comments 2018-07-11 17:26:59 +02:00
Dan
ad9fb26808 Cleaner Chat docstrings 2018-07-11 17:25:39 +02:00
Dan
0c96fa8b7c Don't flush each chunk. Let python/os deal with it 2018-07-11 17:05:33 +02:00
Dan
ab11c9e347 Add missing docstring arguments 2018-07-10 15:57:27 +02:00
Dan
037ded73c3 Add unpin_chat_message method 2018-07-08 11:09:07 +02:00
Dan
486e8b9552 Add pin_chat_message method 2018-07-08 11:00:56 +02:00
Dan
7d799aed11 Add set_chat_description method 2018-07-08 10:28:54 +02:00
Dan
393caa9d7c Add set_chat_title method 2018-07-08 10:24:39 +02:00
Dan
17ca6b7094 Add delete_chat_photo method 2018-07-08 10:19:16 +02:00
Dan
cb4996d64b Reformat code 2018-07-08 10:18:48 +02:00
Dan
756a6f7630 Add set_chat_photo method 2018-07-08 09:22:08 +02:00
Dan
9e4267dd2c Move media types in their own folder 2018-07-08 08:58:10 +02:00
Dan
52ac0c80e6 Add todo for ChatMembers docstrings 2018-07-08 08:40:10 +02:00
Dan
960280b996 Add new ChatMembers type 2018-07-08 08:39:36 +02:00
Dan
d94139be9a Add parse_chat_members util function 2018-07-08 08:39:10 +02:00
Dan
e3128fca9d Make get_chat_members work with basic groups 2018-07-07 15:47:34 +02:00
Dan
3b29a602d0 Add get_chat_members method 2018-07-06 19:12:41 +02:00
Dan
f2d64b2573 Make get_dialogs async 2018-07-05 15:06:25 +02:00
Dan
3f22d1b844 Merge branch 'develop' into asyncio 2018-07-05 14:58:27 +02:00
Dan
43897eb826 Merge branch 'develop' of https://github.com/pyrogram/pyrogram into develop 2018-07-05 14:57:53 +02:00
Dan
2b6c30d0e1 Update get_dialogs 2018-07-05 14:57:45 +02:00
Dan
3e671dfbfe
Merge pull request #95 from avi-av/develop
Update docs
2018-07-05 14:54:59 +02:00
avi-av
4049b57135
Update docs
Type returns in the documentation section
2018-07-05 14:42:04 +03:00
Dan
c2369c26ca Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/ext/utils.py
2018-07-04 21:51:10 +02:00
Dan
8b43ad8a63 Add unread messages, mentions count and unread mark to Dialog 2018-07-04 21:49:11 +02:00
Dan
15e3cf0fd5 Small fix 2018-07-04 21:39:09 +02:00
Dan
fe97a4d92b Parse members_count 2018-07-04 21:32:35 +02:00
Dan
51194945c6 Add members_count attribute to Chat 2018-07-04 21:31:50 +02:00
Dan
9ac6633cc8 Add get_dialogs method 2018-07-04 21:05:43 +02:00
Dan
91cf2d1a8e Make Dialog and Dialogs importable and printable 2018-07-04 21:05:00 +02:00
Dan
1ed202b926 Add Dialogs type 2018-07-04 21:03:51 +02:00
Dan
2b36fb31d9 Add Dialog type 2018-07-04 21:03:29 +02:00
Dan
1d7c857e9f Rename get_dialogs 2018-07-04 21:02:26 +02:00
Dan
52f1f390ca Rename get_dialogs 2018-07-04 20:59:21 +02:00
Dan
8bdccda6ee Fix GetDialog call 2018-07-04 14:03:45 +02:00
Dan
c7489cf302 Reformat code 2018-07-04 14:03:14 +02:00
Dan
29fb0ce599 Also log UpdatesTooLong 2018-07-04 13:53:34 +02:00
Dan
d61f9fa458 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
2018-07-03 18:32:34 +02:00
Dan
e414956e71
Log UpdateChannelTooLong updates 2018-07-03 18:29:25 +02:00
Dan
f6886bd0e4 Further improve save_file 2018-07-03 16:34:55 +02:00
Dan
dc7c9af826 Set v0.8.0dev1 for the asyncio branch
This way people can easily tell whether they are running the correct
branch or not (pip is misbehaving lately and installations from git
don't replace files).
2018-07-02 20:49:48 +02:00
Dan
8bb4fdd67d Update to v0.7.6dev1 2018-07-02 20:48:58 +02:00
Dan
219988740c Remove unsupported argument for Python <3.6 2018-07-02 19:16:01 +02:00
Dan
f4c583664a Remove unsupported arguments for Python <3.7 2018-07-02 19:14:30 +02:00
Dan
ec82b4f994 Don't use getpass anymore (for now)
The reason is that getpass is blocking. Let's use ainput() until
a proper way of reading from stdin without echoing is found.
2018-07-02 17:21:42 +02:00
Dan
ed562edb9f Fix send AcceptTermsOfService not being awaited 2018-07-02 14:11:02 +02:00
Dan
af5c5d20cf Replace input() with ainput() in Client 2018-07-02 14:10:48 +02:00
Dan
26bb97af46 Add ainput function 2018-07-02 14:10:26 +02:00
Dan
3711437dbd Merge branch 'develop' into asyncio 2018-07-02 09:51:01 +02:00
Dan
f7aae28ae9
Improve get_history 2018-07-02 02:48:58 +02:00
YoilyL
357253b63e
added option to reverse get_history order
added an argument `reverse` to get_history which if set to True returns the messages from first to last instead of from newest to oldest.
2018-07-01 21:34:05 +03:00
Dan
c85aa5dab2 Fix Photo downloads 2018-07-01 19:43:43 +02:00
Dan
c660d3a7d0 Fix PhotoSize not having date anymore 2018-07-01 19:43:29 +02:00
Dan
b49030eb10 Shorter conditions 2018-06-30 11:30:32 +02:00
Dan
d28f795aca Make save_file more efficient 2018-06-30 11:26:45 +02:00
Dan
aa800c3ebc Reformat code 2018-06-30 11:04:17 +02:00
Dan
984e989a4b Lock TCP send() 2018-06-30 11:03:55 +02:00
Dan
335a2e06c8 Make delete_profile_photos async 2018-06-28 20:14:38 +02:00
Dan
a2b4d59cdb Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/methods/users/get_user_profile_photos.py
2018-06-28 20:10:38 +02:00
Dan
6943e16636 Change new_chat_photo type. It is now Photo 2018-06-28 20:04:46 +02:00
Dan
b6206b7938 Fix small docstring issue 2018-06-28 20:03:50 +02:00
Dan
bae7b4c851 Make Photo importable from the top level package 2018-06-28 20:02:31 +02:00
Dan
30497b0e91 Add delete_profile_photos method 2018-06-28 19:59:26 +02:00
Dan
0dfe373c88 Make Photo work in download_media 2018-06-28 19:13:47 +02:00
Dan
fbf69fb8bd Change photo type in Message 2018-06-28 19:09:27 +02:00
Dan
abbf7e6684 Use Photo as type for UserProfilePhotos photos list 2018-06-28 19:08:21 +02:00
Dan
b8bfb43a80 Use Photo as type for new_chat_photo 2018-06-28 19:07:56 +02:00
Dan
a3761144b3 Use Photo as type for media messages 2018-06-28 19:07:02 +02:00
Dan
fb10b3b0e7 UserProfilePhoto.photos is now a list of Photo objects 2018-06-28 19:05:47 +02:00
Dan
971299f592 PhotoSize won't store date info anymore 2018-06-28 19:05:08 +02:00
Dan
5f87bbc962 Add the new Photo type 2018-06-28 19:04:45 +02:00
Dan
be451a3bb2 Rename parse_photos to parse_profile_photos 2018-06-28 18:49:09 +02:00
Dan
0935c4837f Fix ReplyKeyboardRemove id 2018-06-28 18:41:16 +02:00
Dan
2f1d447783 Move INITIAL_SALT to Session 2018-06-28 17:50:37 +02:00
Dan
4f4531cf18 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/session/session.py
2018-06-28 00:41:11 +02:00
Dan
6e4c608875 Handle AUTH_KEY_DUPLICATED error 2018-06-28 00:16:12 +02:00
Dan
77c696aec0 Merge branch 'develop' into asyncio 2018-06-27 17:21:14 +02:00
Dan
37aae4382e Update to v0.7.5 2018-06-27 16:38:41 +02:00
Dan
7ed9cd6759 Add "Login successful" message upon login 2018-06-27 14:42:04 +02:00
Dan
ecaba45523 Keep only lang_code 2018-06-27 00:42:32 +02:00
Dan
fc1c653c05 Add TimeoutError on possible raises of Message.click() 2018-06-26 16:16:10 +02:00
Dan
1cc66c898d Fix request_callback_answer call with wrong kwarg 2018-06-26 14:05:45 +02:00
Dan
9dff15bd4f Make run() accept coroutine functions 2018-06-26 13:45:31 +02:00
Dan
5e3618ccb7 Merge branch 'develop' into asyncio 2018-06-25 01:00:32 +02:00
Dan
04a86054b0 Update to dev version 0.7.5.dev5 2018-06-25 00:53:45 +02:00
Dan
4970a98b43 Merge branch 'develop' into asyncio 2018-06-25 00:46:06 +02:00
Dan
3409963a4a Merge branch 'develop' of https://github.com/pyrogram/pyrogram into develop 2018-06-25 00:45:34 +02:00
Dan
2587394e07 Merge branch 'layer-81' into develop 2018-06-25 00:43:47 +02:00
YoilyL
a04b08f245
Fixed tiny typo 2018-06-24 22:58:17 +03:00
Dan
c8468ccdd1 Merge branch 'develop' into asyncio 2018-06-24 19:29:31 +02:00
Dan
c7d60ef8a6 Fix disconnect handler callback being called on every session 2018-06-24 19:29:12 +02:00
Dan
5f727cb5a2 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/ext/base_client.py
#	pyrogram/client/methods/bots/request_callback_answer.py
#	pyrogram/session/session.py
2018-06-24 19:27:37 +02:00
Dan
fa7b7d0ce3 Cleanup Client class 2018-06-24 19:09:39 +02:00
Dan
9c420bb73b Document the new parameters. Closes #86 2018-06-24 19:09:39 +02:00
Dan
9a012077cc Remove some redundant code. Related to #86 2018-06-24 18:54:47 +02:00
Dan
55ef4abb27 Allow user-defined session properties. Related to #86
This commit adds five 5 extra parameters to the Client class:
app_version, device_model, system_version, system_lang_code, lang_code
2018-06-24 18:47:49 +02:00
Dan
f4c0793a0b Make session leaner by removing some redundant parameters
Related to #86
2018-06-24 18:27:41 +02:00
Dan
56f616c753 Mention timeout and retries in docs for request_callback_answer 2018-06-24 17:50:30 +02:00
Dan
166b3646ac Make request_callback_answer try only once with a timeout of 10 seconds 2018-06-24 17:48:33 +02:00
Dan
69d1432251 Allow user-defined values for retries and timeout 2018-06-24 17:47:29 +02:00
Dan
44f71f096f Better docs for phone_code argument 2018-06-24 16:53:07 +02:00
Dan
47043380fb Pass the phone number when calling the phone_code callback function 2018-06-24 16:11:22 +02:00
Dan
66f91b1b63 Update dev version 2018-06-24 14:31:06 +02:00
Dan
81c8fca11c Make the on_disconnect callback function a coroutine 2018-06-24 11:40:43 +02:00
Dan
5834e38f14 Make run() accept a coroutine 2018-06-24 11:39:50 +02:00
Dan
0cd4795318 Use TOS provided by Telegram 2018-06-23 16:15:44 +02:00
Dan
602f4581c6 Remove custom TOS 2018-06-23 16:15:09 +02:00
Dan
668da4ae0e Merge branch 'tos' into layer-81
# Conflicts:
#	pyrogram/client/ext/base_client.py
2018-06-23 16:11:20 +02:00
Dan
fc541221ed Accept terms of service after successfully signing in 2018-06-23 16:08:28 +02:00
Dan
06cb2a1168 Move try..except block at the top 2018-06-23 16:00:37 +02:00
Dan
d06097c68a Use uvloop, if available 2018-06-23 15:53:56 +02:00
Dan
c9cd79cb05 Fix merge mess with duplicated idle() methods 2018-06-23 15:49:56 +02:00
Dan
518d33ee7a Merge branch 'develop' into asyncio 2018-06-23 15:46:41 +02:00
Dan
7f11f85c8f Move signal handler inside idle 2018-06-23 15:45:48 +02:00
Dan
7ba2906532 Make request_callback_answer async 2018-06-23 14:31:21 +02:00
Dan
811e67c229 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/types/message.py
2018-06-23 14:30:27 +02:00
Dan
03a17dd8db Rename reply_text() to reply()
Is shorter and looks nicer. When more methods like reply_audio(),
reply_photo(), etc. will be implemented, I can consider adding
reply_text() back again, maybe.
2018-06-23 14:24:31 +02:00
Dan
d95086163e Add click() bound method to Message 2018-06-23 14:09:07 +02:00
Dan
2ee7cf5124 Add request_callback_answer method 2018-06-23 12:29:40 +02:00
Dan
6404862b87 Add reply_keyboard and inline_keyboard filters 2018-06-23 10:36:29 +02:00
Dan
8074ef1368 Make methods directory structure simple 2018-06-23 10:34:20 +02:00
Dan
5446801c14 Make run() run the event loop 2018-06-22 13:39:29 +02:00
Dan
2571bf0758 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
2018-06-22 13:37:56 +02:00
Dan
82a0c965ba Don't make start and idle clickable 2018-06-22 13:12:31 +02:00
Dan
e3299bb3b7 Add run() method 2018-06-22 13:10:09 +02:00
Dan
ffd67ed408 Remove debug docstrings 2018-06-22 13:08:27 +02:00
Dan
dab0a05f16 Move idle() and signal_handler() definitions near stop() 2018-06-22 13:08:01 +02:00
Dan
6be8f1aae3 Cross reference Handler classes on decorators' docstrings 2018-06-22 12:46:58 +02:00
Dan
ac47ffad8f Hint about decorators on handlers' docstrings 2018-06-22 12:46:35 +02:00
Dan
f5659841c2 Reformat files 2018-06-21 20:01:05 +02:00
Dan
532ad6bd81 Fix develop merge issues with asyncio branch 2018-06-21 18:02:16 +02:00
Dan
d2a15d8143 Merge branch 'develop' into asyncio 2018-06-21 15:35:27 +02:00
Dan
ff915965f1
Minor style fixes 2018-06-21 15:33:30 +02:00
Dan
f9c17ae169 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
2018-06-20 12:24:30 +02:00
Dan
1c4047f2c6
Fix Update docstrings 2018-06-20 12:20:48 +02:00
Dan
afc0c87cd3
Fix DeletedMessagesHandler docstrings 2018-06-20 12:19:32 +02:00
Dan
c5fb0d6079
Use -100 prefix for channel ids 2018-06-20 12:15:55 +02:00
Dan
6fcf41d857 Client becomes async 2018-06-20 11:41:22 +02:00
Vitali
872f4f865a Fix comments 2018-06-19 11:27:34 -03:00
Vitali
e6c6bd839c Add Handler to deleted messages update 2018-06-19 11:18:12 -03:00
Dan
399a7b6403 Make Message bound methods async 2018-06-19 14:02:49 +02:00
Dan
e0fe9d3525 Fix some methods not being async 2018-06-19 13:48:49 +02:00
Dan
4d72f84991 Even more async chore 2018-06-18 21:30:13 +02:00
Dan
21af0f3e82 More async chore 2018-06-18 21:22:33 +02:00
Dan
26e828b956 Make BaseClient asynchronous and default DOWNLOAD_WORKERS to 4 2018-06-18 21:21:26 +02:00
Dan
09dd715556 Small tweaks 2018-06-18 21:12:04 +02:00
Dan
e3a667a8fe Make Syncer asynchronous (lol) 2018-06-18 21:11:28 +02:00
Dan
8049c9129b Make Auth asynchronous 2018-06-18 13:07:02 +02:00
Dan
9a5ce0fe2d Clean up dispatcher and fix workers not being stopped correctly 2018-06-18 13:06:07 +02:00
Dan
1bc599e26c Delegate timeout to TCP 2018-06-17 19:20:22 +02:00
Dan
b249062d25 Add a warning in case the connection failed 2018-06-17 19:17:56 +02:00
Dan
5d58ff2d94 Raise OSError in case "send" fails 2018-06-17 18:45:08 +02:00
Dan
52354b93d0 Add timeout when connecting 2018-06-17 18:44:45 +02:00
Dan
0a6583a43c Turn the Dispatcher async 2018-06-17 18:41:07 +02:00
Dan
57f917e6df Don't print out the current salt 2018-06-17 18:39:08 +02:00
Dan
f983baf5cd Add some more logs 2018-06-17 18:34:37 +02:00
Dan
6da15b266d Await tasks before stopping the session 2018-06-17 18:34:10 +02:00
Dan
2b0746a140 Add timeout on recv loop 2018-06-17 18:33:23 +02:00
Dan
39b66b51d6 Remove salt assertion 2018-06-16 22:05:54 +02:00
Dan
d1d789bf20 Fix restart not awaiting 2018-06-15 14:30:13 +02:00
Dan
d06e486c8b Reorganize imports 2018-06-14 13:30:46 +02:00
Dan
eeaf01654b Code style 2018-06-14 13:05:22 +02:00
Dan
b1f6131971 Remove unused constant 2018-06-14 13:04:52 +02:00
Dan
775cbb568f Small fixes 2018-06-14 03:27:30 +02:00
Dan
68133e8be5 Better logs 2018-06-14 03:26:57 +02:00
Dan
463ef828c2 Use put_nowait instead of put 2018-06-14 03:25:15 +02:00
Dan
2cf930bea0 Remove commented MTProto methods 2018-06-14 03:24:39 +02:00
Dan
11ddf5f99d Reorganize Session to make use of the MTProto module 2018-06-14 03:22:52 +02:00
Dan
75121c9c57 Move MTProto related methods into a separate module 2018-06-14 03:18:38 +02:00
Dan
0b03612bc7 Make restart async 2018-06-13 21:01:28 +02:00
Dan
b4d69d0b21 Merge remote-tracking branch 'origin/develop' into develop 2018-06-13 20:54:04 +02:00
Dan
329bac6ab0 Better invite link regex pattern 2018-06-13 20:53:31 +02:00
Dan
a9ccbaca19 Fix ping request not awaiting 2018-06-13 20:03:54 +02:00
Dan
f76c654548 Add TODO 2018-06-13 20:02:02 +02:00
Dan
e333e8dada First step of Client conversion using asyncio 2018-06-13 20:00:19 +02:00
YoilyL
2944181b38
fixed session mistake
use new session when uploading files instead of main session
2018-06-13 17:54:48 +03:00
Dan
d38d23f46d Log in case connection fails (to test ipv6) 2018-06-13 13:39:06 +02:00
Dan
ade1c2f377 Accommodate ipv6 in the Client class 2018-06-13 13:38:14 +02:00
Dan
b804709c6c Allow session to use ipv6 2018-06-13 13:37:35 +02:00
Dan
c9469ed542 Allow auth to use ipv6 2018-06-13 13:37:12 +02:00
Dan
56748ff390 Make the underlying TCP protocol accept ipv6 addresses 2018-06-13 13:36:26 +02:00
Dan
efe26bcb19 Allow Connection to connect to ipv6 addresses 2018-06-13 13:35:41 +02:00
Dan
8ac48c555c Add ipv6 data center addresses 2018-06-13 13:34:56 +02:00
Dan
e2546e77ae Start rewriting Session using asyncio 2018-06-12 15:56:33 +02:00
Dan
d64337bf90 Implement Intermediate protocol using asyncio 2018-06-11 12:25:30 +02:00
Dan
ead0b4f029 Use more relevant names for Connection fields 2018-06-10 16:15:19 +02:00
Dan
6ab60c0d36 Add type hint 2018-06-10 16:14:42 +02:00
Dan
dc322ddf1a Expose TCP class 2018-06-10 16:14:30 +02:00
Dan
7a6d7d0037 Implement async TCP protocol 2018-06-09 19:36:23 +02:00
Dan
de39c181ef Start refactoring Connection to accommodate asyncio 2018-06-08 13:10:07 +02:00
Dan
8e2aec4d3a Show TOS on sign-ins 2018-06-07 12:54:23 +02:00
Dan
244b4f15ce Remove duplicate parameter 2018-06-07 10:54:45 +02:00
Dan
682a3ae948 Dispatch inline bot callback queries 2018-06-06 12:29:21 +02:00
Dan
6238f984b4 Add dedicated parse function for inline callback queries 2018-06-06 12:29:05 +02:00
Dan
e3bd7d57a2 Remove TODO 2018-06-06 12:28:36 +02:00
Dan
656e5036c1 Fix callback query id not being a string 2018-06-06 12:28:25 +02:00
Dan
901b151718 Fix wrong line separator 2018-06-05 17:15:17 +02:00
Dan
2a79243841 Rename and rework Setup docs page 2018-06-05 16:37:57 +02:00
Dan
95e16c2e6c Rename and rework Installation docs page 2018-06-05 16:36:37 +02:00
Dan
6d7de359f0 Add a link to available methods in docs 2018-06-05 16:28:14 +02:00
Dan
0b2efd2b7a Register the new chat administration methods 2018-06-04 12:21:48 +02:00
Dan
5bf912640f Add promote_chat_member.py 2018-06-04 12:21:14 +02:00
Dan
f611a92f90 Add restrict_chat_member.py 2018-06-04 12:21:02 +02:00
Dan
ea282a74dd Add unban_chat_member.py 2018-06-04 12:20:41 +02:00
Dan
0f9b4c6ac6 Add kick_chat_member.py 2018-06-04 12:07:42 +02:00
Dan
c88ca2e4f5 Add namespaces when printing Object types 2018-06-04 11:58:22 +02:00
Dan
62d4b2aeee Allow defining case sensitive commands with Filters.command 2018-06-04 11:35:38 +02:00
Dan
2125415f8f Allow empty and multi-character prefixes in Filters.command 2018-06-04 10:13:11 +02:00
Dan
36a1015ec9 Hide _client when printing pyrogram object 2018-06-04 09:11:58 +02:00
Dan
d67dfd39da Update system messages TL scheme 2018-06-03 18:07:04 +02:00
Dan
745049bda3 Protect client by renaming the property to _client 2018-06-03 17:54:57 +02:00
Dan
7752aef338 Add delete convenience method to Message objects 2018-06-03 17:50:24 +02:00
Dan
e94520b7bc Fix reply_text docstrings and add the Example section 2018-06-03 17:40:59 +02:00
Dan
131d792bad Add forward convenience method to Message objects 2018-06-03 17:40:28 +02:00
Dan
29dcdbdc92 Add reply_text convenience method to Message objects 2018-06-03 17:14:15 +02:00
Dan
91cf103783 Remove a bunch of useless TODOs 2018-06-02 20:54:23 +02:00
Dan
dc7fe93aeb Clean up code 2018-06-02 20:52:16 +02:00
Dan
b4a2490da2 Use getpass instead of input 2018-06-01 19:27:05 +02:00
Dan
dacc0173f1 Document on_disconnect 2018-05-31 13:15:47 +02:00
Dan
118cd04a73 Document DisconnectHandler 2018-05-31 13:13:38 +02:00