Commit Graph

1495 Commits

Author SHA1 Message Date
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
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
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