Commit Graph

2510 Commits

Author SHA1 Message Date
Dan
d47a0133f1 Update Pyrogram to v1.1.1 2020-12-23 16:19:52 +01:00
Dan
865f4274c3 Fix messages not having a reply-to-message when they actually do 2020-12-23 16:18:27 +01:00
Dan
b683580b1b Update Pyrogram to v1.1.0 2020-12-23 13:56:06 +01:00
Dan
d82ecf048a Remove non-python files 2020-12-20 18:29:01 +01:00
Dan
18b3ca1892 Simplify mime types guessing and remove unused code 2020-12-20 17:58:35 +01:00
Dan
29fa3ec520 Remove unneeded util functions and improve docs 2020-12-20 17:57:41 +01:00
Alisson Lauffer
1dc4df8cb1
Improve typing hints (#537)
* Change type1 or type2 to Union[type1, type2]

* Address @KunoiSayami suggestions

* Change Union[type1, None] to Optional[type1]

* Update PR with latest commit changes

* Address Dan suggestions
2020-12-20 17:05:17 +01:00
Legenda24
e1dac6c0e2
Add new method get_media_group (#550)
* Update __init__.py

Support for GetMediaGroup

* Create get_media_group.py

Added new method - get_media_group

* Update get_media_group.py

Add pyro stuff

* Update get_media_group.py

* Update compiler.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2020-12-20 17:02:54 +01:00
Shrimadhav U K
db3b262b8c
Typo on_chosen_inline_query -> on_chosen_inline_result (#559) 2020-12-12 16:57:51 +01:00
ColinShark
04cf4e68e3
Add mark_chat_unread() method (#322)
* Add mark_chat_unread() method

* Add bound method for mark_chat_unread

* Update mark_chat_unread.py

* Update chat.py

Apply Dans suggested changes

* Update mark_chat_unread.py

* Update chat.py

* Update compiler.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2020-12-12 16:56:26 +01:00
Dan
8b3e1ce9cc Make generating new salts independent of the system clock
Closes #553
2020-12-12 16:46:40 +01:00
Dan
7efd0d1d4e
Merge pull request #555 from JosXa/patch-1
Don't process MessageEmpty in get_dialogs
2020-12-11 19:15:58 +01:00
Dan
1835b62a40
Merge pull request #556 from drizzt/video-ttl_seconds
Add ttl_seconds support for send_video and reply_video
2020-12-11 18:34:49 +01:00
Dan
e7667d851e Add "speaking" chat action 2020-12-08 22:30:37 +01:00
Dan
9891eb77a1 Bump beta version 2020-12-08 22:26:43 +01:00
Dan
a30e49fe79 Ignore PhotoPathSize for now 2020-12-08 22:25:42 +01:00
Dan
844e53a70e Move crypto calls to threads in case of big enough chunks 2020-12-07 19:16:46 +01:00
Dan
521e403f92 Fix peer ids decoding from file ids 2020-12-07 19:15:46 +01:00
Dan
3c8f41b1d2 Add more verbose error in case of network issues 2020-12-07 19:11:26 +01:00
Dan
d2023c39ae Fix copied messages reporting "None" in case of empty captions 2020-12-07 17:22:10 +01:00
Dan
76b9f97681 Fix little typo 2020-12-05 17:00:00 +01:00
Dan
2f3bcd7ee5 Add Message.copy bound method 2020-12-05 01:54:07 +01:00
Dan
c606f836d4 Remove as_copy from forward_messages (superseded by copy_message) 2020-12-05 01:37:11 +01:00
Dan
7325daf870 Add new method: copy_message 2020-12-05 01:35:24 +01:00
Dan
6f878949e1 Add missing caption_entities parameter to send_cached_media 2020-12-05 01:34:14 +01:00
Timothy Redaelli
babbe00e5e Add ttl_seconds support for send_video and reply_video 2020-12-03 13:00:18 +01:00
Joscha Götzer
ff0fa9cbc3
Update get_dialogs.py 2020-12-03 02:51:03 +01:00
Joscha Götzer
b8934ae17c
Don't process MessageEmpty in get_dialogs
Prevent
```
  File "C:\Users\INT002327\AppData\Local\pypoetry\Cache\virtualenvs\josxabot-c3BmTbt9-py3.8\lib\site-packages\pyrogram\methods\chats\get_dialogs.py", line 92, in get_dialogs
    to_id = message.to_id
            └ pyrogram.raw.types.MessageEmpty(id=2767691)

AttributeError: 'MessageEmpty' object has no attribute 'to_id'
```
2020-12-01 21:55:33 +01:00
Dan
601483f210 Fix leftover bytes not being represented in hex 2020-11-30 12:46:44 +01:00
Dan
68158d1053 Add nicer error in case of unknown constructors 2020-11-30 12:41:06 +01:00
Dan
c87177e7a6 Do not parse PhotoStrippedSize 2020-11-30 12:40:26 +01:00
Dan
384f4eba71 Add support for manual text entities. 2020-11-29 15:48:29 +01:00
Dan
72db61a416 Fix wrong docs references on pyrogram.filters 2020-11-28 17:38:08 +01:00
Dan
4f197855f4 Fix messed up variable names 2020-11-28 17:37:39 +01:00
Dan
90cee1ea89 Add schedule_date parameter to send_media_group() 2020-11-28 15:58:51 +01:00
Dan
a6f8827433 Fix some missing raw API references in docs 2020-11-28 15:52:47 +01:00
Dan
9f77fed181 Add a clearer error in case of bad file ids 2020-11-28 14:58:24 +01:00
Dan
a4566de2ef Add support for the new Bot API fields: file_id, file_unique_id
Remove file_ref from Pyrogram's API
2020-11-27 22:09:17 +01:00
Dan
e0c3578fbb Set default file_reference to b"" instead of None 2020-11-27 22:02:52 +01:00
Dan
b85096c4ce Fix thumbnail_file_type type (str -> FileType) 2020-11-27 21:14:37 +01:00
Dan
8fbe45ddba Docs improvements 2020-11-27 19:06:25 +01:00
Dan
786235f316 Fix version being taken from class fields instead of instance fields 2020-11-27 14:12:49 +01:00
Dan
fa820328c3 Filter None values out from stringified file ids 2020-11-27 14:01:13 +01:00
Dan
d215f4b515 Merge branch 'master' into tests 2020-11-20 01:55:31 +01:00
Dan
76985faa11 Evaluate debug raw data only when actually needed
#541
2020-11-20 01:53:19 +01:00
Dan
301a13edd2 Add file_id.py
A module to deal with Telegram file ids
2020-11-20 01:22:01 +01:00
Dan
e4405db50d Fix senders wrongly being in sender_chat instead of from_user 2020-11-10 18:54:52 +01:00
Dan
80f8010d50 Add support for pinned messages in search_messages 2020-11-10 18:43:47 +01:00
Dan
418ad164a0 Update Message.author_signature docs 2020-11-08 13:54:25 +01:00
Dan
f832df14b4 Add parameter is_anonymous to the method promote_chat_member 2020-11-08 13:52:15 +01:00
Dan
e71bb87a2d Add is_anonymous attribute to ChatMember 2020-11-08 13:49:44 +01:00
Dan
abffef5d94 Add support for anonymous messages
Add Message.sender_chat attribute
2020-11-08 13:43:49 +01:00
Dan
fa24439ee3 Add support for InputMediaDocument in media groups 2020-11-08 13:39:43 +01:00
Dan
ebf2d68386 Add new method unpin_all_chat_messages 2020-11-08 13:21:40 +01:00
Dan
c7e4e55607 Add "bio" attribute in Chat objects 2020-11-08 13:01:23 +01:00
Dan
6027ee867f Fix broken Chat parsing for user/bot chats 2020-11-06 10:56:48 +01:00
Dan
888e296813
Merge pull request #528 from pyrogram/fixes
Collection of fixes
2020-10-31 19:30:41 +01:00
Dan
c139d78b34 Fix wrong imports in examples 2020-10-31 19:29:39 +01:00
Shrimadhav U K
a2b8658153
Add missing parameters in Message.reply_poll (#507) 2020-10-31 17:26:10 +01:00
Dan
1863900299 Fix of a small mess up 2020-10-31 17:15:47 +01:00
Shrimadhav U K
740bcd145a
Update creator ChatMember with admin permissions (#523) 2020-10-31 17:14:32 +01:00
NoamDev
62999772c2
Fix wrong comparison with a non-raw type (#525)
chatex.send now returns raw.types.Chat instead of types.Chat
2020-10-31 17:08:29 +01:00
GodSaveTheDoge
028e6ed04a
Make objects pickable by removing the _client attribute (#526) 2020-10-31 17:06:29 +01:00
Dan
e39ebdec82
Merge pull request #527 from pyrogram/L120
Update API schema to Layer 120
2020-10-31 16:56:27 +01:00
Dan
fe16dc8043 Allow sending audio playlists 2020-10-31 16:47:55 +01:00
Dan
832f1f6d53 Update pin/unpin_chat_message and Message.pin/unpin 2020-10-31 16:47:32 +01:00
Dan
431abd6a51 Merge branch 'L120' into L119
# Conflicts:
#	compiler/api/source/main_api.tl
2020-10-31 16:20:18 +01:00
M. Smits
332468d271
Enhance filters.me to allow it intercept own anonymous messages (#501)
* Check message.outgoing 'True' in me_filter.

* After reinterpretation of the ticket, check if user or outgiong.

Closes #499
2020-10-18 18:37:41 +02:00
Mahesh19
87f20a1ac2
Update examples for send_media_group.py (#481)
InputMediaPhoto and InputMediaVideo are under pyrogram.types
2020-10-18 18:00:17 +02:00
KILR
d41f8a66f0
Fix small typo (#502)
* Fix Typo

* No extra new line

* Update mime.types

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2020-10-18 17:59:36 +02:00
GodSaveTheDoge
00dd4bc403
Make Message.new_chat_photo downloadable (#508)
Fixes #364
2020-10-18 17:54:03 +02:00
Dan
dadb4b4eb6 Do not recalculate the md5 sum in case of chunk re-uploads 2020-10-17 17:07:32 +02:00
Dan
f3e515a2f2 Update emoji.py 2020-10-01 19:37:03 +02:00
Dan
4632879ee4 Changes for L119 2020-09-30 20:26:57 +02:00
Dan
3127edde68
Add missing method to the mixin
delete_user_history
2020-09-16 09:16:31 +02:00
Dan
ae88c851bb Fix sync callback progress not working properly for downloads
- Reduce duplicated code
- Fixes #484
2020-09-05 12:44:48 +02:00
Dan
58667d2ae8 Update Pyrogram to v1.0.7 2020-09-05 12:26:22 +02:00
Dan
44880f7efe Use the current loop instead of the main loop in case there is one available
#482
2020-09-02 13:07:56 +02:00
Dan
617f0c9b30 Set the main event loop in threads where there's no event loop
#480
2020-08-31 00:17:33 +02:00
Dan
be62ac365f Use a reasonable sleep threshold when downloading files 2020-08-30 22:19:55 +02:00
Dan
8f2e4f03b7 Fix access to invalid attributes when parsing a chat dc_id 2020-08-30 13:18:10 +02:00
Dan
fcc78091c2 Show warnings when messages are not compatible with as_copy 2020-08-30 11:34:23 +02:00
Dan
35ec328913
Update message.py 2020-08-30 11:23:42 +02:00
Dan
a18e0242fa Fix raw API not being properly imported when using repr/eval
Fixes #423
2020-08-30 11:17:20 +02:00
Dan
33d04b5916 Change default get/iter_chat_members filter to "recent" 2020-08-30 10:58:55 +02:00
Dan
6a5469edaf Don't attempt to retrieve chat attributes from empty messages
Fixes #479
2020-08-30 10:57:31 +02:00
Dan
84f6973bbb Update Pyrogram to v1.0.6 2020-08-29 17:28:55 +02:00
Dan
15bdb3de4f Attempt to fix clock issues when running on AWS Lambda 2020-08-29 17:28:39 +02:00
Dan
71bdfe6c40 Fix get_profile_photos not working correctly in case of no chat photos 2020-08-29 17:26:16 +02:00
Dan
2c99926825 Update Pyrogram to v1.0.5 2020-08-29 16:59:30 +02:00
Dan
5e3f2ab947 Replace monotonic() with perf_counter()
It seems like monotonic() goes out of sync after some time.
2020-08-29 16:58:49 +02:00
Dan
c689273167 Add force_document argument for send_document 2020-08-29 15:50:36 +02:00
Dan
92bc59e688 Fix dispatcher not obeying to the INFO logging level 2020-08-29 15:46:39 +02:00
Dan
4dd068643d Fix get_profile_photos not working properly in channels 2020-08-29 15:11:21 +02:00
Dan
899bd7bda3 Update Pyrogram to v1.0.4 2020-08-27 14:33:04 +02:00
Dan
cecf5a19a4 Add dc_id to Chat objects 2020-08-27 14:32:25 +02:00
Dan
50c6207099 Actually fix inline callback queries coming from different DCs 2020-08-27 14:12:51 +02:00
Dan
c0049ba43b Strictly check if sleep_threshold is None 2020-08-27 14:12:28 +02:00
Dan
d489157f22 Update Pyrogram to v1.0.3 2020-08-27 11:08:22 +02:00
Dan
582e29dece Allow passing sleep_threshold=0 to always raise flood waits 2020-08-27 10:59:28 +02:00
Mahesh0253
eed3221ecb
Fixed bad f-string (#476) 2020-08-26 19:46:19 +02:00
Dan
7719c49062 Update Pyrogram to v1.0.2 2020-08-26 09:14:24 +02:00
Dan
bab9359df8 Use a better way to document properties 2020-08-26 09:07:54 +02:00
Dan
f909e1e4ea Fix "invalid escape" warnings 2020-08-26 09:07:26 +02:00
Dan
7c987889f0 Add sleep_threshold parameter to send() method
- Decrease the default sleep threshold from 60 to 10 seconds
- Use a higher sleep threshold for generator methods
2020-08-26 09:01:01 +02:00
Dan
ebf222bbb7 Add the parameter hide_password to Client 2020-08-26 08:12:11 +02:00
Dan
c5dd474f93 Document undocumented properties 2020-08-26 08:10:34 +02:00
Dan
15f504a91f Fix captions being "None" for inline media results 2020-08-26 08:09:12 +02:00
Dan
f06562b73d Add missing await keywords 2020-08-26 07:43:57 +02:00
Dan
1fbe88d4b2 Update Pyrogram to v1.0.1 2020-08-25 14:18:29 +02:00
Dan
1311974fde Fix idle() not working in Windows
- Remove event-based idling
- Add back while-true-based idling
2020-08-25 14:17:39 +02:00
Dan
093d1e0dcb Fix filters.user and .chat breaking when no initial collection is passed 2020-08-25 14:08:53 +02:00
Dan
37edeb06b2 Update Pyrogram to v1.0.0 2020-08-25 12:07:08 +02:00
Dan
65b5229fe8 Use inspect's iscoroutinefunction, not asyncio's 2020-08-25 09:32:39 +02:00
Dan
b057dcb39d Small fixes around docs 2020-08-24 15:24:06 +02:00
Dan
01ec5d7f1d Fix a bad docstring indentation in filters.regex 2020-08-24 09:51:21 +02:00
Dan
3e3d77fdaf Implement short-circuit evaluation for filters
AND and OR operations will not evaluate the second operand
in case the first one is, respectively, False and True.
2020-08-24 09:20:10 +02:00
Dan
303712f599 Update docs 2020-08-22 16:09:38 +02:00
Dan
5f087e5f82 Use create_task instead of ensure_future 2020-08-22 14:05:54 +02:00
Dan
a822c51261 Update beta version 2020-08-22 11:30:42 +02:00
Dan
fbded4e23b Fix time going out of sync when starting new sessions 2020-08-22 11:26:11 +02:00
Dan
d7be2c90a1 Fix run() not dealing properly with coroutines 2020-08-22 09:50:37 +02:00
Dan
bc62b3f6ae Implement a way to deal with failing inline requests
This is due to Telegram raising an error in case bots not
in DC4 try to communicate with chats that live in DC4.
2020-08-22 09:22:14 +02:00
Accipiter7
23b1450f11
[Client] Fixed ImportError (#471) 2020-08-22 08:16:16 +02:00
Dan
538f1e3972 Deep rewrite: preparing for v1.0
- Pyrogram core is now fully asynchronous
- Ditched Python 3.5, welcome 3.6 as minimum version.
- Moved all types to pyrogram.types
- Turned the Filters class into a module (filters)
- Moved all filters to pyrogram.filters
- Moved all handlers to pyrogram.handlers
- Moved all emoji to pyrogram.emoji
- Renamed pyrogram.api to pyrogram.raw
- Clock is now synced with server's time
- Telegram schema updated to Layer 117
- Greatly improved the TL compiler (proper type-constructor hierarchy)
- Added "do not edit" warning in generated files
- Crypto parts are executed in a thread pool to avoid blocking the event loop
- idle() is now a separate function (it doesn't deal with Client instances)
- Async storage, async filters and async progress callback (optional, can be sync too)
- Added getpass back, for hidden password inputs
2020-08-22 08:05:05 +02:00
Dan
2f0a1f4119 Merge branch 'asyncio-dev' 2020-08-22 07:59:45 +02:00
CyanBook
faab2f451c
Update save_file to accept pathlib objects (#469) 2020-08-21 12:34:30 +02:00
Hasibul Kobir
ecab62ce84
Add support for both sync and async filters (#437)
* support for both sync and async filters

* Add whitespace for readability

* moving to handler.check for coroutine function

Ref: https://github.com/pyrogram/pyrogram/pull/437#discussion_r451626488

* add last line

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2020-08-21 07:33:24 +02:00
elandorr
ce0ddcddb2
Fix get_nearby_chats breaking with the new Layer (#446)
* fix for new format

This fixes the `AttributeError: 'PeerUser' object has no attribute 'channel_id'`.
Maybe we should also have a method to show nearby users?

* Update get_nearby_chats.py

Use isinstance instead of type

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2020-08-21 07:30:42 +02:00
CyanBook
c8c6faa96e
Change logging hierarchy for loading plugins (#451)
Loading plugins shouldn't be considered a warning
2020-08-21 07:28:27 +02:00
CyanBook
2e08266f56
Update reply_* bound methods to support BinaryIO (#458)
reply_* bound methods weren't added to handle BinaryIO object, now they are.
2020-08-21 07:24:13 +02:00
Yusuf_M_Thon_iD
b95587ed31
Small fixes on example docs (#460) 2020-08-21 07:23:33 +02:00
marcosrandulfegarrido
879e0bfc2d
Fix some syntax errors that are causing errors on python pip package distribution (#467)
Fix some syntax errors that are causing errors on python pip package distribution
2020-08-21 07:22:49 +02:00
CyanBook
3bc96b4193
Add support for compiled patterns in Filters.regex (#468)
* Add support for compiled patterns in Filters.regex and remove extra whitespaces

* Update filters.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2020-08-21 07:21:53 +02:00
Princic-1837592
4df9357b48
Added Filters.all (#464)
Useful filter to use as default value when extending Handler class
2020-08-20 16:38:54 +02:00
Dan
55fc4faf34 Merge branch 'develop' into asyncio-dev
# Conflicts:
#	pyrogram/__init__.py
2020-07-29 23:26:18 +02:00
Dan
68a0119c09 Update Pyrogram to v0.18.0 2020-07-29 22:46:12 +02:00
Dan
6608a8d1dc Merge develop -> asyncio-dev 2020-07-29 22:40:59 +02:00
Dan
0edf08245b Add mention to football dice 2020-07-28 17:38:58 +02:00
ColinShark
c5b7a365af
Add message.link attribute/property (#442)
* Add message.link attribute

Adds the functionality to access the message link.
Either as `t.me/c/` or `t.me/username` format.

* Change message.link logic

Property now has a returned type, list is a tuple and
we use `utils.get_channel_id` to not rely on str.replace

* Update message.py

- Prepend https:// like official clients do
- Use .format()

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2020-07-27 15:30:49 +02:00
Said
d3a34f1084
Add file_name parameter in edit_message_media method (#440)
* ability to change file_name in editmessagemedia method

* ability to change file_name in editmessagemedia method

* ability to change file_name in editmessagemedia method

* Update edit_message_media.py

* Update input_media_document.py

Co-authored-by: GadzhievSA <s.gadzhiev@id-mt.ru>
Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2020-07-27 15:21:42 +02:00
Dan
b16c5d5fa3 Update Pyrogram's sticker file id 2020-07-27 15:12:24 +02:00
Dan
516e0a13d5 Simplify None checks for file uploads 2020-07-27 15:06:18 +02:00
Dan
b745ce95ed Remove set_chat/profile_video 2020-07-27 15:03:23 +02:00
Dan
d5fc21e6f4 Get the proper biggest photo size 2020-07-27 14:27:09 +02:00
Dan
293e63008b Add set_chat_video method 2020-07-27 13:42:27 +02:00
Dan
8a14f58421 Allow uploading chat photos using BytesIO objects 2020-07-27 13:33:17 +02:00
Dan
2034a785f4 Add set_profile_video method 2020-07-27 13:00:31 +02:00
Dan
9a8057074b Allow uploading profile photos using file-like objects 2020-07-26 23:18:26 +02:00
Dan
b29c5fdc69 Force document when using send_document 2020-07-26 20:23:58 +02:00