Commit graph

451 commits

Author SHA1 Message Date
Dan
ecc90caba2 Handle edited messages using a separate handler 2022-04-24 11:56:07 +02:00
Dan
0e3c2e4412 Rename RPCError.x to RPCError.value 2022-04-24 11:56:07 +02:00
Dan
68f151bad5 Merge changes 2022-04-24 11:56:07 +02:00
Dan
405528c74b Revamp get_chat_members related methods 2022-04-24 11:56:07 +02:00
Dan
84f0b3a97a Rename some enums 2022-04-24 11:56:07 +02:00
Dan
bbc109d73e Remove unused method 2022-04-24 11:56:07 +02:00
Dan
04eef09097 Don't fetch reply-to messages in search_messages 2022-04-24 11:56:07 +02:00
Dan
d1bdaae81d Add methods related to discussion threads and comments 2022-04-24 11:56:07 +02:00
Dan
bf8a334e32 Revamp get_chat_history related methods 2022-04-24 11:56:07 +02:00
Dan
41f16a17c9 Fix filters.command not working with multiple running bots
Closes #864
2022-04-24 11:56:07 +02:00
Dan
78efb04b40 Rename Client.send to Client.invoke 2022-04-24 11:56:07 +02:00
Dan
32624ef5e6 Improve type hints 2022-04-24 11:56:06 +02:00
Dan
274650cda9 Rename Message.message_id to Message.id 2022-04-24 11:56:06 +02:00
Dan
b697826b5a Replace integer timestamps with datetime objects 2022-04-24 11:56:06 +02:00
Dan
bbad58a83f Add enumerations 2022-04-24 11:56:06 +02:00
Dan
9661b804b6 Revamp ChatMember, add ChatPrivileges and support for banned chats 2022-04-24 11:56:06 +02:00
Dan
976c2c47a2 Rename update- to set_username and set_chat_username 2022-04-24 11:56:06 +02:00
Mahesh
1c225776c9
Removed unnecessary create_task (#706) 2022-04-15 13:55:03 +02:00
Marco Burro
7a5ab4bffa
Fix inline query results typing (#958) 2022-04-15 11:35:21 +02:00
Shohih Abdul
acc2c72d6d
Improve type hinting for join_chat method (#957) 2022-04-14 20:34:55 +02:00
Dan
0c0a4b5a5c Remove unneeded parameter hide_via from send_inline_bot_result 2022-04-11 15:17:16 +02:00
Dan
7bfcd5ac5f Revamp bot commands and bot command scopes
Closes #777
2022-03-28 13:23:12 +02:00
Andrea Maugeri
aa41ac5fd2
Fix issue in set_bot_commands (#778) 2022-03-28 11:48:15 +02:00
Dan
8ee5ea02b1 Update pin_chat_message to return Message instead of bool 2022-03-19 20:57:17 +01:00
blank X
e0eccfa8fb
Respect file_name if file passed is a file object (#912)
Fixes #911
2022-02-26 11:13:08 +01:00
Roj
f1298dfdc6
Add video_start_ts parameter to set_chat_photo (#770)
* Add `video_start_ts` parameter to `set_chat_photo`

* Docstrings update

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2022-01-29 14:08:15 +01:00
Danipulok
10c512d39c
Remove unnecessary method call in get_media_group (#860) 2022-01-11 16:42:04 +01:00
Dan
fbdc6613f2 Fix can_send_other_messages permission being inverted
Fixes #868
2022-01-10 14:31:17 +01:00
SUBIN
1d7c57e669
Add missing parameter protect_content (#859) 2022-01-07 17:05:34 +01:00
Dan
626a1bd938 Update copyright year 2022-01-07 10:23:45 +01:00
Dan
8c8288412f Various improvements 2022-01-07 10:18:51 +01:00
Dan
80d0966691 Merge branch 'set-chat-protected-content' 2022-01-07 09:51:47 +01:00
Dan
ac3d2b8d7a Rename methods and add proper docs 2022-01-05 12:50:44 +01:00
Fernando Werneck
b283bce262
Add No Forwards chat option (#839)
* Add No Forwards chat option

* Fix chat.py
2022-01-05 12:37:25 +01:00
Dan
f6625192d0 Add parameter protect_content to send_* methods 2022-01-03 11:12:24 +01:00
Dan
1fa637553d Add method send_reaction 2021-12-30 13:43:44 +01:00
Dan
a3fab6af4b Merge branch 'mtproto-checks'
# Conflicts:
#	pyrogram/errors/__init__.py
#	pyrogram/session/session.py
2021-12-24 16:28:29 +01:00
Dan
9a2bc25bc7 Add support for "send_as" chats
- Add methods get_send_as_chats() and set_send_as_chat()
- Add field Chat.send_as_chat
2021-12-23 16:53:03 +01:00
Dan
e8076d1b8a Add method get_discussion_message 2021-12-22 15:00:03 +01:00
Dan
2024b3c120 Rename kick(ed) occurrences to ban(ned) 2021-12-22 14:39:52 +01:00
Dan
d103ae48fe Add support for ChatJoinRequest events 2021-12-22 14:34:12 +01:00
Dan
7d917f43e5 Add approve/decline_chat_join_request 2021-12-22 14:12:57 +01:00
Dan
29b4615848 Update create/edit_chat_invite_link 2021-12-22 14:08:24 +01:00
Adek
6fb427fb9a
Add new chat actions (#751)
* Add new chat action

* Update send_chat_action.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-12-17 10:41:39 +01:00
Dan
a720726479 Remove unneeded assertion 2021-12-16 21:05:01 +01:00
Abir Hasan
cebecb99c0
Fix renamed raw API function (#810)
`raw.functions.channels.DeleteUserHistory` to `raw.functions.channels.DeleteParticipantHistory`
2021-12-13 13:20:55 +01:00
Dan
804d00fa0f Update get_me.py 2021-11-26 18:07:28 +01:00
Dan
2265d282f5
Add search_global_count and search_messages_count methods (#768) 2021-10-11 14:27:31 +02:00
Dan
09c8289259
Update iter_dialogs.py
Closes #749 #750 #756
2021-09-15 17:55:01 +02:00
Md. Hasibul Kabir
e68da74e89
Further improve the session-switching mechanism for inline bots (#739)
* Ability to run multiple bot.

Global session creates a problem for other bot. As that session was generated for another bot can't be used by this bot.

* Use the existing media session lock

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-08-29 10:49:47 +02:00
DatDraggy
aea1ffc46f
Fix old non existing can_send_[sticker...] with can_send_other_messages (#746)
c9d0c5d75a
2021-08-29 08:38:32 +02:00
Jonathan
99e152a67c
Fix accessing non-existent attribute (#747)
This should solve the error `AttributeError: 'ChatParticipantsForbidden' object has no attribute 'participants'` and apply the commit 062a6ce6dd on this file, too.
2021-08-28 14:40:10 +02:00
Dan
91e0a08945 Merge branch 'chat-permissions-others' 2021-06-01 13:58:28 +02:00
Dan
523ed3e7cb Add support for in-memory uploads in send_media_group (#519)
* Add support for in-memory uploads for send_media_group

* update input_media_photo docs

* update type hints

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-06-01 13:57:31 +02:00
Dan
c9d0c5d75a Sync chat permissions with official clients 2021-05-31 20:23:32 +02:00
Christy Roys
0d12d8c1bb
Add support for in-memory uploads in send_media_group (#519)
* Add support for in-memory uploads for send_media_group

* update input_media_photo docs

* update type hints

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-05-22 10:00:23 +02:00
Ripe
be83f8e25e
Actually fix inline message id invalid (for inline message queries) (#683)
* Fix Inline Message ID Invalid

* Update inline_session.py

* Update inline_session.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-05-15 07:06:37 +02:00
Dan
dd32854db4 Squashed commit of the following:
commit d6dcf98d7445cbdc2a036deca57207c14bc354fc
Author: Dan <14043624+delivrance@users.noreply.github.com>
Date:   Wed May 12 09:35:18 2021 +0200

    Rename get_chat_onlines to get_chat_online_count

commit 21ff2a39d856ebc939ce9b15810198c82a9c23c6
Merge: 808c629f 29701a3a
Author: Dan <14043624+delivrance@users.noreply.github.com>
Date:   Wed May 12 09:32:59 2021 +0200

    Merge branch 'master' into get-chat-online-count

commit 808c629f43b185bc0df8337a82f5ecc860bbdb94
Author: Andriel Rodrigues <andrielkogama2@gmail.com>
Date:   Wed May 12 04:28:53 2021 -0300

    Add get_chat_online_count method (todo) (#654)
2021-05-12 09:39:51 +02:00
Gaetano
a4bb2a3fdf
Fix typo in send_video examples (#679) 2021-05-12 09:13:19 +02:00
Dan
0c46b653ec Remove unneeded check 2021-05-12 08:31:08 +02:00
Mahesh
fd04648ea0
Add support for editing inline messages' media using local files (#675)
* Fix edit_inline_media for local files

* Update edit_inline_media.py

* Update edit_inline_media.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-05-12 08:29:49 +02:00
Jonathan
293e852afd
Add new method set_bot_commands (#657)
* a new method set_bot_commands

* Delete bot_commands_list.py

* Update set_bot_commands.py

* Update __init__.py

* Update set_bot_commands.py

* Update set_bot_commands.py

* Update bot_command.py

* Update set_bot_commands.py

* Update set_bot_commands.py

* Update compiler.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-05-11 10:22:17 +02:00
Danipulok
ecd83c594c
Fixed method Client.get_media_group (#619)
* Fixed method

* Added exception in case message_id is invalid

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-05-09 12:43:23 +02:00
Danipulok
429b871171
Add method Client.copy_media_group (#592)
* Add method client.copy_media_group

* -updated wrong variable names

* Replace  with

* Update copy_media_group.py

* Update copy_media_group.py

* Update compiler.py

* Update copy_media_group.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-05-09 12:39:49 +02:00
Dan
97bd544333 Fix save_file path argument docs.
Closes #671
2021-05-05 14:18:26 +02:00
Dan
928c8acd01 Fix iter_profile_photos wrong hinted return type 2021-05-03 20:58:37 +02:00
Dan
add492c1be Show the signal name instead of the number 2021-04-15 12:04:43 +02:00
Dan
50d1f30ac1 Add missing reply_markup for outgoing bot private messages
Fix #656
2021-03-29 14:14:19 +02:00
Leorio Paradinight
77ab7bffe7
Fix Layer 126 changes [user_id -> participant] (#648) 2021-03-25 15:31:31 +01:00
Dan
da697aec13 Fix messed up method names 2021-03-21 22:42:16 +01:00
Dan
808346f15b Fix wrong example due to a method rename 2021-03-21 22:13:41 +01:00
Dan
b1dc0315a1 Update API schema to Layer 126 2021-03-21 21:52:37 +01:00
Dan
c971616808 Add add_contact, improve delete_contacts and import_contacts 2021-03-20 10:13:40 +01:00
Dan
54ad043a70 Add get_chat_invite_link method 2021-03-18 18:33:11 +01:00
Dan
c7914f6c57 Allow stackable plugin decorators for on_chat_member_updated 2021-03-17 20:10:09 +01:00
Jonathan
f0b1cc41f3
Allow decorators in plugins to be stacked (#642)
This allows registering the same callback function more than once by using different handlers.
2021-03-17 20:07:54 +01:00
Dan
2eb7ab2f6e Add support for user mentions inside inline query results 2021-03-17 17:26:51 +01:00
Dan
182768a5d3 Add support for LoginUrl buttons 2021-03-17 17:13:55 +01:00
Dan
a94c3bb465 Add support for invite link chat log events (edit, revoke, delete) 2021-03-17 16:04:34 +01:00
Dan
1c52d21d65 Minor document fixes 2021-03-17 15:42:54 +01:00
Dan
ddb2d84f96 Add support for can_manage_chat permission 2021-03-17 15:19:36 +01:00
Dan
dff3d993e1 Add support for updates about chat member status changes 2021-03-17 15:11:23 +01:00
Dan
86cc1837b6 Add support for the new bowling animation (dice) 2021-03-17 15:09:04 +01:00
ColinShark
ee5f39374c
Add support for the improved Invite Links (#639)
* Add new invite link export methods

* Implement higher-level Invite type

* Update Docstrings and rename Invite

* Docstrings are now more consistent with other methods
* Invite is now InviteLink to be less arbitrary

* Add method to get exported links

* `get_exported_chat_invites`
* prepare `__init__` for the other InvitesV2 methods

* Update returned type

`str` -> `types.InviteLink`

* Add method to edit invite link

Since editing the link returns a slightly different type to exporting,
I have made a small "hack" in the InviteLink type.

* Move Invites V2 methods to their own namespace

* Add get_chat_invite_importers and InviteImporter

Method to fetch information on users that joined via a specific link and
the type to display the information

* Add methods to delete revoked links

* delete_exported_chat_invite to delete a single revoked link
* delete_revoked_exported_chat_invites to delete all revoked links of a
specified admin

* Renaming Invite(s) to InviteLink(s)

As per @delivrance's request
https://github.com/pyrogram/pyrogram/pull/630#issuecomment-791893890

Also sorted invites' __init__ alphabetically

* Add Method to get admins with exported invite link

Documentation needs an update and the respective type needs to be
created. I cannot test this, as I lack Creator permissions.

* Invite Links overhaul

* Rearrange code

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-03-17 12:40:36 +01:00
Tuqay Abdullazade
42b1865743
Use a shorter if-expression (#621) 2021-03-17 12:37:56 +01:00
Dan
2db8256276 Update offset by the amount of messages retrieved 2021-03-14 12:30:57 +01:00
Dan
6daa501972 Add a friendly interface for getting chat event logs
Add get_chat_event_log method
Add ChatEvent and ChatEventFilter types
2021-03-06 10:22:19 +01:00
Dan
b5c39121c3 Small code and docs fixes 2021-03-06 10:22:16 +01:00
Dan
2154872acb Add can_manage_voice_chats to admin permissions 2021-02-27 20:35:49 +01:00
Krishna-singhal
1bba5cad54
Fix small typo in copy_message()'s examples (#588) 2021-01-29 12:47:52 +01:00
Dan
f9a129ab5f Fix wrong emphasize lines 2021-01-18 07:29:51 +01:00
ポキ
54b92c0892
Fix issues with global_search(): add the filter parameter (#589)
* this commit will fix issues with global_search()

I was recently getting this error on app.global_search() method:
```
  File "/home/poki/.local/lib/python3.8/site-packages/pyrogram/methods/messages/search_global.py", line 71, in search_global
    raw.functions.messages.SearchGlobal(
TypeError: __init__() missing 3 required keyword-only arguments: 'filter', 'min_date', and 'max_date'
```

Suprisingly no one has opened an issue for this except me.

Here is the context: https://t.me/pyrogramchat/281087

I personally use this method to fetch my global searches into my userbot with is an actual bot. little hacky >_o

* Added filter= parameter

- An Optional Parameter for global search

* Update search_global.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-01-14 21:49:51 +01:00
Krishna-singhal
79583a29fc
Remove obsolete example from docs (#576) 2021-01-10 16:00:38 +01:00
Ripe
38d60f5e10
Fix DC sessions for inline message edits (#585) 2021-01-10 15:59:27 +01:00
Dan
51f771457c Fix captions not being preserved when editing media 2021-01-08 09:02:29 +01:00
Dan
7dda167c09 Update copyright notice
Year 2021
2021-01-01 22:58:48 +01:00
Dan
91ec6ebf1b Merge branch 'develop' of https://github.com/pyrogram/pyrogram
 Conflicts:
	pyrogram/methods/chats/__init__.py
	pyrogram/methods/chats/mark_chat_unread.py
2020-12-26 22:07:12 +01:00
Dan
c2c857b61b Fix wrong usages of italic delimiters 2020-12-26 13:08:40 +01:00
Dan
f764d245f5 Fix bad mime_type default value in case it doesn't exist 2020-12-25 00:05:49 +01:00
Kunoi Sayami
01a3aab482
Fix typing hint missing in forward_messages function (#569) 2020-12-24 19:18:46 +01:00
Dan
4b77bbd468 Fix get_dialogs breaking in case of empty messages 2020-12-23 17:20:06 +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
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
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
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
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
8fbe45ddba Docs improvements 2020-11-27 19:06:25 +01:00
Dan
80f8010d50 Add support for pinned messages in search_messages 2020-11-10 18:43:47 +01:00
Dan
f832df14b4 Add parameter is_anonymous to the method promote_chat_member 2020-11-08 13:52:15 +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
c139d78b34 Fix wrong imports in examples 2020-10-31 19:29:39 +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
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
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
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
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
33d04b5916 Change default get/iter_chat_members filter to "recent" 2020-08-30 10:58:55 +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
c689273167 Add force_document argument for send_document 2020-08-29 15:50:36 +02:00
Dan
4dd068643d Fix get_profile_photos not working properly in channels 2020-08-29 15:11:21 +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
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
f06562b73d Add missing await keywords 2020-08-26 07:43:57 +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
65b5229fe8 Use inspect's iscoroutinefunction, not asyncio's 2020-08-25 09:32:39 +02:00
Dan
5f087e5f82 Use create_task instead of ensure_future 2020-08-22 14:05:54 +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