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
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
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