Commit Graph

1504 Commits

Author SHA1 Message Date
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
99bdaae365 Allow nested folders for smart plugins 2018-10-23 15:43:49 +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
c8604e8e2c Update on_user_status decorator 2018-10-16 12:58:11 +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
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
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
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
3a858e6a57 Fix config values not being available when not using config.ini file 2018-09-19 17:30:23 +02:00
Dan
9538ed85fe Fix missing backtick 2018-09-19 13:20:36 +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
e7a85520f2 Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	pyrogram/client/client.py
2018-09-17 15:59:49 +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
6a4bf23b09
Update send_audio docstrings 2018-09-12 08:14:49 +02:00
Dan
ea39062d2d Add get_chat_members_count method 2018-09-08 19:16:51 +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
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
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
caecbef2f6 Add phone_number type of entity to docs 2018-08-24 16:03:52 +02:00
Dan
2617618cef Add support for Document message edits 2018-08-23 21:21:27 +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
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
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
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
e414956e71
Log UpdateChannelTooLong updates 2018-07-03 18:29:25 +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
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
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
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
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
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
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
7f11f85c8f Move signal handler inside idle 2018-06-23 15:45:48 +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
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
ff915965f1
Minor style fixes 2018-06-21 15:33: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
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
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
YoilyL
2944181b38
fixed session mistake
use new session when uploading files instead of main session
2018-06-13 17:54:48 +03:00
Dan
ade1c2f377 Accommodate ipv6 in the Client class 2018-06-13 13:38:14 +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
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
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
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
Dan
0dc5ecf28c Revert "Make send_message recognise the Empty parse mode"
This reverts commit e1e6e4b
2018-05-31 13:03:28 +02:00
Dan
73c101b49d Revert "Add Empty parse mode"
This reverts commit d8dbcb5
2018-05-31 13:03:20 +02:00
Dan
e1e6e4bd70 Make send_message recognise the Empty parse mode 2018-05-27 20:24:42 +02:00
Dan
d8dbcb5b4e Add Empty parse mode 2018-05-27 20:16:30 +02:00
Dan
93218a6ed7 Remove handlers lock 2018-05-26 18:04:17 +02:00
Dan
00b983ccc3 Fix proxy not being correctly updated 2018-05-25 11:52:40 +02:00
Dan
65c209000c Connection refactoring 2018-05-24 21:19:57 +02:00
Dan
9001ccd11f Add DisconnectHandler 2018-05-23 14:27:17 +02:00
Dan
8a5743ef0c Allow FloodWait to be raised in case of non-interactive sign-ins 2018-05-22 16:16:28 +02:00
Dan
28310cb0a7 Add GIFs to media filter 2018-05-20 14:03:16 +02:00
Dan
43526876a4 Split handlers in files 2018-05-20 12:53:00 +02:00
Dan
5b300ef83c Fix some GIF not having video attributes 2018-05-20 12:45:37 +02:00
Dan
c5911a6f6b Reorganize AES module 2018-05-19 15:36:38 +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
31cfeaa68b Allow downloading GIFs 2018-05-13 08:37:31 +02:00
Dan
5dff2fe604 Fix get_history in chats with less than 100 messages 2018-05-12 15:36:47 +02:00
Dan
0367c765e2 Document get_chat 2018-05-12 11:33:14 +02:00
Dan
d2713cb234 Document get_contacts 2018-05-12 11:31:09 +02:00
Dan
4e383c68d4 Fix typo 2018-05-12 11:24:30 +02:00
Dan
b9156453da Fix docstring for argument being optional 2018-05-12 11:21:02 +02:00
Dan
e081637f37 Remove pyrogram types IDs from docs 2018-05-12 11:17:51 +02:00
Dan
afffd5b4af Allow entities to span in multiple lines 2018-05-12 10:51:24 +02:00
Dan
ef93fee7aa Add new Messages object and make get_history return it 2018-05-11 18:00:16 +02:00
Dan
f7aca803b1 Hint about text.markdown in docstrings 2018-05-11 16:03:25 +02:00
Dan
34d7749dbf Add html attribute to message.text 2018-05-11 13:38:12 +02:00
Dan
c0f61fd40c Add html unparse 2018-05-11 13:37:49 +02:00
Dan
6c5ab7ed8a Add possibility to choose a config file path 2018-05-11 13:10:49 +02:00
Dan
9bb8fe55da Remove unused import and class 2018-05-11 12:50:48 +02:00
Dan
9078639243 Add send_gif method 2018-05-11 12:41:18 +02:00
Dan
e1e0029cc5 Rename media type 1 to chat_photo 2018-05-11 11:57:05 +02:00
Dan
696a86791f Add GIF filter 2018-05-11 11:56:48 +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
89af1d0827 Fix unparse not taking surrogates into account 2018-05-10 15:25:01 +02:00
Dan
d41464e12e Small pattern fix 2018-05-10 15:11:13 +02:00
Dan
efeade88c1 Cleaner markdown 2018-05-10 15:07:03 +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
b334b06117 Add markdown unparse method 2018-05-10 14:46:14 +02:00
Dan
cc9aeb290a Don't process empty messages 2018-05-09 21:40:24 +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
65c67aaf57 Move download_media 2018-05-09 13:36:33 +02:00
Dan
8cc7cdba9a Remove text submodule 2018-05-09 13:08:16 +02:00
Dan
662d49d885 Add get_history.py 2018-05-09 13:06:32 +02:00
Dan
06e6579091 Update some inconsistent docstrings 2018-05-09 13:04:02 +02:00
Dan
07965850bf Fix some other method docstrings 2018-05-09 12:47:11 +02:00
Dan
746a0d0595 Fix send_contact and send_document docstrings 2018-05-09 12:44:43 +02:00
Dan
e6070cbc87 Fix send_audio docstrings 2018-05-09 12:43:38 +02:00
Dan
f92b74328f Fix send_chat_action docstrings 2018-05-09 12:38:09 +02:00
Dan
63b4f909df Split location parameter into lat and long 2018-05-09 12:33:51 +02:00
Dan
5be87a0dec Add Filters.bot 2018-05-08 18:08:51 +02:00
Dan
c0890d8cdb Make get_me return the new type 2018-05-07 16:45:05 +02:00
Dan
4f14dd7abe Remove the new parameter in export_chat_invite_link 2018-05-07 16:40:50 +02:00
Dan
3386fd040a Fix style 2018-05-07 16:38:11 +02:00
Dan
78ccb93bc1 Add TimeoutError on possible raises 2018-05-07 16:37:54 +02:00
Dan
bef0a24408 Small fixes 2018-05-07 15:55:41 +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
Dan
f5521370bb Add progress_args to download_media as well 2018-05-06 15:45:42 +02:00
Dan
00420aec92 Use the already computed channel_id 2018-05-06 15:06:32 +02:00
Dan
9f3f4099d5 Handle timeouts when getting answers from inline bots 2018-05-05 19:42:38 +02:00
Dan
553e7f714c Add get_chat method 2018-05-05 18:42:28 +02:00
Dan
68986171ef Add photo_id 2018-05-05 18:11:14 +02:00
Dan
ef45288419 Change chat photo media id 2018-05-05 16:51:01 +02:00
Dan
7a79e5a0c4 Add media type 1 2018-05-04 18:37:36 +02:00
Dan
14b6ced6e2 Remove unused import 2018-05-03 15:47:02 +02:00
Dan
cd9f2223e7 Some little fixes in case of ChatForbidden. Thanks @i-Naji 2018-05-03 15:45:57 +02:00
Dan
afc2a2e35d Use weakref proxy instead of ref 2018-05-03 15:44:55 +02:00
Dan
58952a7d98 Temporarily remove the debug feature 2018-05-02 23:06:22 +02:00
Dan
02ec86f4b2 Respect users' logger level, don't set to WARNING 2018-05-02 22:36:56 +02:00
Dan
32336a9bda Fix links 2018-05-02 16:00:48 +02:00
Dan
f29b8bb7e4 Cache the session right after they start. Related to #68
@EriHoss is right, the session can know how to clean itself in
case for some reason it fails to start, hence it makes much more
sense to cache sessions right after they start. Also, clear the
media_sessions dict when stopping to get rid of closed sessions.
2018-05-01 21:08:47 +02:00
Dan
1dc43064fb Add a weakref to client instead 2018-05-01 20:40:47 +02:00
Dan
1b48f850bf Add new sessions to the media_sessions dict before starting them 2018-05-01 20:25:35 +02:00
Dan
83febf2e0c Cache media sessions. Related to #40. Fixes #68 2018-05-01 18:15:33 +02:00
Dan
943691fd18 Remove useless attribute 2018-05-01 11:52:14 +02:00
Dan
11aa46665e
Merge pull request #69 from EriHoss/stop_getfile_sessions
Make sure started Session is always stopped upon exceptions in Client.get_file
2018-05-01 11:45:51 +02:00
Eric Blundell
11d0eb6ea1 Make sure Session is always stopped upon exceptions in Client.get_file 2018-05-01 01:39:58 -05:00
Dan
2e81a2369d Make download_media hint string as acceptable type 2018-04-30 20:25:45 +02:00
Dan
35e1a76cef Fix pycharm warnings 2018-04-30 19:53:03 +02:00
Dan
47d5889612 Make ChatAction.from_string() static 2018-04-30 19:44:26 +02:00
Dan
a32e496fe3
Merge pull request #67 from JosXa/chataction-enum
Make ChatAction an Enum
2018-04-30 19:39:33 +02:00
Dan
fcb4c6d07b
Update client.py 2018-04-30 19:37:59 +02:00
Dan
9b9c7ced77
Update chat_action.py 2018-04-30 19:34:59 +02:00
Dan
4d81e6894d Make optional word italic 2018-04-30 19:30:16 +02:00
Dan
95bcfd9b26 Document reply_markup parameter 2018-04-30 19:28:16 +02:00
Dan
bfe6632de4 Fix index out of range for new messages 2018-04-30 19:21:58 +02:00
Dan
a7650c457d Add progress_args parameter 2018-04-30 19:09:57 +02:00
JosXa
33dd708831 enumeration "class" 2018-04-30 16:36:18 +02:00
JosXa
5b492bae9d Docstring 2018-04-30 16:32:21 +02:00
JosXa
abf89688ed Also allow strings for send_chat_action 2018-04-30 16:28:43 +02:00
JosXa
e2d80a6087 Made ChatAction an Enum 2018-04-30 16:11:50 +02:00
JosXa
72e95fd322 Made ChatAction an Enum 2018-04-30 16:03:18 +02:00
Dan
e6b4f0e743 Make delete_messages accept iterables 2018-04-30 14:25:11 +02:00
Dan
b41c009962 Make forward_messages accept iterables 2018-04-30 14:24:05 +02:00
Dan
59ab1591d2 Make get_users accept iterables 2018-04-30 14:22:13 +02:00
Dan
8f8e1cfa25 Make get_messages accept iterables 2018-04-30 14:18:13 +02:00
Dan
53b0736975 Make add_handler return (handler, group) tuple 2018-04-30 13:31:11 +02:00
Dan
deed74840a Make send_message return the correct Message type 2018-04-30 13:13:30 +02:00
Dan
e2224054d2 Merge branch 'remove-handler-and-locks' of https://github.com/JosXa/pyrogram into JosXa-remove-handler-and-locks
# Conflicts:
#	pyrogram/client/dispatcher/dispatcher.py
2018-04-30 10:30:34 +02:00
Dan
f824e69b5a
Update client.py 2018-04-30 10:15:34 +02:00
JosXa
bb607e56be Added locks for modifying and iterating handlers
Added `remove_handler` method
Made `add_handler` return a (handler, group) tuple
2018-04-30 00:15:24 +02:00
Dan
33c417942c Clear thread lists when stopping. Related to #62 2018-04-29 20:20:34 +02:00
Dan
2c253b2fbc Cleanup docstrings and add some entries to the docs 2018-04-29 19:24:06 +02:00
Dan
d3472fd052 Add CallbackQuery to docs 2018-04-29 19:06:35 +02:00
Dan
4eed293933 Document on_callback_query 2018-04-29 18:46:35 +02:00
Dan
c32e1d9444 Document answer_callback_query 2018-04-29 18:37:03 +02:00
Dan
99a2c54992 Small fixes 2018-04-29 18:36:55 +02:00
Dan
4918be5d22 Add edit_message_reply_markup method 2018-04-29 18:31:29 +02:00
Dan
ac9a263f3d Add reply_markup argument for edit_message_* methods 2018-04-29 18:31:15 +02:00
Dan
34d7f3372f Rework delete_messages 2018-04-29 18:13:50 +02:00
Dan
b8996b1147 Remove chat field for now, it can be accessed via message.chat 2018-04-29 17:29:48 +02:00
Dan
d6bdf5f38b Fix typo 2018-04-29 17:29:46 +02:00
Dan
9c7935702f Add callback query support 2018-04-28 23:48:38 +02:00
Dan
c1459aa22c Add get_users method 2018-04-28 13:24:54 +02:00
Dan
4f937b2220 Add reply_markup parameter to all send_* methods 2018-04-28 09:53:21 +02:00
Dan
489bd4ac38 Remove message_parser, move all functions in utils 2018-04-28 09:38:07 +02:00
Dan
dafc574bd5 Remove a stupid comma that made "command" act like a tuple 2018-04-28 09:33:37 +02:00
Dan
3b314c92fb Move IDs at the bottom 2018-04-28 09:09:44 +02:00
Dan
01034c174a Make get_user_profile_photos return the correct type 2018-04-28 09:04:45 +02:00
Dan
750caa7471 Fix reply keyboard markup writing 2018-04-28 08:47:32 +02:00
Dan
18e414e2c1 Add TODO 2018-04-27 20:13:19 +02:00
Dan
e81ef5a757 Users are now able to view keyboards from bots 2018-04-27 20:11:36 +02:00
Dan
f6b0e0e0dc Initial support for Reply Markups 2018-04-27 19:04:16 +02:00
Dan
0ffad5d18e Cast file_total_parts to int
For some reason pycharm is thinking math.ceil() is returning a float
2018-04-27 15:24:27 +02:00
Dan
83dc5f7a03 Fix proxy failing when omitting optional arguments 2018-04-27 12:50:34 +02:00
Dan
2874be05ff Limit replies for pinned messages. Related to #61 2018-04-26 14:17:43 +02:00
Dan
dcbce9f9a1 Add client field in Message 2018-04-26 12:10:54 +02:00
Dan
bd0fc27a61 Add support for blocked channels/supergroups. Fixes #56 2018-04-26 11:09:19 +02:00
Dan
4cb7733821 Regression fix: limit replies to 1 (Closes #61) 2018-04-26 10:50:30 +02:00
Dan
0ed38518e1 Some stickers don't have DocumentAttributeImageSize 2018-04-25 18:30:33 +02:00
Dan
e22f7896f8 Add incoming and outgoing filters 2018-04-25 17:44:09 +02:00
Dan
3e4135c8e1 New "outgoing" field to easily tell in/out messages apart 2018-04-25 15:27:16 +02:00
Dan
fefcb81dde Move object ids ot the top 2018-04-25 10:30:33 +02:00
Dan
9173c49938 Allow Filters.command to pass command and arguments
This is done by using the new "command" field in the Message type
2018-04-25 10:27:55 +02:00
Dan
e5de670d40 Allow Filters.regex to pass all matches (as list)
This is done by using the new "matches" field in the Message type
2018-04-25 09:33:44 +02:00
Dan
7a20c8bca8 Clean all types and add docs 2018-04-24 16:41:52 +02:00
Dan
6e78935857 Accommodate the new types 2018-04-24 16:08:33 +02:00
Dan
59bca1c109 Clean ChatMember type 2018-04-24 15:10:15 +02:00
Dan
c457fc6ae3 Clean ChatPhoto type 2018-04-24 15:07:32 +02:00
Dan
d8f7f3bcc9 Clean UserProfilePhotos type 2018-04-24 15:06:54 +02:00
Dan
a52d4846e6 Clean Venue type 2018-04-24 15:05:51 +02:00
Dan
ba254e6643 Clean Location type 2018-04-24 15:05:08 +02:00
Dan
d10326605f Clean Contact type 2018-04-24 15:04:25 +02:00
Dan
76980ffc96 Clean Sticker type 2018-04-24 15:02:58 +02:00
Dan
5f7dd681f4 Clean VideoNote type 2018-04-24 15:00:36 +02:00
Dan
48284e7629 Clean Voice type 2018-04-24 14:57:22 +02:00
Dan
be8f0ad765 Clean Video type 2018-04-24 14:55:29 +02:00
Dan
7765942fc9 Clean Document type 2018-04-24 14:52:43 +02:00
Dan
d5ebeef4be Clean Audio type 2018-04-24 14:50:23 +02:00
Dan
38621f8239 Clean PhotoSize type 2018-04-24 14:44:50 +02:00
Dan
fe0f30b2f9 Clean MessageEntity type 2018-04-24 14:40:49 +02:00
Dan
79c3c8c0dd Clean Message type 2018-04-24 14:38:46 +02:00
Dan
3609d37752 Clean Chat type 2018-04-23 19:25:38 +02:00
Dan
b8473c9f7f Clean User type 2018-04-23 19:00:20 +02:00
Dan
730d5e74f0 Clean Update type 2018-04-23 18:56:06 +02:00
Dan
50252caec3 Move pyrogram types outside and make them static 2018-04-23 18:50:58 +02:00
Dan
debc459686 Return the correct message type with forward_messages() 2018-04-23 18:33:20 +02:00
Dan
88f7b35120 Add support for empty messages 2018-04-23 18:16:32 +02:00
Dan
f6415cdc15 Allow passing msg ids as int in get_messages()
Also add support for empty messages
2018-04-23 18:15:51 +02:00
Dan
a2640775dc Allow passing msg ids as int in forward_messages() 2018-04-23 13:49:31 +02:00
Dan
3d9b1cd4b0 Enable logging using debug=True 2018-04-23 13:37:50 +02:00
Dan
7054310138 Add docstrings for workdir parameter 2018-04-22 12:41:50 +02:00
Eric Blundell
40b768e97c Make Client.signal_handler reentrant (#57) 2018-04-21 20:50:30 +02:00
Dan
ae98732b95 Add workdir parameter
This makes possible to define a custom working directory.
A working directory is used to store session files. Defaults to "."
2018-04-19 10:06:41 +02:00
Dan
d6448c2044 Handle STICKERSET_INVALID error 2018-04-18 16:39:42 +02:00
Dan
0bba5daea4 Update docstrings 2018-04-18 11:15:09 +02:00
Dan
9dff99cf36 Add set_name and emoji to Stickers 2018-04-17 15:17:40 +02:00
Dan
d78dfb4f9e Don't use raw functions when getting messages 2018-04-17 00:26:30 +02:00
Dan
ebe806e2b7 Add missing notice 2018-04-16 21:07:02 +02:00
Dan
f9b1d02af4 Set correct link for the Message type 2018-04-16 13:28:53 +02:00
Dan
a547eb6fa1 Update get_messages docstrings 2018-04-16 12:52:32 +02:00
Dan
e210b22aaa Fix wrong users when joining by link 2018-04-16 12:43:02 +02:00
Dan
f47f903f7f Make get_messages return the correct type 2018-04-16 12:42:31 +02:00
Dan
d0ddb63830 Use raw functions when getting messages 2018-04-16 12:19:04 +02:00
Dan
06685cfe15 Make edit_message_caption return the new type 2018-04-16 12:03:31 +02:00
Dan
fbc8cafe4d Make edit_message return the new type 2018-04-16 12:01:42 +02:00
Dan
20bd4fb605 Make send_contact return the new type 2018-04-16 11:56:52 +02:00
Dan
797e8ba4e9 Don't pass empty last_name or user_id, pass None instead 2018-04-16 11:56:43 +02:00
Dan
58c9f321b4 Make send_venue return the new type 2018-04-16 11:53:38 +02:00
Dan
4bbdadaa17 Don't pass an empty string, use None instead 2018-04-16 11:53:26 +02:00
Dan
cd9f44183e Make send_location return the new type 2018-04-16 11:51:32 +02:00
Dan
b4b5373505 Deprecate download_photo 2018-04-16 11:49:00 +02:00
Dan
d9b3d67126 Update download_media docstrings 2018-04-16 11:44:05 +02:00
Dan
fdac67de69 Rework download_media to accept the new Message type 2018-04-16 01:07:02 +02:00
Dan
6275a4003f Add mime_type, file_name and date to Sticker objects 2018-04-16 00:59:41 +02:00
Dan
ddfce4b7ea Add file_name, mime_type and date to VideoNote objects 2018-04-16 00:30:49 +02:00
Dan
f35d922c97 Add thumb, file_name and date to Voice type 2018-04-16 00:24:43 +02:00
Dan
7184710948 Add file_name and date fields to Video objects 2018-04-16 00:01:27 +02:00
Dan
44dda8550f Add date field to Document type 2018-04-15 23:54:46 +02:00
Dan
e08e2850ee Add thumb, date and file_name to Audio type 2018-04-15 23:51:10 +02:00
Dan
d5f3684310 Add date field for PhotoSize 2018-04-15 23:30:40 +02:00
Dan
d9fdd89c49 Add ChatPhoto to User objects 2018-04-15 22:28:08 +02:00
Dan
ab1d780a61 Add ChatPhoto to Chat objects 2018-04-15 22:23:58 +02:00
Dan
94c9e7c52b Add some TODOs 2018-04-14 21:55:23 +02:00
Dan
b705391f79 Enhance send_media_group by accepting file_ids 2018-04-14 21:48:15 +02:00
Dan
5e26ae1894 Enhance send_video_note by accepting file_ids 2018-04-14 20:49:16 +02:00
Dan
c52ecadb76 Enhance send_voice by accepting file_ids and URLs 2018-04-14 20:42:32 +02:00
Dan
1fdb3386ff Enhance send_video by accepting file_ids and URLs 2018-04-14 20:41:23 +02:00
Dan
4f615bd6dc Enhance send_sticker by accepting file_ids and URLs 2018-04-14 19:56:11 +02:00
Dan
8446129003 Enhance send_document by accepting file_ids and URLs 2018-04-14 19:48:15 +02:00
Dan
0dd5ebef80 Fix raw update handler throwing errors 2018-04-14 16:59:34 +02:00
Dan
e8193435a9 Fix service filter and add media filter 2018-04-14 14:02:48 +02:00
Dan
17259d1b7b Join threads before closing the connection 2018-04-13 19:09:00 +02:00
Dan
e3c70c84ba Merge branch 'master' into new-api 2018-04-13 18:55:20 +02:00
Dan
83c4ba8a78 Handle flood wait when getting dialogs chunks 2018-04-13 18:53:55 +02:00
Dan
70173adca9 Iterate over copies 2018-04-13 18:35:36 +02:00
Dan
2f52b0e144 Merge branch 'master' into new-api 2018-04-13 16:42:26 +02:00
Dan
75cbd18ede Add ability to re-fetch usernames and contacts 2018-04-13 16:41:20 +02:00
Dan
ebc34e71d3 Optimize imports 2018-04-13 16:30:19 +02:00
Dan
e05c6a76d5 Merge branch 'master' into new-api
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/utils.py
2018-04-13 16:29:39 +02:00
Dan
846b7ec710 Increase sync interval 2018-04-13 16:21:18 +02:00
Dan
077930f85e Lower offline sleep 2018-04-13 16:20:51 +02:00
Dan
973cb4b2b6 Make dialogs and contacts fetching smarter 2018-04-13 16:20:21 +02:00
Dan
d9aa2a3ab0 Fix channels ids 2018-04-13 15:40:35 +02:00
Dan
9631dc7780 Accommodate Syncer 2018-04-13 15:21:34 +02:00
Dan
b84628e01d Add syncer module 2018-04-13 15:20:47 +02:00
Dan
e38da08e25 Load peers from session file 2018-04-13 15:20:37 +02:00
Dan
2ad3e113a0 Add utils module 2018-04-13 15:17:21 +02:00
Dan
a4b6674d4d Add date field 2018-04-13 15:05:46 +02:00
Dan
01775d0bd7 Don't pass session_name 2018-04-13 15:03:46 +02:00
Dan
6dcdeda244 Make proxy loading simpler 2018-04-13 12:30:13 +02:00
Dan
346d3da175 Add more info in case of an error 2018-04-12 14:11:01 +02:00
Dan
98937dbc3b Update Docs 2018-04-11 23:18:17 +02:00
Dan
3f16390193 Update docstrings 2018-04-11 15:16:29 +02:00
Dan
b5f1d3a2a5 Update docstrings 2018-04-11 03:53:10 +02:00
Dan
472ed8e355 Document the new features 2018-04-11 03:16:48 +02:00
Dan
84b1e697bb Add phone_number field in users 2018-04-10 19:48:44 +02:00
Dan
c4f2906009 Add via_bot field in messages 2018-04-10 19:37:52 +02:00
Dan
847b8dd5d4 Add views field in messages 2018-04-10 19:30:55 +02:00
Dan
059c1d7a27 Add service message filters 2018-04-10 19:23:40 +02:00
Dan
cbf9104aa3 Add chat filter 2018-04-10 18:33:19 +02:00
Dan
dfa1e51281 Fix type hinting 2018-04-10 16:27:04 +02:00
Dan
f553e521ce Use sets instead of lists or tuples
For faster checks
2018-04-10 16:26:04 +02:00
Dan
793ecc2ab5 Add user filter 2018-04-10 16:24:39 +02:00
Dan
a6b6b0dfd6 Add edited filter 2018-04-10 16:04:22 +02:00
Dan
3b028698f7 Make command parameter non-optional 2018-04-10 15:04:31 +02:00
Dan
9165c7f591 Rework decorators impl 2018-04-10 14:54:39 +02:00
Dan
7537a27620 Accept command strings as parameter 2018-04-10 14:54:06 +02:00
Dan
c33c7c76fd Rework dispatcher 2018-04-10 14:52:31 +02:00
Dan
f2424d3b1e Add some more filters 2018-04-10 13:14:10 +02:00
Dan
9ce13518ec Add missing notice 2018-04-10 00:25:51 +02:00
Dan
b3506a7afa Add a text filter (more to come) 2018-04-10 00:25:04 +02:00
Dan
142ce07576 Make handlers accept filters 2018-04-10 00:24:03 +02:00
Dan
fb4e98b0b5 Evaluate filters before dispatching messages 2018-04-09 23:35:51 +02:00
Dan
b6f28b2ec6 Add base Filter class 2018-04-09 23:33:20 +02:00
Dan
e7fdf5a2a4 Enhance send_audio by accepting file_ids and URLs 2018-04-09 22:02:44 +02:00
Dan
245720278e Enhance send_photo by accepting file_ids and URLs
This is the first step of a total revamp of the current Pyrogram API
2018-04-08 16:50:18 +02:00
Dan
578047dbec Move message_parser outside 2018-04-08 15:36:22 +02:00
Dan
28ffff57e1 Move file_id codec outside 2018-04-08 13:23:26 +02:00
Dan
13d25f4e4a Merge branch 'master' into dispatcher 2018-04-08 13:21:30 +02:00
Dan
0bd22e9266 Fix casting in case api_id is None 2018-04-08 13:21:16 +02:00
Dan
1a7ab62ed9 Add handler for raw mtproto updates 2018-04-08 13:20:31 +02:00
Dan
66d03848de Merge branch 'master' into dispatcher 2018-04-08 12:46:15 +02:00
Dan
26a41ec00e Allow returning sms codes as int from the callback function 2018-04-08 12:46:02 +02:00
Dan
dfc8d00adb Allow passing api_id as string 2018-04-08 12:44:27 +02:00
Dan
8e8613bc0f Refactor Dispatcher 2018-04-08 12:43:47 +02:00
Dan
1f05c4223a Fix copypasta 2018-04-08 11:58:17 +02:00
Dan
ee2d66b416 Only keep MessageHandler 2018-04-07 23:34:28 +02:00
Dan
90a4e4c411 Allow registering handlers using decorators 2018-04-06 20:38:34 +02:00
Dan
ede627de52 Directly pass the message instead of the update 2018-04-06 20:35:38 +02:00
Dan
e98b209526 Accommodate the new Dispatcher 2018-04-06 18:48:41 +02:00
Dan
331eb62455 Clean up __init__ file 2018-04-06 18:37:11 +02:00
Dan
2dc57002d6 Add Dispatcher 2018-04-06 18:36:29 +02:00
Dan
9df7fc774f Add handlers to init file 2018-04-06 17:46:34 +02:00
Dan
e638cc68c6 Add ChannelPostHandler and EditedChannelPostHandler 2018-04-06 17:45:37 +02:00
Dan
f5a906452c Add EditedMessageHandler 2018-04-06 17:45:03 +02:00
Dan
1e8cb843cb Add MessageHandler 2018-04-06 17:44:50 +02:00
Dan
6bc52fd03b Add base Handler class 2018-04-06 17:44:12 +02:00
Dan
6fd4c5c016 Add TODO 2018-04-06 14:47:47 +02:00
Dan
73246c26f9 Rename utils to message_parser 2018-04-06 14:47:00 +02:00
Dan
055d1c80ea Handle text_mentions 2018-04-05 20:59:41 +02:00
Dan
f3fcfb17df Add fallback for any unsupported media 2018-04-05 20:44:11 +02:00
Dan
23c0d2b9ce Handle Venue type 2018-04-05 20:35:25 +02:00
Dan
3593886917 Keep InputMediaVideo separated as well 2018-04-05 20:19:37 +02:00
Dan
7079815970 Keep InputMediaPhoto separated 2018-04-05 20:18:04 +02:00
Dan
38e895ed82 Merge branch 'master' into new-api
# Conflicts:
#	pyrogram/crypto/aes.py
2018-04-05 20:13:18 +02:00
Dan
73fbe60057 Remove APIKey class 2018-04-05 13:05:27 +02:00
Dan
942c20d08b Use separate api_id and api_hash parameters
Instead of a tuple (api_id, api_hash)
2018-04-05 12:55:34 +02:00
Dan
f8b272a925 Allow passing phone numbers with white spaces
E.g.: "+39 123 456 7890"
2018-04-05 11:31:01 +02:00
Dan
fad0e7a26d Add new_chat_photo field 2018-04-05 11:17:40 +02:00
Dan
65e3852706 Add channel_chat_created field 2018-04-05 10:59:44 +02:00
Dan
7483d3df37 Use correct chat ids 2018-04-05 10:59:12 +02:00
Dan
195cd22ebb Better handling of reply and pin messages 2018-04-05 10:49:20 +02:00
Dan
a2590f3bc8 Don't return None
This will break Message Pin handling
2018-04-05 08:26:50 +02:00
Dan
4adc55a070 Move GIF handling before Video to avoid an extra check 2018-04-05 08:22:27 +02:00
Dan
feece7e633 Add return types (function annotations) 2018-04-05 00:23:38 +02:00
Dan
2fcd8ea54e Handle GIF and Document type 2018-04-04 23:59:30 +02:00
Dan
f1a8cd1038 Rename to image_size_attributes 2018-04-04 22:48:14 +02:00
Dan
2acb38649d Add some TODOs 2018-04-04 22:47:52 +02:00
Dan
447cd92b02 Handle media_group_id 2018-04-04 22:42:30 +02:00
Dan
d5fe82687c Handle Sticker type 2018-04-04 22:37:40 +02:00
Dan
c1e6f9c2ca Handle Voice type 2018-04-04 22:27:05 +02:00
Dan
70fa667ef9 Handle Video and VideoNote type 2018-04-04 22:24:09 +02:00
Dan
c49c8c0ce6 Handle Audio type 2018-04-04 22:23:20 +02:00
Dan
156afd9805 Handle Contact type 2018-04-04 20:28:05 +02:00
Dan
7ba523600e Handle Location type 2018-04-04 20:21:07 +02:00
Dan
6201f6b1f7 Add a bunch of TODOs 2018-04-04 20:15:59 +02:00
Dan
fcf0e4515f Don't try to stop a non-started Client 2018-04-03 14:54:34 +02:00
Dan
10452dc545 Don't allow start() to be called more than once 2018-04-03 11:45:19 +02:00
Dan
e69fea4bb5 More readable exception handling 2018-04-03 11:40:08 +02:00
Dan
2f2a381686 Add extra GetDialogs step 2018-04-02 12:14:22 +02:00
Dan
b5304ca23a Use fully qualified channel id 2018-04-02 11:11:38 +02:00
Dan
21ab5295c4 Update first_name and last_name parameters' docs 2018-04-01 18:18:06 +02:00
Dan
fecea07db6 Document force_sms parameter 2018-04-01 18:17:20 +02:00
Dan
387bbbf090 Add new force_sms parameter to force Telegram sending the code via SMS 2018-04-01 17:38:22 +02:00
Dan
48400830e3 Fix chat parsing 2018-04-01 12:17:38 +02:00
Dan
846fb0b637 Add photo field 2018-03-31 12:20:22 +02:00
Dan
880eb28e9f Use double quotes 2018-03-30 22:41:34 +02:00
Dan
692539f6a2 Add file_id codec 2018-03-28 18:23:44 +02:00
Dan
f1e1480c5a Only parse selected messages 2018-03-27 15:58:04 +02:00
Dan
91133812a7 Add support for service messages 2018-03-27 12:22:57 +02:00
Dan
527c5450d2 Extend support for pyrogram types 2018-03-26 20:00:25 +02:00
Dan
7447b77b25 Add initial support for pyrogram types 2018-03-26 15:17:00 +02:00
Dan
8d4242f08e Remove types 2018-03-26 13:47:41 +02:00
Dan
f3cf08d351 Merge branch 'master' into new-api
# Conflicts:
#	pyrogram/client/client.py
2018-03-26 13:46:48 +02:00
Dan
beaf88adee Remove imports, use namespaces 2018-03-26 13:41:00 +02:00
Dan
e397c4d181 Don't process empty differences 2018-03-26 13:34:54 +02:00
Dan
e680cce5fa Update docstrings 2018-03-25 22:12:52 +02:00
Dan
16eee1dabb Update docstrings 2018-03-25 21:59:04 +02:00
Dan
faa363fee8 Update docstrings 2018-03-25 21:41:19 +02:00
Dan
5bf64ac444 Don't process empty messages 2018-03-25 17:49:43 +02:00
Dan
bbe3a8a487 Set supports_streaming to True by default 2018-03-24 15:10:27 +01:00
Dan
813b7958e3 Remove token parameter 2018-03-24 15:02:03 +01:00
Dan
ef71dcf56a Remove **kwargs for generated classes (function/types) 2018-03-23 13:46:43 +01:00
Dan
1d9bb18a38 Only match full t.me/joinchat links 2018-03-23 12:59:03 +01:00
Dan
a0e3ab4199 Yet another markdown pattern fix 2018-03-23 08:27:23 +01:00
Dan
a9b1783910 Let api_key and proxy parameters override the config.ini file 2018-03-22 14:36:46 +01:00