Commit Graph

162 Commits

Author SHA1 Message Date
Dan
01f0af6bb0 Increase OFFLINE_SLEEP to 15 minutes
This avoid frequent dialogs fetch while debugging with user accounts
2019-05-06 16:36:57 +02:00
Dan
6f2c625cd1 Handle minified poll updates 2019-05-05 15:44:53 +02:00
Dan
6c140fd03e
Merge pull request #238 from pyrogram/bot-api-4.2
Bot API 4.2
2019-05-05 12:25:42 +02:00
Dan
63d76a7f13 Bring back automatic mime type detection for new uploads (fixes #239)
- Add mime.types file to contain a good database of type -> ext mappings
  from svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types

- Load mime.type at BaseClient creation and add two convenience methods
  for guessing mime types from filenames and extensions from mime types,
  guess_mime_type and guess_extension

- Make all send_* method as well as download_media use the new mime type
  database via guess_mime_type and guess_extension methods
2019-04-20 18:56:30 +02:00
Dan
5905f761fa Add PollHandler type and on_poll decorator for handling Poll updates 2019-04-14 20:50:13 +02:00
bakatrouble
952f0627f1 Merge branch 'develop' into session_storage
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/ext/base_client.py
#	pyrogram/client/ext/syncer.py
#	pyrogram/client/style/html.py
#	pyrogram/client/style/markdown.py
2019-04-14 21:49:45 +03:00
Dan
ef5dd96bdc Fix broken mentions for both HTML and Markdown 2019-03-26 13:32:30 +01:00
Dan
066633ce45 Move dispatcher.py inside ext folder 2019-03-25 09:45:37 +01:00
Dan
fede74398c Fix inline-mode branch breaking after many commits from develop 2019-03-21 18:37:00 +01:00
Dan
34b51b6481 Force keyword arguments for all TL types 2019-03-16 16:53:52 +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
033622cfb8 Cleanup json session storage specific code as it is used only for migrations 2019-02-27 22:49:23 +03:00
bakatrouble
260043d8ec Unify peers cache 2019-02-26 19:24:00 +03: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
9d32b28f94 Implement extendable session storage and JSON session storage 2019-02-21 20:12:11 +03:00
Dan
44deabf399 Update iter_chat_members efficiency 2019-01-24 17:21:41 +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
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
372bbabe28 Make invite links of public channels work with get_chat 2019-01-02 22:39:16 +01:00
Dan
4d7b1bafac Update copyright year 2019-01-01 12:36:16 +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
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
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
c3edd9d862 Merge branch 'dispatcher-optimizations' into develop 2018-11-09 09:23:16 +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
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
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
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
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
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
1be144288c Add a proxy to the Client instance inside CallbackQuery objects 2018-10-09 14:07:01 +02:00
Dan
2779e33d13 Rename "token" to "bot_token" 2018-09-10 19:55:53 +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
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
2b6c30d0e1 Update get_dialogs 2018-07-05 14:57:45 +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
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
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
ff915965f1
Minor style fixes 2018-06-21 15:33: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
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