Commit Graph

2377 Commits

Author SHA1 Message Date
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
Mendel E
c27f811620 Add parse_mode property to Client (#443)
* Add parse_mode property to Client

This breaks set_parse_mode

* Add back set_parse_mode for backwards compatibility
2020-07-21 04:07:21 +02:00
Mendel E
589be97166
Add parse_mode property to Client (#443)
* Add parse_mode property to Client

This breaks set_parse_mode

* Add back set_parse_mode for backwards compatibility
2020-07-21 04:04:24 +02:00
Dan
834d34363f Merge branch 'develop' into asyncio-dev 2020-07-17 18:30:52 +02:00
Dan
d12ef5272f Merge branch 'properties' into develop 2020-07-17 18:30:29 +02:00
Dan
aa078f103c Merge develop -> asyncio-dev 2020-07-17 13:43:10 +02:00
Dan
2504286365 Do not reload plugins from disk
Reloading from disk causes modules to be re-evaluated, and this is
often not desirable. This will break the ability to hot reload plugins
2020-07-17 13:41:24 +02:00
Alisson Lauffer
531069b1e2
Some fixes and speed improvments (#439)
* Use raw string for re pattern

* Trim trailing whitespaces from docstrings and code

* Use isinstance() instead of type() for typechecking

* Remove unused imports
2020-07-12 06:43:30 +02:00
Florent Gallaire
fd944677c7 Add chat.id 2020-07-09 01:49:38 +00:00
Dan
f43165b211 Merge develop -> asyncio-dev 2020-07-09 03:03:52 +02:00
Dan
b3faf21c95 Rework in-memory uploads 2020-07-09 02:56:09 +02:00
Dan
de8f784f78 Use better checks for local and external files 2020-07-09 02:24:01 +02:00
Dan
4a8e6fb855 Cleanup 2020-07-09 02:24:01 +02:00
Octo
6b2d6ffacf Fix send_voice 2020-07-09 00:00:08 +02:00
Yan
3ec5f76b10 Fix TypeError in send_sticker 2020-07-09 00:00:08 +02:00
Yan
2e846f83ec Annotate file-like objects in docstring of send_video 2020-07-09 00:00:08 +02:00
Yan
4c9fee525e Annotate file-like objects in docstring of send_sticker 2020-07-09 00:00:08 +02:00
Yan
173e08015a Annotate file-like objects in docstring of send_document 2020-07-09 00:00:08 +02:00
Octo
c13392d2ce Add support for uploading from file pointers, fixes https://github.com/pyrogram/pyrogram/issues/261 2020-07-09 00:00:08 +02:00
Octo
1e8c9812a1 Add support for downloading files to file pointer, fix for https://github.com/pyrogram/pyrogram/issues/284 2020-07-08 23:59:02 +02:00
Dan
74e5a5a5e1 Add Mention link 2020-07-08 23:37:24 +02:00
Dan
55d0b93cf0 Extend set_slow_mode to accept None 2020-07-08 17:16:06 +02:00
Dan
476b6b022f Merge branch 'asyncio-dev' of https://github.com/pyrogram/pyrogram into asyncio-dev 2020-07-06 16:07:40 +02:00
Dan
6d4b2c0bb5 Merge branch 'develop' into asyncio-dev 2020-07-06 16:07:19 +02:00
Dan
37d823f579 Fix linked chat parsing
There are two distinct ChatFull types using the same
name (but different namespaces), their objects are kept
in chat_full and full_chat.
2020-07-06 16:07:06 +02:00
Dan
c196b90c9d
Allow uploading files up to 2000 MiB in size 2020-07-06 15:55:11 +02:00
Ripe
dd9b55f256
Update inline_query_result_animation.py (#435)
add missing await
2020-07-02 13:27:29 +02:00
Florent Gallaire
4aaa7160f0 Send a warning instead throwing an exeption when message type is not compatible with as_copy 2020-06-15 05:19:45 +00:00
Dan
ff012ecd1c Merge branch 'develop' into asyncio-dev 2020-06-11 22:04:59 +02:00
Dan
2adc01be7f Remove unneeded file_ref arg from Message.download 2020-06-11 22:04:27 +02:00
Dan
d8dfac7e89 Merge develop -> asyncio-dev 2020-06-06 13:10:03 +02:00
Dan
dd5bd80017 Remove unneeded code
Closes #414
2020-06-06 12:31:25 +02:00
Dan
6a898803db Merge branch 'develop' into asyncio-dev
# Conflicts:
#	pyrogram/session/session.py
2020-06-02 13:06:53 +02:00
Dan
7df85e2039 Show more relevant information when DEBUG logs are enabled
Show exactly what is being sent and received
2020-06-02 13:05:26 +02:00
Dan
f4d075597f Add missing async/await 2020-05-28 22:19:15 +02:00
Dan
c5af9cbc42 Merge branch 'develop' into asyncio-dev
# Conflicts:
#	pyrogram/client/parser/html.py
2020-05-28 15:44:22 +02:00
Dan
d82e9468f0 Strip whitespace characters from the end of the message
but preserve closing tags
2020-05-28 15:43:42 +02:00
Dan
c0b38ff010 Merge develop -> asyncio-dev 2020-05-25 16:32:04 +02:00
Dan
e30b9c5255 Fix small typos 2020-05-23 15:03:52 +02:00
Dan
4a9cfa42de Make CallbackQuery.answer optional arguments actually optional 2020-05-23 15:01:29 +02:00
SuperCz1
d93b9275f3
Bugfixes in chat.py (#411)
- Fixed this bug: https://t.me/pyrogramchat/169553 (which was caused because pyrogram trying to parse linked_chat even if it was None).

- Fixed another related bug (which was caused because pyrogram trying to get linked_chat_id even with basic groups causing an AttributeError).
2020-05-23 14:52:14 +02:00
Dan
d5a18eb063 Add search_global method 2020-05-23 14:50:14 +02:00
Dan
bb89e949e8 Update send_dice: add basketball "dice" 2020-05-23 13:43:25 +02:00
Dan
4add83c7a8 Merge branch 'develop' into asyncio-dev
# Conflicts:
#	pyrogram/client/methods/messages/send_audio.py
2020-05-16 14:40:59 +02:00
Dan
24f8032627 Merge remote-tracking branch 'origin/develop' into develop 2020-05-16 14:40:28 +02:00
Dan
5b94c340c0 Fix Filters.regex failing in case the value is None 2020-05-16 14:40:22 +02:00
demget
0c83fa09a6
Add file_name param to file-related functions (#308) 2020-05-16 12:33:21 +02:00
Eric Solinas
22eb42e1f3 Add Filter.linked_channel
* filter messages coming from the channel connected to the chat

* Update filters.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2020-05-16 12:26:18 +02:00
Dan
0e95e3620c Merge remote-tracking branch 'origin/asyncio-dev' into asyncio-dev 2020-05-16 01:34:13 +02:00
Dan
d50322a3f5 Merge develop -> asyncio-dev 2020-05-16 01:33:42 +02:00
Dan
efc92715cc Remove Filters.callback_data (superseded by Filters.regex)
@ColinTheShark say goodbye, thanks.
2020-05-16 00:40:05 +02:00
Dan
27d5caf40e Give Filters.regex superpowers
Basically make it work on Message, CallbackQuery and InlineQuery updates
2020-05-16 00:35:05 +02:00
Cezar H
e4028fa6a7
Add missing await (#403)
await client.send_poll(...) was returning a coroutine instead of the Message object
2020-05-14 11:56:58 +02:00
Dan
0556efa26b Add support for joining linked chats with the .join() bound method 2020-05-07 15:46:31 +02:00
Dan
12ce0a33c1 Add linked chats to Chat objects 2020-05-07 14:57:28 +02:00
Dan
db4a00da36 Merge develop -> asyncio 2020-05-07 13:39:48 +02:00
Dan
128ab4b0b9 Move the automatic sleep mechanism down to Session 2020-05-07 13:38:22 +02:00
Dan
74674cd615 Merge develop -> asyncio 2020-05-07 13:00:03 +02:00
Dan
99aee987bd Add an automatic sleep mechanism for flood wait exceptions 2020-05-07 12:53:45 +02:00
SuperCz1
c05c5c4441
Add session name in "Sleeping for Xs" log lines (#401)
* Update send_media_group.py

* Update get_dialogs.py

* Update get_dialogs.py

* Update get_messages.py

* Update get_history.py

* Update get_chat_members.py
2020-05-07 11:35:08 +02:00
CyanBook
88e42ecc0d
Update update_profile example (#395) 2020-05-04 12:55:10 +02:00
Dan
48e45fee9b Add missing update_profile to docs and Client 2020-05-02 21:18:58 +02:00
Dan
4ff924bcfb Update Pyrogram to v0.17.1 2020-05-02 21:17:22 +02:00
Dan
fd4bd754cc Add missing update_profile to docs and Client 2020-05-02 21:16:52 +02:00
Dan
2f3dc3f39e Merge branch 'develop' into asyncio-dev
# Conflicts:
#	pyrogram/__init__.py
2020-05-02 21:02:40 +02:00
Dan
dd9423bbb1 Update Pyrogram to v0.17.1 2020-05-02 21:02:06 +02:00
Dan
20de3fccdf Fix Match objects not being properly printed in Python 3.6 2020-05-02 15:01:15 +02:00
Dan
75bfa04f3f Merge branch 'develop' into asyncio-dev
# Conflicts:
#	pyrogram/client/client.py
2020-05-01 18:46:45 +02:00
Dan
78ed83ebf7 Fix plugins not being properly unloaded
Also, plugins' roots values will follow python notation: folder.plugins
instead of folder/plugins, in case of roots inside another folder.
2020-05-01 18:45:52 +02:00
Dan
23789393fe Fix missing async/await for set_slow_mode 2020-05-01 16:37:03 +02:00
Dan
45c6df45e9 Merge branch 'develop' into asyncio-dev
# Conflicts:
#	pyrogram/__init__.py
2020-04-30 11:55:03 +02:00
Dan
dd9c4801ed Merge remote-tracking branch 'origin/develop' into develop 2020-04-30 02:43:42 +02:00
Dan
858f82fd88 Update Pyrogram to v0.17.0 2020-04-30 02:43:23 +02:00
Dan
0257fb79c5 Merge develop -> asyncio-dev 2020-04-26 15:14:53 +02:00
MIRROR
22c29791c8
Fix the type hint of Message's web_page (#392) 2020-04-26 12:59:58 +02:00
Dan
8c2dd9d1c3 Fix ttl_seconds and thumbs not being optional 2020-04-26 12:21:10 +02:00
Dan
5b042a6546 Add support for darts mini-game with send_dice 2020-04-24 15:51:40 +02:00
Dan
4526a644dd Fix scheduled forward messages not being parsed correctly 2020-04-23 13:02:55 +02:00
Dan
e42d6acc08 Add support for scheduled forward messages 2020-04-23 12:54:52 +02:00
Dan
72e150ca13 Add ttl_seconds field to Video objects 2020-04-20 22:40:39 +02:00
Dan
944c6153b9 Merge branch 'develop' into asyncio-dev
# Conflicts:
#	pyrogram/client/methods/chats/restrict_chat_member.py
#	pyrogram/client/methods/chats/set_chat_permissions.py
2020-04-12 19:39:15 +02:00
Dan
99604baaf4 Update restrict_chat_member and set_chat_permissions methods 2020-04-12 13:42:00 +02:00
Dan
ef5fa8f70b Fix message entities being kept unparsed for private messages
Closes #386
2020-04-12 13:30:59 +02:00
Dan
c99a9ad2b4 Merge develop -> asyncio-dev 2020-04-10 13:45:15 +02:00
Dan
374dc6d143 Add search_messages method 2020-04-10 13:37:11 +02:00
Dan
91ebe5f2a8 Fix object decoder breaking on re.Match objects 2020-04-08 23:29:32 +02:00
Dan
2444f44948 Merge branch 'develop' into asyncio-dev 2020-04-06 16:09:53 +02:00
Dan
3e900214f4 Pass the required file_reference when editing media messages 2020-04-06 16:09:35 +02:00
Dan
1b0b467d7b Fix iter_members not working properly as async generator 2020-04-06 16:05:21 +02:00
Dan
570cb888b2 Merge develop -> asyncio-dev 2020-04-06 14:54:55 +02:00
Real Phoenix
207d451a01 Add more Chat bound methods (#383)
* Add more bound methods

Bound methods for get_chat_member, get_chat_members, iter_chat_members, add_chat_members

* Update compiler.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2020-04-06 14:51:40 +02:00
Real Phoenix
c1a835b74e
Add more Chat bound methods (#383)
* Add more bound methods

Bound methods for get_chat_member, get_chat_members, iter_chat_members, add_chat_members

* Update compiler.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2020-04-06 14:22:38 +02:00
Dan
850b79315f Fix ttl_seconds not being parsed correctly 2020-04-04 23:47:09 +02:00
Dan
6dbd842106 Merge develop -> asyncio-dev 2020-04-03 17:19:06 +02:00
Dan
fa157b59f1 Add support for ChosenInlineResult objects 2020-04-03 17:15:28 +02:00
Dan
a54cd2e4fc Add ttl_seconds to Photo objects 2020-04-02 13:55:47 +02:00
Dan
2046768a5e Fix wrong reported type 2020-04-01 20:07:22 +02:00
Dan
3cf758433d Add missing await keywords 2020-03-30 18:35:50 +02:00
Dan
aa6c935d83 Merge develop -> asyncio-dev 2020-03-30 17:45:18 +02:00
Dan
8681ca2043 Don't spawn unnecessary threads when no_updates=True 2020-03-30 17:33:28 +02:00
Dan
2ba921c84d Workaround the occasional delayed stop of a Client instance 2020-03-30 16:59:22 +02:00
Dan
b9c50b0ae0 Add extended chat permissions 2020-03-30 15:24:07 +02:00
Dan
75ad20bc57 Fix wrong lines emphasize 2020-03-30 14:39:36 +02:00
Dan
42cd135009 Add missing download_media progress example 2020-03-30 14:39:16 +02:00
Dan
746a6eb477 Add support for Dice objects
- add send_dice
- add Dice class
2020-03-30 14:38:57 +02:00
Dan
1b15b1e3b8 Clarify docs 2020-03-30 11:19:58 +02:00
Yusuf_M_Thon_iD
b913590cea
add missing file_ref in set_chat_photo (#369) 2020-03-21 16:03:54 +01:00
trenoduro
a2652f02b5
Fix RPCError 400 QUIZ_CORRECT_ANSWER_EMPTY (#367)
* Fix RPCError 400 QUIZ_CORRECT_ANSWER_EMPTY

* Fix RPCError 400 QUIZ_CORRECT_ANSWER_EMPTY
2020-03-21 16:03:29 +01:00
Dan
1996fb1481 Update Copyright 2020-03-21 15:43:32 +01:00
Dan
f867c66083 Fix stop_transmission example 2020-02-26 23:31:01 +01:00
Dan
28cee8d01f Do not ever use "recent" filtering automatically
That code existed to improve members fetching performance
for channels/supergroups with less than 10k+1 members, but
it was causing troubles when fetching members based on a
query string and for channels with less than 10k+1 subscribers
2020-02-20 20:41:08 +01:00
Dan
7be86f8ea3 Update development version 2020-02-20 20:07:00 +01:00
Dan
9e0868dd77 Merge remote-tracking branch 'origin/develop' into develop 2020-02-20 13:55:03 +01:00
Dan
73d9af51ef Don't use the "recent" filter when passing a query argument 2020-02-20 13:54:51 +01:00
Dan
df5de3e583
Revert "Add missing file_ref in set_chat_photo (#343)" (#366)
This reverts commit e316d18bf4.
2020-02-04 17:03:33 +01:00
trenoduro
fde76f0e11
Fix 'Client' object has no attribute 'export_invite_link (#365) 2020-02-04 17:01:44 +01:00
Dan
062a6ce6dd Fix AttributeError raising when receiving ChatParticipantsForbidden 2020-02-03 14:51:53 +01:00
Dan
d9cb9c59bf Allow start/restart being used inside handlers with block=False 2020-02-01 16:19:28 +01:00
Dan
51f88ef1bf Revert "Allow stop, restart and add/remove_handler to be non-blocking"
This reverts commit 8e9e8b4a
2020-02-01 16:05:58 +01:00
Dan
ce93f0ac64 Fix set_administrator_title giving full permissions 2020-02-01 16:01:41 +01:00
Dan
9618bbc242 Add missing word in sentence 2020-02-01 15:52:49 +01:00
Dan
d4e6ab3acb Fix incorrect link to handlers.html 2020-02-01 15:51:01 +01:00
Dan
1d0e110126 Fix wrong type hint in docs for send_photo 2020-02-01 15:49:07 +01:00
Dan
af2035951a Update Poll object for Polls 2.0 2020-02-01 15:39:28 +01:00
Dan
aa1c0e226e Update vote_poll to allow voting for multiple options 2020-02-01 15:21:35 +01:00
Dan
88f681f0fd Update send_poll to allow multiple answers, public voting and quiz 2020-02-01 15:19:52 +01:00
Dan
2bf6357bad Show more meaningful errors for wrapped queries 2020-02-01 15:19:05 +01:00
Dan
531423ae1c Update copyright year 2020-02-01 14:17:32 +01:00
Eric Solinas
42f09cd361
Add missing file_ref argument to bound methods (#347) 2020-02-01 14:13:07 +01:00
Yusuf_M_Thon_iD
e316d18bf4
Add missing file_ref in set_chat_photo (#343) 2020-02-01 14:10:46 +01:00
trenoduro
78cba0489a
Fix stop_poll() (#339) 2020-02-01 14:08:21 +01:00
Dan
42c9bafa0c Update copyright notice 2020-02-01 14:04:33 +01:00
Dan
ac8fad3a18 Fix plugin modules not being properly reloaded from disk
When using importlib.import_module, Python loads the module from disk
only once and any subsequent call to this method will just re-import
the already loaded module from RAM. Wrapping importlib.import_module
with importlib.reload will make Python force-reload the module from
disk.
2020-01-16 22:01:10 +01:00
Dan
0f84f91939 Fix bound method Chat.restrict_member. Closes #351 2019-12-30 11:11:02 +01:00