Commit Graph

1007 Commits

Author SHA1 Message Date
Dan
7b369a73bb Add parse_last_seen util method 2018-10-14 17:11:27 +02:00
Dan
d2f47d7e59 Add last_seen field to User parse_last_seen 2018-10-14 17:11:01 +02:00
Dan
465dcac630 Create LastSeen class 2018-10-14 17:08:49 +02:00
Dan
b79df81f14 Allow specifying more than one prefix in Filters.command 2018-10-14 14:24:53 +02:00
Dan
f4146a8779 Accept None as plugins_dir 2018-10-13 19:33:43 +02:00
Dan
8e238ccc9a Add plugins_dir docstrings in Client class definition 2018-10-13 11:14:26 +02:00
Dan
96b39970d6 Allow on_callback_query to be used as a static decorator 2018-10-13 10:55:41 +02:00
Dan
6fdb90e4a4 Allow on_deleted_messages to be used as a static decorator 2018-10-13 10:54:13 +02:00
Dan
54296a6fda Allow on_disconnect to be used as a static decorator 2018-10-13 10:47:39 +02:00
Dan
1fdc757f2a Allow on_raw_update to be used as a static decorator 2018-10-13 10:46:29 +02:00
Dan
345ac6e16a Merge branch 'develop' into plugins 2018-10-13 10:42:07 +02:00
Dan
9649b1457c Don't make use of hardcoded default int values too 2018-10-13 10:41:58 +02:00
Dan
340fb9c145 Merge branch 'develop' into plugins
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/ext/base_client.py
2018-10-13 10:39:47 +02:00
Dan
a32009a79d Don't make use of hardcoded default string values 2018-10-13 10:38:44 +02:00
Dan
6a0066b8b5 Move loading plugins logic into a separate method 2018-10-12 17:57:34 +02:00
Dan
4bb50ee35f More logs when loading plugins 2018-10-12 17:54:52 +02:00
Dan
6c05f9ff42 Sanitize (a bit) plugins directory 2018-10-12 15:26:52 +02:00
Dan
4e516d097f Don't raise exceptions in case of non-existent plugins folder
Don't even warn in case the default plugins folder doesn't exist
2018-10-12 14:32:35 +02:00
Dan
0b79f96b4f Turn hardcoded plugins dir into a constant 2018-10-12 14:19:26 +02:00
Dan
dfb841baa9 Automatically scan and load plugins from a customizable directory
Defined functions found inside the directory that are also decorated
properly will be registered in the Client's dispatcher as handlers.
2018-10-12 14:17:03 +02:00
Dan
0025489c86 Allow on_message to behave like a static decorator
This enabled usages like @Client.on_message(...).
To preserve positional arguments order and thus ease the static
decorator usage there's a not-so-elegant hack in place that shifts
values.
2018-10-12 14:12:29 +02:00
Dan
e5f233b01e Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/dispatcher/dispatcher.py
#	pyrogram/client/ext/utils.py
2018-10-09 16:38:28 +02:00
Dan
acd525294f Add CallbackQuery.answer bound method 2018-10-09 14:08:01 +02:00
Dan
1be144288c Add a proxy to the Client instance inside CallbackQuery objects 2018-10-09 14:07:01 +02:00
Dan
fcdb71c28c Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/dispatcher/dispatcher.py
#	pyrogram/client/methods/chats/promote_chat_member.py
2018-10-01 16:21:14 +02:00
Dan
89a167b51f Update default rights to the least common between supergroups & channels
Fixes #120
2018-10-01 10:52:09 +02:00
Dan
0162cf48c1 Don't break groups in case one handler raises an unhandled exception
The error is logged instead. Fixes #126
2018-10-01 09:55:09 +02:00
Dan
b79bd1ea83 Don't swallow left_chat_member updates
Even though they are only relevant for supergroups with <50 members
2018-10-01 09:45:32 +02:00
Dan
12c61fb431 Fix unwanted CHANNEL_PRIVATE errors. Fixes #129 2018-10-01 09:40:34 +02:00
Dan
41acdd4d63 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/connection/transport/tcp/tcp.py
2018-09-22 14:49:35 +02:00
Dan
6a89c7ea02 Add missing ipv6 docstrings 2018-09-22 14:21:55 +02:00
Dan
61a2ad812e Add missing docstrings for edit_message_media 2018-09-20 16:33:36 +02:00
Dan
df8bc62fb3 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
#	pyrogram/client/methods/messages/send_document.py
#	pyrogram/client/methods/messages/send_video_note.py
2018-09-19 17:54:53 +02:00
Dan
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
4c290ba38a Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/methods/messages/send_audio.py
#	pyrogram/session/session.py
2018-09-17 17:00:10 +02:00
Dan
e7a85520f2 Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	pyrogram/client/client.py
2018-09-17 15:59:49 +02:00
Dan
f4a8848603 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/connection/connection.py
2018-09-15 22:19:39 +02:00
Dan
c75a4f182a
Handle Telegram exceptions on start(). Fixes #121
The client doesn't need to be stopped as it never started successfully.
2018-09-15 13:23:25 +02:00
Dan
edfdf9d143 Small docstring fixes 2018-09-14 15:34:00 +02:00
Dan
3307b410b4 Give superpowers to Filters.chat too
It can now add and remove chats at runtime
2018-09-14 15:33:32 +02:00
Dan
339630dafb Add noinspection PyPep8Naming for Filters.user 2018-09-14 15:29:56 +02:00
Dan
31578ddb33 Give Filters.user superpowers
It can now add and remove users at runtime
2018-09-14 15:29:36 +02:00
Dan
4e293f23a9 Make handlers test whether filters are callable and not if they exist 2018-09-14 15:28:08 +02:00
Dan
b893698f1e Add ability to add/remove users from the user filter.
Use .users to access the inner set of users
2018-09-14 14:37:04 +02:00
Dan
eb8513e009
Update send_video docstrings
Add a more detailed "thumb" description
2018-09-12 08:26:13 +02:00
Dan
6a4bf23b09
Update send_audio docstrings 2018-09-12 08:14:49 +02:00
Dan
dbd60765f6 Fix get_me not being properly awaited 2018-09-11 19:39:46 +02:00
Dan
8ff413c7e7 Make get_chat_members_count async 2018-09-08 19:30:12 +02:00
Dan
8011997512 Merge branch 'develop' into asyncio 2018-09-08 19:28:46 +02:00
Dan
ea39062d2d Add get_chat_members_count method 2018-09-08 19:16:51 +02:00
Dan
cc7901adf8 Merge branch 'develop' into asyncio 2018-09-06 20:05:01 +02:00
Dan
db6042e91b Fetch ChatForbidden and ChannelForbidden peers
This fixes unwanted PEER_ID_INVALID errors in cases where a user or a
bot was kicked/banned from a group, supergroup or channel
2018-09-02 13:04:29 +02:00
Dan
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
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
00f0051bd6 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
2018-08-26 19:28:32 +02:00
Dan
caecbef2f6 Add phone_number type of entity to docs 2018-08-24 16:03:52 +02:00
Dan
b78b72d7dc Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/methods/messages/edit_message_media.py
2018-08-23 21:22:29 +02:00
Dan
2617618cef Add support for Document message edits 2018-08-23 21:21:27 +02:00
Dan
4f9b38765e Add missing async/await keywords 2018-08-23 21:07:19 +02:00
Dan
c3cf924ddd Fix small merge issues 2018-08-22 10:32:57 +02:00
Dan
3f7b0b25af Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/methods/chats/get_chat_members.py
#	pyrogram/client/methods/chats/get_dialogs.py
#	pyrogram/client/methods/messages/send_animation.py
#	pyrogram/client/methods/messages/send_venue.py
2018-08-22 10:30:25 +02:00
Dan
03b17d5bce Fix clickable link 2018-08-21 21:18:06 +02:00
Dan
2d8792a7cd Move get_dialogs() from "messages" to "chats" namespace 2018-08-20 11:24:47 +02:00
Dan
9c0f8b2f3b Document get_dialogs() method 2018-08-20 11:24:00 +02:00
Dan
088a4c35c9 Add is_pinned attribute to Dialog 2018-08-20 02:12:21 +02:00
Dan
21d914e414 Remove unused constant 2018-08-19 19:40:23 +02:00
Dan
493fc4a658 Document Filters.create() method 2018-08-19 17:24:24 +02:00
Dan
ed05c56f52 Clearer Filters docs. Add create to Filters' namespace 2018-08-19 17:22:28 +02:00
Dan
0c77fe91fe Add TODO 2018-08-17 12:17:54 +02:00
Dan
7f1dd6d67e Rename "build" to "create" (friendlier name) 2018-08-17 02:17:48 +02:00
Dan
6879a4da9b Update vcard docstrings for Contact type and send_contact method 2018-08-15 22:33:01 +02:00
Dan
49e2e529e1 Add parameter foursquare_type to send_venue method 2018-08-14 14:36:01 +02:00
Dan
25662748cf Add foursquare_type to Venue 2018-08-14 14:25:54 +02:00
Dan
ec0d6dd6e0 Add support for animations in edit_message_media 2018-08-14 14:14:03 +02:00
Dan
4fe9cffc32 Code style fix 2018-08-13 22:06:43 +02:00
Dan
85c50ef4dd Add phone_number message entity 2018-08-13 22:06:20 +02:00
Dan
ece50e5f9b Rename Filters.gif to Filters.animation 2018-08-12 13:30:54 +02:00
Dan
9c7de81d82 Fix relative imports 2018-08-10 11:30:36 +02:00
Dan
7162850523 Export Utility methods 2018-08-10 11:29:55 +02:00
Dan
da436461a8 Revert "Move resolve_peer into utilities"
This reverts commit 6437c6c
2018-08-10 11:29:13 +02:00
Dan
ef6f080546 Revert "Export resolve_peer"
This reverts commit dd422c0
2018-08-10 11:29:05 +02:00
Dan
dd422c0edf Export resolve_peer 2018-08-10 11:18:28 +02:00
Dan
6437c6c5be Move resolve_peer into utilities 2018-08-10 11:17:53 +02:00
Dan
42d3b467fb Fix init not having message and media types 2018-08-10 11:17:21 +02:00
Dan
4e6add7a70 Fix download_media referencing to gif instead of animation 2018-08-10 11:16:57 +02:00
Dan
61663b3dde Add new utilities folder 2018-08-10 11:16:31 +02:00
Dan
888b3cc6aa Add missing import 2018-08-09 21:55:06 +02:00
Dan
2b4138ee30 Add new folder for messages and media related types 2018-08-09 21:53:49 +02:00
Dan
3a5dc20fb5 Rename reply_markup to bots 2018-08-09 21:51:43 +02:00
Dan
a93f98cfa6 Create a new sub-folder for bot related types 2018-08-09 21:51:00 +02:00
Dan
eeb3b67d37 Create a new sub-folder for user and chat types 2018-08-09 21:49:14 +02:00
Dan
88d45b085b Move InputMedia types in a dedicated folder 2018-08-09 21:46:14 +02:00
Dan
4b7e22aedd Rename file 2018-08-07 01:25:34 +02:00
Dan
2b793dd2a1 Refactor send_gif. It is now called send_animation 2018-08-07 01:23:52 +02:00
Dan
b1c12c3232 Rename GIF to Animation 2018-08-06 21:38:44 +02:00
Dan
6cc87d50c9 Rename media type id to animation 2018-08-06 21:32:38 +02:00
Dan
f7c2dc9d30 Add support for editing messages with Audio 2018-08-05 10:25:37 +02:00
Dan
9e5976e755 Fix InputMediaAudio copy pasta 2018-08-05 10:15:53 +02:00
Dan
9f725a6bfb Add support for editing videos using external URLs and file IDs 2018-08-04 01:27:02 +02:00
Dan
f3074f04b0 Add ability to edit video messages 2018-08-04 01:23:31 +02:00
Dan
51eb2f90b9 Add support for editing photousing file IDs 2018-08-03 18:38:26 +02:00
Dan
a3be6a9355 Add support for editing photos with external URLs 2018-08-03 18:38:04 +02:00
Dan
8d35559f0b Return the higher-level Message object instead of the raw update 2018-08-03 18:37:10 +02:00
Dan
6015a14182 Add ability to edit photos by uploading new files 2018-08-03 18:36:38 +02:00
Dan
e7b27c2c21 Expose edit_message_media method 2018-08-02 01:12:31 +02:00
Dan
ea0a75bfd7 Add edit_message_media method 2018-08-02 01:10:29 +02:00
Dan
92fdf79d54 Expose the new InputMedia types 2018-08-01 21:19:11 +02:00
Dan
c625756747 Add InputMediaDocument 2018-07-31 00:29:10 +02:00
Dan
570128d980 Add InputMediaAnimation 2018-07-31 00:25:41 +02:00
Dan
5bc9be0858 Add InputMediaAudio 2018-07-31 00:14:21 +02:00
Dan
2a985e7545 Make InputMediaVideo inherit from InputMedia 2018-07-30 23:01:43 +02:00
Dan
486c9433ac Make InputMediaPhoto inherit from InputMedia 2018-07-30 23:01:14 +02:00
Dan
9d9fc1f94f Add InputMedia base class 2018-07-30 22:59:30 +02:00
Dan
d270d0d2aa Remove support for t.me/joinchat/ links in resolve_peer for now
Another way, which is 100% reliable, will be implemented
Also clean the method a bit by removing useless checks
2018-07-28 23:09:44 +02:00
Dan
32468e5ab0 Remove hints about using t.me/joinchat/ links as chat ids
Such links don't work reliably with the current implementation
2018-07-27 00:40:08 +02:00
Dan
f4175b041c Document ChatMembers 2018-07-26 19:34:21 +02:00
Dan
e9cba4609a Update get_chat_member docstrings 2018-07-26 19:32:12 +02:00
Dan
215f54f32b Add get_chat_member documentation 2018-07-22 02:07:44 +02:00
Dan
1eaafb8e41 Clearer documentation for get_chat_members 2018-07-21 14:09:34 +02:00
Dan
e5915505a1 Add get_chat_member method 2018-07-19 23:26:20 +02:00
Dan
b77771497d Document get_chat_members 2018-07-17 09:09:04 +02:00
Dan
ccd651f1fc Make the new methods async 2018-07-17 08:28:28 +02:00
Dan
8a69c2d74e Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/methods/messages/send_contact.py
2018-07-16 17:39:54 +02:00
Dan
5b89a65437 Document set_chat_title 2018-07-15 16:34:47 +02:00
Dan
3fe05b4d28 Document set_chat_photo 2018-07-15 16:34:32 +02:00
Dan
3fcf9b9ef6 Document delete_chat_photo 2018-07-15 16:34:15 +02:00
Dan
98578160f0 Document set_chat_description 2018-07-15 16:33:41 +02:00
Dan
15e83e12ca Document unpin_chat_message 2018-07-15 16:33:12 +02:00
Dan
f8d44b8e77 Document pin_chat_message 2018-07-14 00:44:50 +02:00
Dan
84e7bb5c50 Clean up MessageEntity comments 2018-07-14 00:43:28 +02:00
Dan
85e3c05216 Document Dialogs 2018-07-13 01:10:33 +02:00
Dan
5c34e3f08f Clean up Messages comments 2018-07-12 14:58:18 +02:00
Dan
82d4a99fd5 Add docstrings for Dialog type 2018-07-12 14:58:01 +02:00
Dan
fa512a690d Add download() bound method to Message 2018-07-12 14:17:30 +02:00
Dan
bee8d1340b Clean up Sticker, Venue and Video comments 2018-07-12 14:16:29 +02:00
Dan
109e3836cf Clean up Photo and PhotoSize docstrings 2018-07-12 14:16:08 +02:00
Dan
62f575d53f Clean up GIF and Location comments 2018-07-12 14:14:19 +02:00
Dan
5d9e2f7d7a Clean up Document docstrings 2018-07-12 14:13:51 +02:00
Dan
72eb7e7a33 Add missing vcard argument on Contact 2018-07-12 14:13:35 +02:00