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
9d32b28f94
Implement extendable session storage and JSON session storage
2019-02-21 20:12:11 +03: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
44deabf399
Update iter_chat_members efficiency
2019-01-24 17:21:41 +01:00
Dan
652b3f90bc
Remove async from some method signatures. They are not asynchronous
2019-01-17 12:34:30 +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
c28b9f9a2c
Add StopTransmission custom exception
...
Useful for stopping up/downloads after they started
2019-01-11 14:00:03 +01:00
Dan
35096a28c3
Fix asyncio merge
2019-01-07 22:57:19 +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
153439ac88
Add iter_chat_members method. Reference #170
2019-01-04 17:13:44 +01:00
Dan
948f2b44ed
Add iter_dialogs method. Reference #170
2019-01-04 16:10:34 +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
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
b7b31d39e8
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/__init__.py
2019-01-03 09:15:44 +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
4d7b1bafac
Update copyright year
2019-01-01 12:36:16 +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
761a07bda8
Remove unneeded parts in utils.py
2018-12-17 16:42:16 +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
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
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
zeroone2numeral2
61f2d7c968
Added web_page attribute to Message object
2018-11-25 16:56:39 +00: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
8dfa80ef61
Add missing await keyword
2018-11-10 15:29:37 +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
3b7580739b
Merge branch 'develop' into asyncio
2018-11-08 11:14:20 +01:00
Dan
e760550f8b
Add Message.media field
2018-11-08 10:49: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
5da5cabf4c
Remove useless variable
2018-11-06 17:31:04 +01:00
Furoin
91beb214e9
added message.mentioned
2018-11-06 17:11:35 +03: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
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
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
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
6cf6d49634
Update utils to accommodate changes on get_messages
2018-10-28 17:24:05 +01:00
Dan
39636f2843
Update get_messages signature
2018-10-28 17:18:00 +01: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
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
3f0a355f7e
Further optimize and simplify the Dispatcher
2018-10-19 11:54:27 +02:00
Dan
e88972a8f6
Add restriction_reason to User and Chat types. Closes #144
2018-10-18 11:10:37 +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
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
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
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
0b79f96b4f
Turn hardcoded plugins dir into a constant
2018-10-12 14:19:26 +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
1be144288c
Add a proxy to the Client instance inside CallbackQuery objects
2018-10-09 14:07:01 +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
2779e33d13
Rename "token" to "bot_token"
2018-09-10 19:55:53 +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
21d914e414
Remove unused constant
2018-08-19 19:40:23 +02:00
Dan
25662748cf
Add foursquare_type to Venue
2018-08-14 14:25:54 +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
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
8a69c2d74e
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/client/methods/messages/send_contact.py
2018-07-16 17:39:54 +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
f242aceb31
Add vCard support for contacts
2018-07-12 00:10:33 +02:00
Dan
e89d56e058
Add cashtag message entity
2018-07-11 23:54:11 +02:00
Dan
12ef2f8ca2
Fix video notes not having a file_name anymore
2018-07-11 17:48:18 +02:00
Dan
9214416f7c
Parse Voice waveform
2018-07-11 17:36:58 +02:00
Dan
d94139be9a
Add parse_chat_members util function
2018-07-08 08:39:10 +02:00
Dan
3f22d1b844
Merge branch 'develop' into asyncio
2018-07-05 14:58:27 +02:00
Dan
2b6c30d0e1
Update get_dialogs
2018-07-05 14:57:45 +02: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
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
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
26bb97af46
Add ainput function
2018-07-02 14:10:26 +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
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
be451a3bb2
Rename parse_photos to parse_profile_photos
2018-06-28 18:49:09 +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
f4c0793a0b
Make session leaner by removing some redundant parameters
...
Related to #86
2018-06-24 18:27:41 +02:00
Dan
69d1432251
Allow user-defined values for retries and timeout
2018-06-24 17:47:29 +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
c5fb0d6079
Use -100 prefix for channel ids
2018-06-20 12:15:55 +02:00
Vitali
e6c6bd839c
Add Handler to deleted messages update
2018-06-19 11:18:12 -03: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
e3a667a8fe
Make Syncer asynchronous (lol)
2018-06-18 21:11:28 +02:00
Dan
329bac6ab0
Better invite link regex pattern
2018-06-13 20:53:31 +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
745049bda3
Protect client by renaming the property to _client
2018-06-03 17:54:57 +02:00
Dan
73c101b49d
Revert "Add Empty parse mode"
...
This reverts commit d8dbcb5
2018-05-31 13:03:20 +02:00
Dan
d8dbcb5b4e
Add Empty parse mode
2018-05-27 20:16:30 +02:00
Dan
9001ccd11f
Add DisconnectHandler
2018-05-23 14:27:17 +02:00
Dan
5b300ef83c
Fix some GIF not having video attributes
2018-05-20 12:45:37 +02:00
Dan
f69da98c99
Remove TODO
2018-05-17 16:49:35 +02:00
Dan
3d74941bed
Add slots
2018-05-14 00:48:53 +02:00
Dan
0955826b6c
Change sig and parent class init call
2018-05-14 00:48:18 +02:00
Dan
33207c2138
Lazily compute html and markdown styled texts
2018-05-14 00:02:58 +02:00
Dan
ef93fee7aa
Add new Messages object and make get_history return it
2018-05-11 18:00:16 +02:00
Dan
34d7749dbf
Add html attribute to message.text
2018-05-11 13:38:12 +02:00
Dan
e1e0029cc5
Rename media type 1 to chat_photo
2018-05-11 11:57:05 +02:00
Dan
84f9c2145c
Add support for GIF files
2018-05-11 11:56:27 +02:00
Dan
30c6741ec6
Update Str class
2018-05-10 15:52:53 +02:00
Dan
dc47d8e386
Add custom Str and use it for texts and captions.
...
This would allow usages like message.text.markdown which will
return the unparsed markdown text
2018-05-10 14:47:15 +02:00
Dan
14f23d388c
Clean get_history
2018-05-09 20:27:29 +02:00
Dan
781edda56a
Handle get_messages flood wait
2018-05-09 19:50:57 +02:00
Dan
a1c3e40800
Make parse_messages accept a list of messages
2018-05-09 19:29:23 +02:00
Dan
8454d438be
Refactor the project by using Mixin classes
...
This will cut client.py down from ~4k to ~1k SLOC and also
makes the whole project tidier and more organized.
2018-05-07 14:30:55 +02:00