Commit graph

3574 commits

Author SHA1 Message Date
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
0a29890da4 Merge branch 'layer-136' 2022-01-03 11:19:15 +01:00
Dan
ebaf1a23fb Change markdown spoiler delimiter 2022-01-03 11:19:02 +01:00
Dan
f6625192d0 Add parameter protect_content to send_* methods 2022-01-03 11:12:24 +01:00
Dan
fb64e143b6 Add field Message.reactions 2021-12-30 13:46:44 +01:00
Dan
2799011c07 Add type Reaction 2021-12-30 13:46:07 +01:00
Dan
1fa637553d Add method send_reaction 2021-12-30 13:43:44 +01:00
Dan
b0a9d28bda Add field Chat.available_reactions 2021-12-30 13:43:44 +01:00
SUBIN
00c91120d8
Handle the case when default_send_as is None (#842)
* fix parsing send_as peer.

* Update chat.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-12-30 11:06:37 +01:00
Dan
f7b9137a68 Add support for "spoiler" MessageEntity 2021-12-30 09:14:49 +01:00
Dan
9c67084170 Merge remote-tracking branch 'origin/master' 2021-12-24 16:29:35 +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
Udith Amasura
cc4a850134
Make bot_username optional for LoginUrl (#817)
* make bot username optional

* Update login_url.py

* Update login_url.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-12-23 17:56:22 +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
a138b46668 Add Message/Chat.has_protected_content 2021-12-22 14:49:28 +01:00
Dan
2024b3c120 Rename kick(ed) occurrences to ban(ned) 2021-12-22 14:39:52 +01:00
Dan
a909dc12e7 Add support for user profile buttons 2021-12-22 14:36:02 +01:00
Dan
d103ae48fe Add support for ChatJoinRequest events 2021-12-22 14:34:12 +01:00
Dan
8f8c85e8f3 Update ChatInviteLink 2021-12-22 14:13:44 +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
Dan
56e7e11037 Use a specialized exception for handling BadMsgNotification 2021-12-22 14:01:05 +01:00
Sam
fe764e0e2b
Update session string format (#818) 2021-12-20 20:34:57 +01:00
AduchiMergen
ef6125b57a
Fix -503 Timeout errors #664 (#812) 2021-12-20 20:22:56 +01:00
Dan
a917596cb1 Merge branch 'master' of https://github.com/pyrogram/pyrogram 2021-12-17 11:50:14 +01:00
Dan
9b28a120e2 Fix megagroup attribute on ChatForbidden objects 2021-12-17 11:49:53 +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
ea3281b5f6 Raise directly when not checking a boolean expression 2021-12-16 21:39:52 +01:00
Dan
8aa358129c Use specialized exceptions for handling security checks 2021-12-16 21:38:24 +01:00
Dan
a720726479 Remove unneeded assertion 2021-12-16 21:05:01 +01:00
Dan
ed9c7e4694 Simplify the error handling a bit 2021-12-15 19:26:54 +01:00
Dan
c2a29c8c30 Tune stored_msg_ids max size 2021-12-15 16:56:08 +01:00
Dan
2a1af2b8e9 Close and reestablish the TCP connection in case of mismatch 2021-12-15 16:02:39 +01:00
Dan
bc420da0e2 Maintain a sorted list of stored_msg_ids 2021-12-15 15:04:44 +01:00
Dan
cd027b8c1c Implement missing MTProto checks 2021-12-15 13:18:13 +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
bf9e186414 Also fetch peer_id user details 2021-12-09 20:12:13 +01:00
Dan
a73f990667 Improve parsing of Chat 2021-12-08 07:46:41 +01:00
Dan
8a08dcb92a Update UserFull according to the new schema 2021-12-08 07:43:02 +01:00
Dan
439935b401 Fix wrong sender_chat 2021-12-07 22:39:56 +01:00
Dan
e2cce1b1e6 Check empty messages first of all 2021-12-07 20:29:46 +01:00
Dan
8d03850d03 Don't propagate errors when fetching missing user details 2021-12-07 20:22:29 +01:00
Dan
85ee6c3785 Fetch user details in case they are missing 2021-12-07 19:40:06 +01:00
Dan
34b6002c68 Fix joinchat links regex 2021-12-06 14:16:49 +01:00
Dan
f7db103071 Fix missing argument 2021-12-04 18:40:22 +01:00
Dan
2e964b3fa9 Update MAX_USER_ID 2021-12-04 18:39:35 +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
6efd01937f
Fix issues with Python 3.10 (#766) 2021-10-06 17:12:49 +02:00
Dan
428cbf56a6
Read integers first when size matches 2021-09-25 10:12:12 +02:00
Dan
09c8289259
Update iter_dialogs.py
Closes #749 #750 #756
2021-09-15 17:55:01 +02:00
Alisson Lauffer
02a3969101
Fix Message.command when case is different (#757)
* Fix Message.command when case is different

* Update test_command.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-09-14 18:33:54 +02:00
Davide Galilei
fdbab8cc87
Final fix for reading vectors of bare longs (#754) 2021-09-11 14:52:34 +02:00
Dan
acd92b100b
Actually fix reading vectors of bare longs 2021-09-11 14:32:05 +02:00
Dan
c3953c18ca
Fix reading vectors of bare longs (#752) 2021-09-10 20:57:06 +02:00
rking32
bacc7c004b
Improve the async-to-sync wrapper (#744)
* improved async to sync wrapper

* Create a new loop in non-main threads & improve readability

* Do not run_coroutine_threadsafe unless it's outside the loop

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-08-29 12:05:48 +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
Gautam Kumar
9e9a944e86
Fix parameter name being in plural (#724) 2021-08-28 14:42:16 +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
餅喵
4d933b80f9
Fix TL schema naming conflicts (#690)
* Avoid variable conflicts with Telegram TL schema

* Fix game button with no data attached to button

* Update combinator.txt

* Update compiler.py

* Update tl_object.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-08-28 10:01:12 +02:00
Dan
8845b976ab
Fix docs (#699) (#703)
* Fix docs (#699)

* typo fixing

* Update inline_query_result_video.py

* layer update 129 (commits)

* fixes

* Update main_api.tl

* Update main_api.tl

Co-authored-by: BelgenOp <76117511+BelgenOp@users.noreply.github.com>
2021-06-23 17:01:06 +02:00
Shrimadhav U K
685b9328f8
Add missing parameters in reply_document (#700) 2021-06-22 10:40:13 +02:00
Dan
a65f8e2655 Clearer error message 2021-06-20 08:52:11 +02:00
Dan
91e0a08945 Merge branch 'chat-permissions-others' 2021-06-01 13:58:28 +02:00
Dan
0ca8ab29ab Merge branch 'in-memory-media-group' 2021-06-01 13:57:50 +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
Dan
6cb3e92838 Reword a note 2021-05-22 10:01:46 +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
Dan
317685cf54 Further improve the HTML parser
Related to #682
2021-05-15 18:35:57 +02:00
Dan
7c9f1cb8ef Improve the HTML parser
Fixes #682
2021-05-15 18:14:27 +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
Dan
29701a3a55 Fix import errors 2021-05-12 09:27:39 +02:00
Gaetano
a4bb2a3fdf
Fix typo in send_video examples (#679) 2021-05-12 09:13:19 +02:00
Dan
e2ef053949 Merge remote-tracking branch 'origin/master' 2021-05-12 09:11:57 +02:00
Dan
5fdb361487 Fixes for InlineQueryResult{Audio,Video} 2021-05-12 09:11:52 +02:00
LёNya
a56b1a3287 add InlineQueryResultVideo 2021-05-12 08:56:44 +02:00
Lorenzo Delmonte
1704420697
Fix wrongly passed positional arguments (#603)
Since CallbackQuery.edit_message_text takes 4 arguments and CallbackQuery.edit_message_caption only 3, the reply_markup ends up to be the disable_web_page_preview one. Resolve this by specifying the argument name
2021-05-12 08:52:28 +02:00
Alisson Lauffer
df4419da8f
Make parse_mode always lowercase (#575)
* Make parse_mode always lowercase

* Update client.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-05-12 08:49:48 +02:00
Alan
b4bdab1047
Add InlineQueryResultAudio (#539)
* Added audio support for inline query

* mime-type removed

* Update inline_query_result_audio.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-05-12 08:47:41 +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
Leorio Paradinight
56e79c10f8
Fix captions being None when editing media message (#617)
* added missing doc string

* Fix for "None" for default caption
2021-05-12 08:28:21 +02:00
trenoduro
3be981ada1
Improved deleted message handling (#645)
* Tidy up namings of invite link methods

* Improved deleted message handling

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-05-11 10:45:55 +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
934091d8ea Fix get_me being called for every command
It needs to be called once only
2021-05-07 13:18:00 +02:00
Dan
636ff776d6 Fix duplicated commands in Message.command
Also add more test cases
Related to #676
2021-05-06 19:21:25 +02:00
Dan
4fc4501445 Remove trailing username when adding args to Message.command
Fixes #676
2021-05-06 13:02:26 +02:00
Dan
1d940b96a3 Turn boolean .media and .service fields into strings
This way they can hold more info about the kind of media and service messages.
For example:
- message.media == "document" <-> message.document
- message.service == "new_chat_title" <-> message.new_chat_title
2021-05-05 14:38:29 +02:00
Dan
97bd544333 Fix save_file path argument docs.
Closes #671
2021-05-05 14:18:26 +02:00
Dan
e9e6c30d05 Handle bot commands with trailing usernames
Closes #139, #615
2021-05-05 13:58:03 +02:00
Dan
a3e46b4957 Cleanup connection info logs 2021-05-03 21:07:36 +02:00
Dan
826f815ca3 Merge branch 'master' of https://github.com/pyrogram/pyrogram 2021-05-03 20:59:41 +02:00
Dan
928c8acd01 Fix iter_profile_photos wrong hinted return type 2021-05-03 20:58:37 +02:00
Mario A
2de1606e3d
Fix GameHighScore in the chat with yourself (#669)
Signed-off-by: Mario A <marioanacl22@gmail.com>
2021-04-26 20:45:23 +02:00
Dan
89860a4b4c Add VoiceChatScheduled type and Message.voice_chat_scheduled field 2021-04-26 16:56:10 +02:00
Dan
fa7673e51c Add the field chat_type to the class InlineQuery 2021-04-26 16:20:09 +02:00
Dan
710cfa071d Lower log level for unmatched closing tag 2021-04-26 16:13:36 +02:00
Dan
5e77387919 Fix empty messages don't have a chat id 2021-04-26 16:12:11 +02:00
Dan
e4f99df07c Better error message in case of empty data in buffer 2021-04-26 16:09:39 +02:00
Dan
c13230cb81 Merge branch 'layer-128' 2021-04-26 16:07:56 +02:00
Dan
2eef1d5fcf Accommodate changes to photo file ids 2021-04-26 16:00:21 +02:00
Dan
54350dc943 Merge branch 'handle-503-timeout' 2021-04-26 15:32:07 +02:00
Dan
3c81006b40 Merge branch 'media-servers' 2021-04-26 15:31:08 +02:00
Dan
c5624c639b Cleaner error message 2021-04-15 12:17:25 +02:00
Dan
add492c1be Show the signal name instead of the number 2021-04-15 12:04:43 +02:00
Dan
4f585c156c Update Pyrogram to v1.2.9
- Make less noise at the INFO log level
2021-04-15 09:51:50 +02:00
Dan
0c814e9e5e Add support for media DC IPs 2021-04-13 15:53:53 +02:00
Dan
70ae12eb77 Handle ServiceUnavailable errors
#664
2021-04-12 09:21:20 +02:00
Dan
b6f97ee924 Add support for signed error codes 2021-04-12 09:19:50 +02:00
Dan
0b0bec9e27 Update Pyrogram to v1.2.8 2021-04-07 18:08:03 +02:00
Dan
818aebcc7c Fix memory session's delete() method not being implemented
Closes #660
2021-04-05 18:51:42 +02:00
Dan
aa6b226e64 Update Pyrogram to v1.2.6 2021-03-29 14:15:03 +02:00
Dan
50d1f30ac1 Add missing reply_markup for outgoing bot private messages
Fix #656
2021-03-29 14:14:19 +02:00
Dan
701c1cde07 Update Pyrogram to v1.2.5 2021-03-25 15:35:15 +01:00
Leorio Paradinight
77ab7bffe7
Fix Layer 126 changes [user_id -> participant] (#648) 2021-03-25 15:31:31 +01:00
Dan
a86656aefc Update Pyrogram to 1.2.4
Add missing parameters to chat.promote_member
2021-03-22 17:38:52 +01:00
Dan
97bb996a53 Update Pyrogram to v1.2.3 2021-03-21 22:42:38 +01:00
Dan
da697aec13 Fix messed up method names 2021-03-21 22:42:16 +01:00
Dan
ec1cd15094 Update Pyrogram to v1.2.2 2021-03-21 22:14:32 +01:00
Dan
808346f15b Fix wrong example due to a method rename 2021-03-21 22:13:41 +01:00
Dan
eed331b1b1 Do not copy empty messages 2021-03-21 22:10:33 +01:00
Dan
19fab3cc78 Update Pyrogram to v1.2.1 2021-03-21 21:52:37 +01:00
Dan
1d55eaa1ba Fix inline keyboard buttons with empty values 2021-03-21 21:52:37 +01:00
Dan
a47e079fec Update Pyrogram to v1.2.0 2021-03-21 21:52:37 +01:00
Dan
b1dc0315a1 Update API schema to Layer 126 2021-03-21 21:52:37 +01:00
Dan
e01ac7a3d3 Revert changes to the invite link regex pattern
New invite link methods don't need this and this change was
breaking old code (get_chat, join_chat)
2021-03-20 13:16:55 +01:00
Dan
66b1229664 Fix broken hyperlinks 2021-03-20 10:40:38 +01:00
Dan
c971616808 Add add_contact, improve delete_contacts and import_contacts 2021-03-20 10:13:40 +01:00
Dan
2d785acdc7 Add Message.edit and Message.reply to docs 2021-03-19 20:42:48 +01:00
Dan
b8cd08adb0 Use Pyrogram's List when consuming generators
This will pretty print them when using non-async methods
2021-03-19 17:42:05 +01:00
Dan
54ad043a70 Add get_chat_invite_link method 2021-03-18 18:33:11 +01:00
Dan
a85ca8cc1a Fix type hint 2021-03-18 18:17:12 +01:00
Jonathan
73a1fee28a
Fix stackable plugin decorators with include/exclude directives (#643)
* combination of decorators with plugins has solved

* fixing last pr: allow stackable plugin decorators even in exclude and include as well.

* counting plugins has fixed

* fix indentation

* Update client.py

* Update client.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-03-18 11:34:36 +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
c72bbcf9e1 Fix ChatMemberUpdated args being parsed when they don't exist 2021-03-17 18:12:34 +01:00
Dan
3fe43f8413 Update ChatInviteLink docs 2021-03-17 18:11:18 +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
Dan
89e590b968 Move the "unknown constructor found" logging logic 2021-03-17 15:03:18 +01:00
Dan
975ff219f2 Add support for voice chat service messages 2021-03-17 13:23:18 +01:00
Dan
783e89e0f0 Add filters for voice chat service messages 2021-03-17 13:22:19 +01:00
Dan
6678af08aa Add filters.dice to filter Dice messages 2021-03-17 13:18:16 +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
Dametto Luca
54b20875b9
Fix filters.create documentation (#623)
Wrong documentation for filters.create, callable funcitions requires 3 positional arguments (filter, client, update) and not two.
2021-03-14 12:44:13 +01:00
Harsh
f407facdc7
Fix for strikethrough unparsing in markdown (#627) 2021-03-14 12:43:12 +01:00
Mystery Boy
9cbbf79972
Add missing info in forward_from_chat (#632)
Added info regarding supergroup in forward_from_chat
2021-03-14 12:42:30 +01:00
Kunoi Sayami
de68f83c1f
Use fixed length mask instead of dynamic length (#635) 2021-03-14 12:41:26 +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
46ced1aa11 Fix sphinx warnings 2021-03-06 10:22:14 +01:00
Dan
2154872acb Add can_manage_voice_chats to admin permissions 2021-02-27 20:35:49 +01:00
Dan
83f4d12ad2 Allow Message.copy to remove reply markups 2021-02-27 20:12:36 +01:00
Ripe
a390eceba3
Fix Message.copy ReplyMarkup (#604) 2021-02-27 19:57:12 +01:00
Dan
1afc998061 Mention that linked_chat is available only when using get_chat
Closes #629
2021-02-27 19:08:44 +01:00
Dan
d7f2bd9030 Fix some index out of range errors
Closes #601
2021-02-27 19:02:52 +01:00
Legenda24
6a22e2e262
Add bound method get_media_group() (#593)
* Bound method - get_media_group()

* Update message.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-02-27 18:53:18 +01:00
Dan
b47c5a93b1 Fix enum items showing ids instead of names 2021-02-12 12:36:32 +01:00
ColinShark
2ad21e9096
Fix Typo in input_media_audio() (#614)
* Fixes #612
2021-02-09 20:25:27 +01:00
Dan
fcf91661fc Fix User._parse_status type hints 2021-01-29 12:58:03 +01:00
Dan
57128c0ab7 Add Chat.is_fake and User.is_fake 2021-01-29 12:57:38 +01:00
Krishna-singhal
1bba5cad54
Fix small typo in copy_message()'s examples (#588) 2021-01-29 12:47:52 +01:00
ポキ
811324b907
Add missing docstrings for Chat.iter_members and .get_members (#600) 2021-01-29 12:46:43 +01:00
Dan
33d373adbe Update Pyrogram to v1.1.13 2021-01-18 07:31:06 +01:00
Dan
f9a129ab5f Fix wrong emphasize lines 2021-01-18 07:29:51 +01:00
Dan
b9adc5c294 Add missing bound method Chat.mark_unread 2021-01-18 07:29:33 +01:00
Harsh
967f25796c
Fix strikethrough message entity unparsing (#598) 2021-01-17 12:16:06 +01:00
Dan
2b3e5f2b0a Update Pyrogram to v1.1.12 2021-01-14 21:51:10 +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
Dan
27614c0c19 Update Pyrogram to v1.1.11 2021-01-12 22:26:59 +01:00
Dan
4b3fc729ad Fix small typo: Message.unpin was pinning 2021-01-12 22:26:24 +01:00
Dan
63cc36d759 Update Pyrogram to v1.1.10 2021-01-10 16:46:47 +01:00
Dan
2ad1d9cbc8 Fix wrong excepted error
Closes #582
2021-01-10 16:46:16 +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
ポキ
99829eff9c
Update copyright year in forgotten places (#583) 2021-01-10 15:56:42 +01:00
Pari030
c25871c452
Mention that members_count is obtained from get_chat only (#581) 2021-01-08 10:00:45 +01:00
Dan
ff5cabb3c8 Update Pyrogram to v1.1.9 2021-01-08 09:02:57 +01:00
Dan
51f771457c Fix captions not being preserved when editing media 2021-01-08 09:02:29 +01:00
Dan
59ca3bcd35 Update Pyrogram to v1.1.8 2021-01-02 18:46:18 +01:00
Dan
a48d27f501 Always run crypto-related functions in the dedicated thread 2021-01-02 18:45:43 +01:00
Dan
7dda167c09 Update copyright notice
Year 2021
2021-01-01 22:58:48 +01:00
Dan
820fe2cbcd Fix thumbnail downloads 2021-01-01 22:21:06 +01:00
Dan
38efceefb1 Update Pyrogram to v1.1.7 2020-12-27 21:08:47 +01:00
Dan
a8a9a1ac1f Also print the exception type when logging query issues
Use "repr(e)" instead of "e" alone (i.e "str(e)") because sometimes
builtin exceptions have no message (for example: OSError, TimeoutError)
2020-12-27 21:08:01 +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
a3464e0bf1 Update Pyrogram to v1.1.6 2020-12-25 15:23:09 +01:00
Dan
449b065fe9 Fix get_profile_photos returning a list of None 2020-12-25 15:22:37 +01:00
Dan
d4c07304d0 Allow copying bots' messages reply markups
Even though this often requires a user account to fetch other bots' messages
2020-12-25 12:42:27 +01:00
Dan
4698f716ad Update Pyrogram to v1.1.5 2020-12-25 00:06:09 +01:00
Dan
f764d245f5 Fix bad mime_type default value in case it doesn't exist 2020-12-25 00:05:49 +01:00
Dan
34f62b9c67 Update Pyrogram to v1.1.4 2020-12-24 19:46:52 +01:00
Dan
0d357fb5a9 Improve HTML parser
Closes #567
2020-12-24 19:35:41 +01:00
Kunoi Sayami
01a3aab482
Fix typing hint missing in forward_messages function (#569) 2020-12-24 19:18:46 +01:00
Dan
6e29283d04 Update Pyrogram to v1.1.3 2020-12-23 19:04:54 +01:00
Dan
ed79f73bd7 Rework and simplify message parsing 2020-12-23 19:04:28 +01:00
Dan
730243f451 Update Pyrogram to v1.1.2 2020-12-23 17:20:31 +01:00
Dan
4b77bbd468 Fix get_dialogs breaking in case of empty messages 2020-12-23 17:20:06 +01:00
Dan
19878ae633 Specify that dates are in unix time 2020-12-23 16:26:02 +01:00
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
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
Dan
f5610c77e5 Merge branch 'develop' of https://github.com/pyrogram/pyrogram into develop 2019-12-30 11:01:40 +01:00
Dan
0e9c7af2e5 Small fixes on webpage.py 2019-12-30 10:54:49 +01:00
kalmengr
c5cc85f007 Add method delete_user_history (#282)
* Add method delete_all_user_messages

* Update delete_all_user_messages.py

* Rename delete_all_user_messages.py to delete_user_history.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2019-12-23 19:05:30 +01:00
kalmengr
cf76945a83 Create a new update_profile method to update a user's own profile (#277)
* Create a new update_profile method to update a users own profile

* Update update_profile.py

* Update update_profile.py

* Update update_profile.py

* Update update_profile.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2019-12-23 18:44:06 +01:00
Shrimadhav U K
2daa5932c6 Add missing asyncio keywords (#319)
* fix missing await

* fix empty file reference

* one more await, and file reference
2019-12-23 15:14:58 +01:00
Alisson Lauffer
8e9a7a33bd
Add missing awaits 2019-12-06 23:22:19 -03:00
Dan
353811ebd3
Add missing await 2019-12-06 21:14:15 +01:00
Dan
d71d9686d7 Add set_slow_mode method 2019-10-27 11:02:38 +01:00
Dan
c33a2a0b80 Tiny typo fix 2019-10-27 10:14:13 +01:00
Dan
1609efbfbc Add .bind() method to re-enable bound-methods after deserialization 2019-10-27 09:53:40 +01:00
Dan
8e9e8b4ac4 Allow stop, restart and add/remove_handler to be non-blocking 2019-10-27 09:37:28 +01:00
Dan
c929ce3097 Merge develop -> asyncio 2019-10-27 08:59:07 +01:00
Dan
e74521b1cc Fix deserialization of pretty-printable lists 2019-10-24 15:09:20 +02:00
Dan
87512e20c3 Tiny copy-paste fix 2019-10-19 16:36:45 +02:00
Dan
85e08f774d Merge branch 'develop' of https://github.com/pyrogram/pyrogram into develop 2019-10-19 16:35:54 +02:00
Тоша
cedb87ef41 Add is_creator field to Chat object (#306)
* Add is_creator field to Chat object

* Update chat.py
2019-10-19 16:35:26 +02:00
Dan
51cd186559 Fix group, channel and supergroup ChatPhoto downloads
Closes #326
2019-10-19 16:24:23 +02:00
Dan
79a04f2961 Merge branch 'develop' into asyncio-dev 2019-09-29 12:53:44 +02:00
Dan
2482358484 Fix delete_profile_photos 2019-09-29 12:53:26 +02:00
Dan
ccbe9b498a Merge branch 'develop' into asyncio-dev
# Conflicts:
#	pyrogram/__init__.py
2019-09-25 20:01:17 +02:00
Dan
da7130b380 Update Pyrogram to v0.16.0 2019-09-25 19:12:27 +02:00
Dan
bc7d29237d Small style fix 2019-09-25 18:41:06 +02:00
Dan
a541bb45db Merge develop -> asyncio 2019-09-21 22:21:20 +02:00
Dan
91d3508c13 Rename encode/decode to encode/decode_file_id 2019-09-21 22:17:42 +02:00
Dan
92c1b48132 Fix FILE_REFERENCE_* errors for uploads 2019-09-21 22:13:02 +02:00
Dan
1cd94520bf Fix FILE_REFERENCE_* errors for downloads 2019-09-21 21:12:11 +02:00
Dan
03927404bc Merge branch 'develop' into asyncio-dev 2019-09-14 20:59:10 +02:00
Dan
26bf84e43d Don't try to parse ChatPhoto objects in case peer_access_hash is None 2019-09-14 20:58:53 +02:00
Dan
826885a821 Merge develop -> asyncio 2019-09-14 20:42:06 +02:00
Dan
ff9407aba1 Implement a storage update mechanism (for FileStorage)
The idea is pretty simple: get the current database version and for each
older version, do what needs to be done in order to get to the next
version state. This will make schema changes transparent to the user in
case they are needed.
2019-09-14 20:35:59 +02:00
Dan
1a7d0b1b7e Update Storage API usages in client.py, auth.py and session.py 2019-09-14 19:57:20 +02:00
Dan
0097df2952 Rework File and Memory storage to accommodate the new abstract class 2019-09-14 19:56:07 +02:00
Dan
1efce33070 Tiny SQL style fixup 2019-09-14 19:40:15 +02:00
Dan
e226bdbf89 Create SQLiteStorage for better abstraction 2019-09-14 19:39:47 +02:00
Dan
108fa08878 Update Storage abstract class 2019-09-14 19:39:21 +02:00
Dan
6d0e2f7312 Fix minified peers being erroneously stored because of server changes 2019-09-14 19:37:28 +02:00
Dan
840a9d1cc7 Update ChatPhoto parser 2019-09-14 19:30:07 +02:00
Dan
c5498c3b4e Rename Storage .destroy to .delete 2019-09-14 19:22:08 +02:00
Dan
b10817ec29 Merge develop -> asyncio 2019-09-09 16:00:38 +02:00
Dan
3dce23524d Merge branch 'asyncio-dev' of https://github.com/pyrogram/pyrogram into asyncio-dev 2019-09-09 15:57:10 +02:00
YoilyL
aa937a704d fixed memory leak when session.send coroutine is cancelled (#311)
added that when session.send coroutine is cancelled (or if any other exception is raised) the result should still be removed from the results list
2019-09-09 15:56:57 +02:00
Dan
2983a3b87a Workaround for SQLite VACUUM on Python 3.6.0 2019-09-09 15:45:19 +02:00
Dan
011375d0b2 Update docs link 2019-09-09 15:44:45 +02:00
Dan
71148758c9 Tiny documentation fixes 2019-09-09 15:42:38 +02:00
Dan
aaf0e82cdf Optimize join_chat code 2019-09-09 15:28:27 +02:00
Dan
80c7a6e988 Rename set_custom_title to set_administrator_title and clarify 2019-09-09 15:28:05 +02:00
Dan
928ce5d850 Merge develop -> asyncio 2019-09-08 19:27:37 +02:00
Dan
a015f998fa Revert "Stop instantiating logger objects and directly use the logging module"
This reverts commit 792068d7
2019-09-08 19:24:06 +02:00
Dan
8f0b8babc2 Merge develop -> asyncio 2019-09-08 13:26:10 +02:00
Dan
792068d7c8 Stop instantiating logger objects and directly use the logging module 2019-09-08 12:59:28 +02:00
Dan
481e4ee339 Set the updates workers pool from 1 to 4 2019-09-08 11:59:26 +02:00
Dan
25f2151151 Fix Restriction class not being exported 2019-09-08 11:58:58 +02:00
Dan
cfd756bd24 Add log_out method 2019-09-08 11:58:34 +02:00
Dan
c7782b146f Small code cleanup 2019-09-08 08:42:12 +02:00
Dan
c163f16d7b Merge develop -> asyncio 2019-09-07 17:10:28 +02:00
Dan
c0298542a5 Add set_custom_title method 2019-09-07 17:08:30 +02:00
Dan
5b27b952c4 Add .title attribute for ChatMember objects (admins and owners only) 2019-09-07 17:08:00 +02:00
Dan
96334e0dba Merge develop -> asyncio 2019-09-07 16:01:31 +02:00
Dan
44a74b9d38 Add Filters.scheduled and Filters.from_scheduled 2019-09-07 15:57:12 +02:00
Dan
047fe37860 Add support for scheduled messages 2019-09-07 15:56:46 +02:00
Dan
c3dde77274 Fix ChatPhoto failing to parse in case the user is not known yet 2019-09-07 15:55:58 +02:00
Dan
5f944056cc Merge remote-tracking branch 'origin/asyncio-dev' into asyncio-dev 2019-09-07 13:43:31 +02:00
Dan
ce72a7edd9 Merge develop -> asyncio 2019-09-07 13:40:26 +02:00
Dan
5ce62bd79c Add new Restriction object and make User and Chat objects use it 2019-09-07 13:28:05 +02:00
Dan
f3b33ef1d5 Revert "Enhance Parser when dealing with leading and trailing whitespaces"
This reverts commit 8cdcf90b
2019-09-07 12:49:35 +02:00
Dan
3f4441d0f5 Merge branch 'develop' of https://github.com/pyrogram/pyrogram into develop 2019-09-07 12:48:15 +02:00
Dan
fb771441ed Merge branch 'layer-104' into develop 2019-09-07 12:47:25 +02:00
Dan
d15d38ba52
Don't pass the client to progress callbacks anymore 2019-09-03 15:45:47 +02:00
Dan
310810c320
Fix Message.click default parameters 2019-08-28 13:55:11 +02:00
Dan
1ade49a13a
Fix error on serializing None when int is expected 2019-08-26 22:09:36 +02:00
Dan
fe6c5e542d
Add missing async and await keywords 2019-08-23 12:25:09 +02:00
Dan
2031df15fe
Update inline_query_result_photo.py 2019-08-23 11:52:12 +02:00
Dan
0011d12be5 Fix set_chat_photo not working because of new file ids 2019-08-21 09:56:33 +02:00
Dan
77e4128d54 Merge branch 'new-file-id-format' into develop 2019-08-21 09:36:02 +02:00
ColinShark
b74a8eba5e Add bound method for get_common_chats (#305) 2019-08-20 10:12:55 +02:00
Dan
55f5a1a36c Fix IndexError when parsing empty nearby chats 2019-08-17 22:30:34 +02:00
Dan
a829f74a16 Merge develop -> asyncio 2019-08-17 22:25:26 +02:00
Dan
95051d7fb1 Add get_nearby_chats method 2019-08-17 22:23:34 +02:00
Dan
74ecd2bb33 Add missing members_count attribute when parsing chats 2019-08-17 22:22:28 +02:00
Dan
55fc071b06 Merge develop -> asyncio 2019-08-16 22:38:11 +02:00
ColinShark
9a94c8f0af Add get_common_chats method (#303)
* Add get_common_chats method

* Return properly formatted list

* Fix small format and docstring issues
2019-08-16 22:33:06 +02:00
Dan
dc74c441cc Drop Python 3.4 support (EOL). Bump minimum requirement to Python 3.5.3
Closes #302
2019-08-15 16:03:03 +02:00
Dan
4b914662ef Log the reason why a query ought to be re-tried 2019-08-13 13:20:21 +02:00
Dan
4de203a81c Add information about test/production servers when logging connections 2019-08-13 13:18:51 +02:00
Dan
7daf51af9b Split start() into reusable methods
This allows custom authorization processes to be implemented much more
easily. Refactors #281
2019-08-13 13:15:58 +02:00
Dan
e02b46ea4a Merge branch 'other_start' of https://github.com/adolfaka/pyrogram into adolfaka-other_start 2019-08-12 14:04:11 +02:00
Dan
a46ace4e5c Merge develop -> asyncio 2019-08-12 13:02:32 +02:00
Dan
b42c6581b8 Set default DC for new sessions to be DC2
Test servers don't have DC4
2019-08-12 13:00:07 +02:00
Dan
c1321a4c01 Add smarter auth import to deal with race conditions by multi sessions
- Add a retry mechanism (up to three times)
- Narrow the window in which export+import executes
- Remove a line of duplicated code

Fixes #299
2019-08-10 22:37:07 +02:00
Dan
7f9d3ee3e2 Merge develop -> asyncio 2019-08-10 00:59:01 +02:00
Dan
72800554e6
Merge pull request #292 from mendelmaleh/shlex_split
Improvements for message.command
2019-08-10 00:55:48 +02:00
ColinShark
c9b1e09348 Add export_invite_link bound method (#300) 2019-08-10 00:54:22 +02:00
Dan
b55440ab86
Update Filters.command
- Remove negative lookahead to fix "\"" reporting commas
- Escape cmd when interpolating the pattern
- Remove the escape character from the arguments
- Return True when a valid command is found, return False at the end
2019-08-08 16:04:10 +02:00
trenoduro
5164ea78c2 Added support for bot_token inside config.ini file (#296) 2019-08-08 15:07:46 +02:00
Mendel E
7cabf922ea Filters.command improvements
- Use regex for case sensitivity
- Less indentation
- Ensure that the command returned is the correct case
- Ensure that if the command has more text, it is split by whitespace
2019-08-07 22:31:37 -04:00
Mendel E
c85f991443 Use regex for message.command 2019-08-07 11:38:34 -04:00
Dan
06f3053af8 Merge branch 'develop' into asyncio-dev 2019-08-07 16:37:55 +02:00
Dan
5cfc412af2 Add missing await 2019-08-07 14:08:06 +02:00
Mario A
2aefbfd531 Add better support for nested entities (both for HTML and Markdown) (#297)
* Added better support for nested entities, both for HTML and Markdown

* Tiny style fix

* Make use of pre-defined constants
2019-08-07 13:48:21 +02:00
Dan
e96a74f728 Merge branch 'develop' into asyncio-dev 2019-08-06 01:02:55 +02:00
Dan
82e0087def Always cast inline query ids to string 2019-08-06 01:02:41 +02:00
Dan
eeda40002d Better explanation of workdir Client parameter 2019-08-06 00:08:31 +02:00
Elliot Manson
31960d0272
Merge branch 'develop' into other_start 2019-08-04 16:28:20 +03:00
Dan
8612eafb4a Merge develop -> asyncio 2019-08-03 20:23:41 +02:00
Dan
3dc2a81d72 Add Chat.description for basic chats 2019-08-03 19:54:14 +02:00
Dan
8a99f996ab Handle cases where denied_permissions might be None 2019-08-03 19:50:12 +02:00
Dan
937987a361 Finally remove ports from older schemas and fix export_chat_invite_link 2019-08-03 19:40:45 +02:00
Dan
360cfaa9aa [Bot API 4.4] Update chat photos
- Update ChatPhoto fields descriptions
2019-08-03 19:30:58 +02:00
Dan
c6f346f83d [Bot API 4.4] Update chat permissions
- Move can_* permissions back to ChatMember objects
- Rename restrict_chat to set_chat_permissions
- Update restrict_chat_member to accept a single ChatPermissions arg.
- Update ChatPermissions to be the same as the one on the Bot API
2019-08-03 19:30:32 +02:00
Dan
091552e5d9 [Bot API 4.4] Update stickers
- Add is_animated field to Sticker
- Remove send_animated_sticker (use send_sticker instead)
- Default to 512x512 in case size is unknown (instead of 0x0)
2019-08-03 18:38:58 +02:00
Dan
1540fd4f22 Merge remote-tracking branch 'origin/asyncio-dev' into asyncio-dev 2019-08-03 10:49:09 +02:00
Dan
7badcd38b4 Merge develop -> asyncio 2019-08-03 10:48:35 +02:00
Dan
adda199c77 Revert "Replace ensure_future usages to create_task"
This reverts commit 9940dd67
2019-08-03 10:37:48 +02:00
Dan
94603f1ff2 Replace create_task with ensure_future for compatibility 2019-08-03 10:36:57 +02:00
Dan
6bbd79db86 Update download_media and util methods to work with new file_id formats 2019-08-02 02:33:52 +02:00
Dan
ad9f610a6a Update ChatPhoto file_id format 2019-08-02 02:30:19 +02:00
Dan
0de4874003 Update Thumbnail (ex PhotoSize) file_id format 2019-08-02 02:27:29 +02:00
Dan
ec00c332c2 Update Photo file_id format 2019-08-02 02:26:42 +02:00
Dan
64939e5289 Update Document file ids to make them compatible again with the Bot API
Telegram changed something server side on 29 July, 2019 starting
exactly at 04:00 AM UTC+1 (DST), logs say. Looks like Document file ids,
just like Photo-like ids, are going to change as well after all, if we
want to keep them compatible with the Bot API
2019-08-02 01:15:01 +02:00
Dan
67112a34e9 Remove __slots__ from Pyrogram types 2019-08-02 00:33:48 +02:00
Dan
73e8b8c66e
Update read_history.py 2019-08-01 20:18:17 +02:00
Dan
aa135ea457 Reformat project 2019-08-01 19:11:43 +02:00
Dan
ad0f8284f6 Use the correct way to parse peer identifiers 2019-08-01 19:07:08 +02:00
Dan
9ad5e62dea Move all imported schema objects outside TLObject 2019-08-01 18:44:20 +02:00
Dan
d727754ad6 Remove Null primitive
It's unused
2019-08-01 18:41:04 +02:00
Dan
eddff4769c
Add missing async/await 2019-08-01 10:43:09 +02:00
Dan
b207b028dc
Merge pull request #293 from mendelmaleh/try_handler_check
Try/except handler.check()
2019-08-01 08:38:47 +02:00
Dan
47e5b9a7cb Set Message.text instead of Message.caption in case of web_page previews 2019-08-01 00:53:17 +02:00
Dan
d8765080d3
Update Filters.command
- Removed "posix" parameter because we only want posix=True and the filter becomes simpler.
- Figured out how to deal with single backslashes ("\") errors.
- Refactor the whole filter: use better names for identifiers.
- Rename parameter "prefix" to "prefixes".
2019-07-31 23:57:16 +02:00
Dan
8700e3a0f3 Fix some methods not being defined using async 2019-07-31 13:33:04 +02:00
Mendel E
b4cdf1900c Call shlex.split() only after validating cmd, try/except it. 2019-07-29 20:41:37 -04:00
Dan
0f9029202e Merge develop -> asyncio 2019-07-30 00:06:06 +02:00
Mendel E
584a6a046a Use shlex.split() for message.command
Enables easier and standard parsing, for quote wrapped args, etc.
Filters.command now has a posix argument, and the separator argument was
removed. shlex.split() works similar to having before separator=None.
2019-07-29 07:38:12 -04:00
Mendel E
02451ffeb5 Try/except handler.check()
Previously, when handler.check raised errors, it would be excepted by
the try on line 153, and would fail to loop through the rest of the
groups/handlers.
2019-07-29 07:31:07 -04:00
Dan
d875298937 Fix forward copies having "None" as caption in case of no caption at all 2019-07-29 12:16:00 +02:00
Dan
8cdcf90b10 Enhance Parser when dealing with leading and trailing whitespaces 2019-07-28 15:11:18 +02:00
Dan
e1c6e6ecc1 Better handling of non-string message texts
Now everything will be allowed and automatically casted to string. This
means that send_message(id, True) would send "True", literally.
2019-07-28 10:13:38 +02:00
Dan
bed13de413 Fix ChatPreview objects failing to parse
This happened because Telegram changed the preview photo type from
ChatPhoto to Photo. The reason behind this change was due to ChatPhoto
requiring now a peer id to be downloaded, which is not available in case
of chat previews.
2019-07-28 09:47:11 +02:00
Dan
11ea15aa08 Fix yet another compatibility issue with Path objects and Python 3.5 2019-07-28 09:32:35 +02:00
Dan
87bbd764b9 Add better summary for get_messages 2019-07-28 08:54:18 +02:00
Dan
7b9a38a2ba Fix indentation and docstrings due to bad PR 2019-07-28 08:16:41 +02:00
Dan
881f5ab783 Merge branch 'develop' of https://github.com/pyrogram/pyrogram into develop 2019-07-28 08:06:34 +02:00
Dan
2dec2442e5 Add examples to all available methods 2019-07-25 11:22:14 +02:00
Dan
fe2ccc6036 Clean up Message docstrings 2019-07-25 11:18:11 +02:00
Dan
8f56610c2c Add examples to utility methods 2019-07-25 11:17:28 +02:00
Dan
72b7a53ff5 Log to warning only in the last attempt 2019-07-25 11:15:56 +02:00
Dan
b2886c21ca Clarify get_messages error messages 2019-07-25 10:48:36 +02:00
Dan
0b66cf2cb9
Merge pull request #279 from kalmengr/patch-5
Add retract_vote bound method to Message
2019-07-22 14:22:02 +02:00
Dan
a320088fee
Fix Message.retract_vote style 2019-07-22 14:21:42 +02:00
Dan
810df3f476
Merge pull request #278 from kalmengr/patch-4
Add bound method vote to Message
2019-07-22 14:17:11 +02:00
Dan
948bba7a08
Add missing return type 2019-07-22 14:16:43 +02:00
Dan
776557f60b Refactor regex filter 2019-07-22 13:31:50 +02:00
Dan
af1bb3b0a7 Fix command filter relying on a previous command state 2019-07-22 13:31:03 +02:00
Dan
f0c1cb00ca Rework InlineQueryResultArticle. Also add *Photo and *Animation types 2019-07-21 23:18:38 +02:00
Dan
4274ef9639 Add abstract method InputMessageContent.write 2019-07-21 23:10:57 +02:00
Dan
c0e9b98cab Add is_gallery parameter to answer_inline_query and InlineQuery.answer 2019-07-21 23:10:23 +02:00
Dan
036a73997a Add new methods: add_chat_members, create_* and delete_* chats
- add_chat_members
- create_group
- create_channel
- create_supergroup
- delete_channel
- delete_supergroup
2019-07-21 23:08:30 +02:00
Dan
184f851625 Fix idle() and run() breaking after latest changes 2019-07-21 02:22:46 +02:00
Dan
6459ce0a07 Fix lots of bound methods breaking due to latest changes on parse_mode
Addresses #287
2019-07-21 01:03:19 +02:00
Dan
62a39521d9 Allow send_media_group send media from URLs 2019-07-19 13:40:12 +02:00
Dan
f2b3db47a9 Add "bot" chat type into Filters.private.
Bots are still 1-to-1 private chats
2019-07-16 07:41:11 +02:00
Dan
c30e8f9c55 Don't start the client in case run() is called with a coroutine as arg 2019-07-15 01:26:29 +02:00
Dan
4d324abbb5 Don't automatically install uvloop. Let people do that
People are reporting uvloop would crash with weird core-dumped errors
when using other asyncio libs, such as aiohttp. Plus, this was a bad
idea and people should install uvloop themselves before running their
codes.
2019-07-15 00:54:35 +02:00
Dan
9940dd678f Replace ensure_future usages to create_task 2019-07-15 00:51:32 +02:00
Elliot Manson
52902d4d43 bug fix 2019-07-14 22:23:23 +04:00
Elliot Manson
50d62259a8 start by steps 2019-07-14 13:28:49 +04:00
kalmengr
449f318e6d
Add retract_vote bound method to Message 2019-07-12 18:29:35 -04:00
kalmengr
ba47488142
Update message.py 2019-07-12 12:13:14 -04:00
kalmengr
2095f9fb5e
Add bound method vote to Message 2019-07-12 12:05:19 -04:00
Dan
385ab22b68 Rework Client.idle()
idle() is now static and doesn't stop the client anymore
2019-07-11 19:59:56 +02:00
Dan
fed8cbf87e Add new set_parse_mode utility method 2019-07-11 19:28:33 +02:00
Dan
e1197e066e Use a better name for the special plugin attribute when decorating funcs 2019-07-11 17:14:38 +02:00
Dan
5599182fd1 Fix Chat.join
The bound method will only be able to make users join public chats that
have set a username.
2019-07-11 14:42:18 +02:00
Dan
3c4a8f0da4
Merge pull request #275 from kalmengr/patch-2
Add join and leave bound methods to Chat object
2019-07-11 14:29:54 +02:00
Dan
efe564064b
Update chat.py 2019-07-11 14:29:41 +02:00
Dan
f7ba7bfd3a Update dev version 2019-07-11 04:21:02 +02:00
Dan
d5f31a8473 Update asyncio-dev version 2019-07-11 04:20:23 +02:00
Dan
d441f16879 Merge develop -> asyncio 2019-07-11 04:17:46 +02:00
Dan
7c704bbb6a Make the text parser log warnings instead of raising exceptions 2019-07-11 04:14:14 +02:00
Dan
2f07e7abc4 Rework user.status, add last_online_date and next_offline_date 2019-07-11 01:35:02 +02:00
Dan
f9ea45f987 Fix restrict_chat and restrict_chat_member combined permissions 2019-07-11 01:32:18 +02:00
Dan
997a3c1626 Remove UserStatus (user_status.py) 2019-07-11 00:12:27 +02:00
Dan
52b0988af4 Clarify default value of supports_streaming parameter (send_video) 2019-07-10 22:04:57 +02:00
Dan
d119998212 Remove get_user_dc method, add dc_id attribute to User 2019-07-10 20:20:22 +02:00
Dan
e41d21ba29 Add "md" to possible parse modes for Markdown style 2019-07-10 20:03:10 +02:00
kalmengr
be8d1068c0
Add join and leave methods to Chat object 2019-07-10 10:39:07 -04:00
Dan
6a62d1b8c4 Fix tiny typo: contact -> contacts 2019-07-09 23:51:43 +02:00
Dan
3a0d67bf0a Merge branch 'develop' of https://github.com/pyrogram/pyrogram into develop 2019-07-09 23:49:49 +02:00
Dan
92d47f17f3
Add new blank lines for clarity and for fixing rst 2019-07-09 23:39:48 +02:00
kalmengr
856870c195
Add bound methods block and unblock to User object 2019-07-09 17:33:41 -04:00
Dan
e039c1fb80 Update Client.idle() docstrings to make summary clearer 2019-07-09 20:03:03 +02:00
Dan
ee2d5b1315 Fix RPCError raising an error itself because of non-optional args 2019-07-09 19:03:37 +02:00
Dan
82efc9a154 Small documentation fix 2019-07-09 19:03:15 +02:00
Dan
13d6ce1495 Update DC IPs 2019-07-09 19:02:54 +02:00
Dan
2769f5219d Merge develop -> asyncio 2019-07-04 21:02:33 +02:00
Dan
303d0318c8 Merge remote-tracking branch 'origin/develop' into develop 2019-07-04 21:00:36 +02:00
Dan
bdd554575a Fix export_chat_invite_link not working for bots on channels/supergroups
Telegram still hasn't enabled this for bots...
Closes
2019-07-04 21:00:22 +02:00
Dan
ee1f6e2c9f Fix errors and warnings when using Pyrogram async with Python <3.5.3 2019-07-04 12:57:07 +02:00
Dan
9059bab4d0
Merge pull request #268 from mendelmaleh/develop
Add message.web_page attributes
2019-07-03 20:40:36 +02:00
Mendel E
b4a8763452 Message: media = None if WebPage is empty 2019-07-03 10:59:11 -04:00
Mendel E
f7bfd5597e Make optional values italics 2019-07-03 09:27:06 -04:00
Mendel E
dfffa9510a Add more types in WebPage docs 2019-07-02 21:04:08 -04:00
Mendel E
d363a18e84 Initial docs for WebPage 2019-07-02 10:46:08 -04:00
Mendel E
9687ef2820 flake8 errors 2019-07-02 10:00:03 -04:00
Mendel E
17a2589891 Add message.web_page attributes 2019-07-02 09:44:08 -04:00
Dan
ac4714c0dd Merge develop -> asyncio 2019-07-02 00:05:51 +02:00
Dan
18b581fb45 Update Pyrogram to v0.15.1 2019-07-02 00:03:14 +02:00
Dan
be3947e20b Fix some methods not working correctly with the new Text Parser 2019-07-02 00:01:18 +02:00
Dan
b20e0ef2d2 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
#	pyrogram/client/methods/chats/export_chat_invite_link.py
#	pyrogram/client/parser/html.py
2019-07-01 14:49:47 +02:00
Dan
544cddfd1c Update Pyrogram to v0.15.0 2019-07-01 13:44:16 +02:00
Dan
46a03a2000 Log the invalid values when raising errors 2019-07-01 13:17:16 +02:00
Dan
8e9f61148f Merge remote-tracking branch 'origin/develop' into asyncio
# Conflicts:
#	pyrogram/client/types/user_and_chats/chat.py
2019-07-01 12:30:34 +02:00
Dan
6c80064f2c Enable custom format for User mentions
Examples:
  - format(user, "mention")
  - "{:mention}".format(user)
  - f"{user:mention}"
2019-06-30 21:10:28 +02:00
Dan
a790431274 Do string conversion and striping in the Parser 2019-06-30 21:08:50 +02:00
Dan
40b0c57b54 Don't rename the in-memory sessions 2019-06-30 20:53:35 +02:00
Dan
83c386cbec Use consistent naming 2019-06-30 20:53:05 +02:00
Dan
580c684cb3 Fix export_chat_invite_link not working correctly (channels/supergroups) 2019-06-30 16:13:10 +02:00
Dan
0d6f8cd462
Merge pull request #260 from mendelmaleh/develop
Add convenience bound methods to Chat
2019-06-30 10:49:22 +02:00
Dan
09e1ac5eb4
Fix bad params when defining and calling methods 2019-06-30 10:48:19 +02:00
Dan
80d7a8cbbd
Add missing colon 2019-06-30 10:03:45 +02:00
Dan
a02cd271c9
Update chat.py 2019-06-30 10:01:39 +02:00
Mendel E
2c1834b1b2 Add .(kick|unban|restrict|promote)_member bound methods to Chat 2019-06-29 22:12:59 -04:00
Mendel E
54c8e24f48 Add .set_ bound methods to Chat 2019-06-28 17:07:38 -04:00
Dan
59b43af02e Fix RPCError not setting the x attribute 2019-06-28 20:43:06 +02:00
Dan
8c2a971fec Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/methods/messages/send_document.py
2019-06-28 16:31:52 +02:00
Dan
46bf382480 Fix self.parser not calling .parse for send_document 2019-06-28 16:31:32 +02:00
Dan
d8d72395b7 Merge branch 'develop' into asyncio 2019-06-28 11:12:19 +02:00
Dan
155580649a Update filters: Make the name argument optional 2019-06-28 11:11:59 +02:00
Dan
506253e506 Fix objects failing to print in case there's no __slots__ attribute 2019-06-28 10:41:57 +02:00
Dan
fa1b66f914 Make unknown errors with known error codes inherit from base categories 2019-06-27 11:59:44 +02:00
Dan
40bcd4e59d Fix delete_profile_photos. Closes #259 2019-06-26 21:43:08 +02:00
Dan
8ef97f2177 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/methods/messages/edit_message_text.py
#	pyrogram/client/methods/messages/send_animation.py
#	pyrogram/client/methods/messages/send_audio.py
#	pyrogram/client/methods/messages/send_cached_media.py
#	pyrogram/client/methods/messages/send_document.py
#	pyrogram/client/methods/messages/send_message.py
#	pyrogram/client/methods/messages/send_photo.py
#	pyrogram/client/methods/messages/send_video.py
#	pyrogram/client/methods/messages/send_voice.py
#	pyrogram/client/parser/html.py
#	pyrogram/client/parser/markdown.py
#	pyrogram/client/types/input_message_content/input_text_message_content.py
2019-06-26 19:34:49 +02:00
Dan
39e25147bd Update parse_mode parameter docstrings 2019-06-26 16:36:24 +02:00
Dan
197cf5506c Only allow either "markdown" or "html" as text style parse mode 2019-06-26 16:36:00 +02:00
Dan
f05e79e0f4 Update usages of Parser all around the library 2019-06-26 16:08:24 +02:00
Dan
e61bf92627 Add Parser package
Revamped from HTML/Markdown
2019-06-26 16:07:27 +02:00
Dan
be5f0c9529 Parser's client can be None
In that case, check if is None and don't parse user mentions.
This happens only in text content for inline results
2019-06-26 16:06:50 +02:00
Dan
8d852cb47e Implement strict and loose markdown parsing
This is enabled by default:

  - strict: only markdown syntax is parsed
  - loose: both markdown and html syntax are parsed
2019-06-26 16:05:09 +02:00
Dan
e4a6d16cf3 Remove generated inline query result types 2019-06-26 15:56:08 +02:00
Dan
7cd145b0db Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/style/html.py
#	pyrogram/client/style/markdown.py
2019-06-25 11:48:43 +02:00
Dan
7490f6cfa3 Update the HTML parser: make it easy for asyncio to deal with mentions
We can't await coroutines inside HTMLParser overridden methods, such as
handle_starttag, because they can't be async. This commit moves the
resolve_peer call into the parse method of the HTML class, which can be
defined async.
2019-06-25 11:47:45 +02:00
Dan
32ca805f6b Update message.py 2019-06-25 10:25:21 +02:00
Dan
168fce09da Implement HTML.unparse and Markdown.unparse 2019-06-25 10:24:19 +02:00
Dan
a086964e85 Make the HTML parser more sound 2019-06-25 07:41:48 +02:00
Dan
07bc7e39df Allow entities to overlap, like: <b>bold <i>and</b> italic</i> 2019-06-25 07:08:38 +02:00
Dan
df386b2f91 Make slicing text messages & captions work properly with entity offsets 2019-06-25 05:53:41 +02:00
Dan
de02848a69 Revert "Delete style utils.py and move its content inside html.py The HTML parser is now the only one that makes use of those util methods"
This reverts commit cd1e41b1
2019-06-25 05:47:57 +02:00
Dan
656aa4a7ca Enable scheduling of more than 1 updates worker 2019-06-24 17:33:33 +02:00
Dan
cd1e41b130 Delete style utils.py and move its content inside html.py
The HTML parser is now the only one that makes use of those util methods
2019-06-24 14:33:17 +02:00
Dan
a27dc575e4 Actually fix the HTML Parser feeding by calling .close() when done 2019-06-24 14:17:46 +02:00
Dan
cac0bcabf9 Fix HTML parsing breaking with no tags 2019-06-24 13:36:27 +02:00
Dan
8e0182633f Ignore any other style when inside a fixed-width style 2019-06-24 13:35:58 +02:00
Dan
f12cee5d94 Automatically escape URL bodies when using markdown 2019-06-24 10:54:58 +02:00
Dan
d6900cde9f Remove debug print() 2019-06-24 10:11:21 +02:00
Dan
e7c49c6a1b Revamp HTML and Markdown parsers to allow multiple nested entities 2019-06-24 10:07:28 +02:00
Dan
3237847ce1 Merge branch 'develop' into asyncio 2019-06-23 23:36:45 +02:00
Dan
648f37cf6d Add support for underline and strikethrough text via Markdown
New delimiters:

    - ~~strikethrough~~
    - --underline--
2019-06-23 22:43:11 +02:00
Dan
978ee4e6a6 Add new message entity types: "underline", "strike" and "blockquote" 2019-06-23 22:32:45 +02:00
Dan
0985d7ad90 Enable parsing underline, strikethrough and blockquote text for HTML 2019-06-23 22:31:55 +02:00
Dan
633e11531a Fix coroutine scheduling when adding/removing handlers 2019-06-23 13:56:12 +02:00
Dan
1e546099a3 Merge develop -> asyncio 2019-06-23 01:35:53 +02:00
Dan
31f39a00ab Make plugin callback functions return the function itself when decorated 2019-06-23 01:33:46 +02:00
Dan
84278f9cee Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/ext/dispatcher.py
2019-06-22 00:49:13 +02:00
Dan
e7fffd2f76 Fix workers not running concurrently anymore after using a shared Lock 2019-06-22 00:45:49 +02:00
Dan
2ba445d21e Fix asyncio lock not being awaited properly 2019-06-21 21:48:35 +02:00
Dan
b439e44015 Fix tiny typo 2019-06-21 03:43:43 +02:00
Dan
471a124d2c Merge develop -> asyncio 2019-06-21 02:04:16 +02:00
Dan
a398bc5fc7 Rename CallbackQuery's bound-methods: edit_* -> edit_message_* 2019-06-21 02:00:29 +02:00
Dan
8d0e161b56 Lock dispatcher groups. Fixes #255 2019-06-21 01:53:17 +02:00
Dan
7982eb07b5 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/types/messages_and_media/message.py
2019-06-20 19:24:15 +02:00
Dan
0699bd31e5 Bring Message .reply() and .edit() back for now 2019-06-20 19:23:33 +02:00
Dan
3f261823a7 Merge branch 'develop' into asyncio 2019-06-20 14:17:58 +02:00
Dan
9ebf2983fe Cast Paths to string: pathlib for older pythons doesn't properly work 2019-06-20 14:15:02 +02:00
Dan
a8dfe61f7e Merge develop -> asyncio 2019-06-20 04:17:24 +02:00
Dan
8c96e5f46a Smarter session migration 2019-06-20 03:31:37 +02:00
Dan
30192de1ad Update pyrogram/client to accommodate Storage Engines 2019-06-19 16:10:37 +02:00
Dan
edaced35a7 Use base64.urlsafe_b64encode/decode instead of manually passing altchars 2019-06-19 16:07:22 +02:00
Dan
6cc9688e49 Implement FileStorage and MemoryStorage engines 2019-06-19 16:04:35 +02:00
Dan
6177abbfa4 Add Storage abstract class 2019-06-19 16:04:06 +02:00
Dan
682591ea8f Update Auth and Session to accommodate Storage Engines 2019-06-19 16:02:29 +02:00
Dan
d472d06c48 Merge branch 'develop' into session_storage 2019-06-19 15:54:52 +02:00
Dan
651b8d891d
Merge pull request #256 from ColinTheShark/develop
Add convenience methods to block and unblock Users
2019-06-17 14:43:26 +02:00
ColinShark
1fd31cac1e Add convenience methods to block and unblock Users 2019-06-17 14:34:49 +02:00
ColinShark
10de006cc5 Add returned object 2019-06-17 09:47:12 +02:00
Dan
142d5ab335 Merge branch 'develop' into session_storage
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/ext/base_client.py
#	pyrogram/client/ext/syncer.py
#	pyrogram/client/methods/contacts/get_contacts.py
2019-06-15 23:52:34 +02:00
Dan
80d8443be4 Fix script executions not working outside the current directory
Fixes #41
2019-06-15 23:02:31 +02:00
Dan
abc0e992cf Fix Sticker.set_name being treated as tuple/list-like when should in fact be a string
Yes, that little comma messed things up (again)
2019-06-15 17:59:28 +02:00
Dan
237e434e78 Merge branch 'develop' of https://github.com/pyrogram/pyrogram into develop 2019-06-15 17:59:12 +02:00
ColinShark
4492d9d20b Put italic in quotes, adapt text_mention (#254)
* Put italic in quotes, adapt text_mention

* Update message_entity.py
2019-06-15 13:55:50 +02:00
Dan
ef8f3bd6e1 Revert: CallbackQuery edit_* bound methods renamed to edit_message_* 2019-06-14 04:53:04 +02:00
Dan
61ed44ff5f Add edit_inline_* methods to deal with inline messages only 2019-06-14 04:52:05 +02:00
Dan
3ed1bb0d86 Rename CallbackQuery edit_* bound methods to edit_message_*
We are editing the message the callback query comes from, not the
callback query itself.
2019-06-14 03:57:12 +02:00
Dan
3ae77d55c7 Rename edit -> edit_text and reply -> reply_text bound methods 2019-06-14 02:52:01 +02:00
Dan
c485715db1 Small docstrings fixup 2019-06-14 02:47:17 +02:00
Dan
da4ff268a4 Add edit, edit_caption, edit_media and edit_reply_markup bound methods to the CallbackQuery type 2019-06-14 02:46:27 +02:00
Dan
22199b0fe5 Implement editing of messages sent via inline bots
- edit_message_text
- edit_message_caption
- edit_message_media
- edit_message_reply_markup
2019-06-14 02:15:33 +02:00
Dan
93082ce894 Reword get_user_dc docstrings 2019-06-12 13:43:28 +02:00
Dan
b86373d28c Improve get_history_count 2019-06-12 11:43:24 +02:00
Dan
df6e174b55 Fix InputPhoneContact docstring 2019-06-12 11:38:06 +02:00
Dan
4f2928e7b5 Improve get_profile_photos and get_profile_photos_count 2019-06-12 11:37:43 +02:00
Dan
a21858a262
Merge pull request #251 from pyrogram/types-revamp
Types revamp
2019-06-12 10:48:10 +02:00
Dan
684aef3ded Fix files downloaded with no file name 2019-06-11 21:12:00 +02:00
Dan
92625795ef Update develop version 2019-06-11 20:50:36 +02:00
Dan
83af58258c Fix download_media ignoring the file_name argument 2019-06-11 20:36:09 +02:00
Dan
fd0a40442a Fix plugins not getting reloaded properly when restarting a client 2019-06-11 18:31:38 +02:00
Dan
b9b50bad94 Fix get_users and get_contacts not returning pretty-printable lists 2019-06-11 16:46:10 +02:00
Dan
7baa00353d Add a FAQ about DC migration 2019-06-11 15:59:39 +02:00
Dan
1ee8487712 Merge branch 'develop' into types-revamp
# Conflicts:
#	pyrogram/client/methods/users/get_profile_photos.py
2019-06-11 14:45:21 +02:00
Dan
af08606087 Fix get_profile_photos not working when passing "me"/"self" as argument 2019-06-09 13:01:24 +02:00
Dan
6e6dd54d40 Add missing attributes to the Chat type 2019-06-08 19:55:40 +02:00
Dan
34616ebf61 Add .archive() and .unarchive() bound methods to User 2019-06-08 19:30:53 +02:00
Dan
6e3d8ca20b Add .archive() and .unarchive() bound methods to Chat 2019-06-08 19:28:47 +02:00
Dan
9b12e823b4 Fix Message bound methods' docstrings 2019-06-08 19:25:12 +02:00
Dan
5f3b7b97aa Add archive_chats and unarchive_chats methods 2019-06-08 19:15:19 +02:00
Dan
43493733c9 Rearrange code 2019-06-08 15:28:03 +02:00
Dan
94d90efc80 Rename section from "Keyboards" to "Bots & Keyboards" 2019-06-08 15:27:53 +02:00
Dan
a769fdfd20 Remove GameHighScores type 2019-06-08 15:16:51 +02:00
Dan
cfbc5298df Remove Messages type 2019-06-08 15:13:52 +02:00
Dan
797de058e8 Remove ProfilePhotos type 2019-06-08 14:09:16 +02:00
Dan
c8fd446cb6 Remove Dialogs type 2019-06-08 14:00:00 +02:00
Dan
2db2ca3283 Remove ChatMembers type 2019-06-08 13:50:17 +02:00
Dan
2e05c81a5c Update docs about Telegram data centers 2019-06-08 11:33:52 +02:00
Dan
fd3c8cf94f Merge develop -> asyncio 2019-06-07 19:26:27 +02:00
Dan
b46ffe1414 Update Pyrogram to v0.14.1 2019-06-07 18:53:45 +02:00
Dan
e63b915ec2 Fix trailing commas breaking older Python versions 2019-06-07 18:51:04 +02:00
Dan
c65e210c03 Fix FileData namedtuple using Python 3.7+ features 2019-06-07 18:48:34 +02:00
Dan
89e6f4137b Fix get_chat_member always returning self for basic groups 2019-06-07 18:00:00 +02:00
Dan
d95bbdf445 Update next develop version 2019-06-07 16:37:28 +02:00
Dan
f9ceed0c9c Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
2019-06-07 16:36:49 +02:00
Dan
571af6e0b9 Update Pyrogram to v0.14.0 2019-06-07 16:05:33 +02:00
Dan
a80c5c1dbb Fix broken links on decorators' docs 2019-06-07 15:49:16 +02:00
Dan
fe55233f50 Merge develop -> asyncio 2019-06-06 19:33:45 +02:00
Dan
da515af959 Rearrange code 2019-06-06 19:29:44 +02:00
Dan
b205c6cce0 Rename Photos to ProfilePhotos 2019-06-06 19:09:52 +02:00
Dan
8151270a94 Update docs 2019-06-06 18:25:23 +02:00
Dan
6bebe2297e Rename "thumbnails" to "thumbs" 2019-06-05 21:03:46 +02:00
Dan
17ddb0d1b7 Update get_chat_member docstrings 2019-06-05 13:58:32 +02:00
Dan
9bd9d7797b Replace "with await" with "async with" 2019-06-05 11:58:29 +02:00
Dan
b3d6b41ca8 Fix Syncer not creating Event and Lock objects inside the current loop 2019-06-05 11:28:29 +02:00
Dan
7c3bbb3fc7 Merge develop -> asyncio 2019-06-05 11:25:31 +02:00
Dan
a35e2620f8 Fix export_chat_invite_link for basic groups in Layer 100 2019-06-04 23:36:10 +02:00
Dan
a425e00a96 Add read_history method 2019-06-04 19:16:30 +02:00
Dan
896c9fa4fd Add "unsave" parameter to send_animation 2019-06-04 16:32:42 +02:00
Dan
9a44c79a82 Rename PyrogramType to Object 2019-06-03 16:56:37 +02:00
Dan
d5517f4d5f Rename Object to TLObject 2019-06-03 14:19:50 +02:00
Dan
d4dbff3226 Merge develop -> asyncio 2019-06-02 19:14:16 +02:00
Dan
4d97aae933 Merge remote-tracking branch 'origin/develop' into develop 2019-06-02 18:58:06 +02:00
Dan
cfec26d3db Add PyrogramList type 2019-06-02 16:16:16 +02:00
ColinShark
5cb709ee75 Make it one-line 2019-06-02 00:25:59 +02:00
ColinShark
12cc6fa4eb Removed Placeholder, break down comparison 2019-06-02 00:13:52 +02:00
ColinShark
d3cb386a6f Appropiate naming 2019-06-01 23:39:26 +02:00
ColinShark
04aada818e Less arbitrary name for Filter, Adapt Docstring 2019-06-01 23:36:45 +02:00
ColinShark
2eba6e58f9 Remove Optionality for args 2019-06-01 23:34:20 +02:00
ColinShark
0a96355c5d Add Filter for Callback_Query.data 2019-06-01 23:31:17 +02:00
Dan
e9a2087fe0 Fix List not calling __repr__ 2019-06-01 15:36:53 +02:00
Dan
acc0fab311 Fix animated stickers media type. They are documents for now 2019-06-01 14:07:45 +02:00
Dan
1f2be4f1ce Add send_animated_sticker method 2019-06-01 14:05:25 +02:00
Dan
dc94da3895 Add application/x-tgsticker mime type with .tgs as extension 2019-06-01 14:04:39 +02:00
Dan
d243ebc2cd Performance improvements 2019-06-01 13:18:48 +02:00
Dan
f6361cd20f Allow bare lists from the MTProto API to be printed nicely 2019-06-01 13:17:04 +02:00
Dan
e7f6e9ec66 Cast is_bot value to bool 2019-06-01 13:15:41 +02:00
Dan
48a5da8958 Let FutureSalt(s) attributes be plain integer instead of datetime values 2019-05-31 16:36:20 +02:00
Dan
a984558860 Rename methods dealing with profile pictures 2019-05-31 00:20:09 +02:00
Dan
cb3addab1e Add iter_profile_photos method 2019-05-31 00:18:43 +02:00
Dan
4ca87682af Fix Document.date attribute being a tuple
Thanks Python...
2019-05-31 00:16:31 +02:00
Dan
0340271b33 Refactor docstrings 2019-05-30 15:23:43 +02:00
Dan
715ae14751 Update send_* methods (for file_ids) 2019-05-30 14:57:52 +02:00
Dan
376909f356 Add get_input_media_from_file_id utility method
For internal usage
2019-05-30 14:56:59 +02:00
Dan
16dbd8d8db Update development version 2019-05-29 10:43:00 +02:00
Dan
55599e33c6 Rework download_media to accommodate L100 changes 2019-05-29 10:40:37 +02:00
Dan
3208b22849 Update all media types' thumbnails
They are now a List of Thumbnail objects
2019-05-29 09:50:41 +02:00
Dan
b217bf3784 Refactor ChatPhoto to accommodate L100 changes 2019-05-29 09:49:50 +02:00
Dan
fda456cd1e Rename UserProfilePhotos to just Photos for brevity and elegance 2019-05-29 09:49:13 +02:00
Dan
3a882b870b Add StrippedThumbnail type
Still a WIP
2019-05-29 09:47:43 +02:00
Dan
aaa569a08d Revamp Thumbnail type (ex PhotoSize) 2019-05-29 09:47:14 +02:00
Dan
807dcb67be Hide phone numbers and show human-friendly date formats when printing 2019-05-29 09:46:21 +02:00
Dan
41d5a13b5f Extend Chat and User types with new fields
is_verified, is_restricted, is_scam and is_support (user only)
2019-05-29 09:44:57 +02:00
Dan
38de4299c5 Add get_user_dc method 2019-05-29 09:43:48 +02:00
Dan
09d012b696 Rename get_user_profile_photos to get_user_photos 2019-05-29 09:43:33 +02:00
Dan
86a4f63d37 Rename set_user_profile_photo to set_photo
Users can only set a photo for themselves.
2019-05-29 09:42:55 +02:00
Dan
83cd828386 Rename get_user_profile_photos_count to get_user_photos_count 2019-05-29 09:41:59 +02:00
Dan
1390797f58 Rename delete_user_profile_photos to just delete_photos.
It's implied an user can only delete own photos.
2019-05-29 09:41:04 +02:00
Dan
c2424029b5 Fix dialogs after L100 update 2019-05-29 09:37:50 +02:00
Dan
e94dcd3b0b Update docs 2019-05-28 16:41:55 +02:00
Dan
87ad981420 Add get_user_dc method 2019-05-27 14:39:10 +02:00
Dan
39439255fd Merge develop -> asyncio 2019-05-25 02:02:37 +02:00
Dan
bb246f9e60 Update Pyrogram to v0.13.0 2019-05-25 01:50:34 +02:00
Dan
47c06fdae2 Docs revamp. Part 7 2019-05-25 01:37:55 +02:00
Dan
0dc953c320 Update domain name references to pyrogram.org 2019-05-19 21:40:41 +02:00
Dan
518220431e Docs revamp. Part 5 2019-05-18 01:45:01 +02:00
Dan
b6ea451ee5 Reword some method return type docstrings 2019-05-17 13:44:44 +02:00
Dan
23d0ef3cf9 Use "bot" as chat type for bots.
We now have "private", "bot", "group", "supergroups" and "channel" chat
types.
2019-05-17 13:23:03 +02:00
Dan
53d0cc30f6 Remove get_chat_preview and have get_chat deal with ChatPreview objects 2019-05-17 13:18:24 +02:00
Dan
944b672fe5 Docs revamp. Part 4 2019-05-16 21:28:34 +02:00
Dan
a5e42572f6 Allow Message.click() without arguments. Default to 0 (first button) 2019-05-13 21:05:47 +02:00
Dan
94de75f714 Bring back the possibility to use strings as callback query data
In case bytes (which is the type used by telegram) can't be successfully
decoded into strings, the raw bytes are presented instead of trying to
decode by ignoring/replacing errors.
2019-05-13 21:04:17 +02:00
Dan
90115448ac Update link hint for No API Key found errors 2019-05-13 16:37:26 +02:00
Dan
65c07b7d34 Use a better repr for all types
now eval(repr(obj) == obj
2019-05-13 16:06:34 +02:00
Dan
ef912d21ef Use more concise and cleaner description of a method and a type 2019-05-12 19:49:06 +02:00
Dan
eadda551c6 Docs revamp. Part 3 2019-05-12 19:26:55 +02:00
Dan
e4b0a78f1a Docs revamp. Part 2 2019-05-10 16:14:10 +02:00
Dan
92283d6cab Add timeout to Message.click 2019-05-09 05:55:44 +02:00
Dan
6530c7e293 Remove ChatAction module too
It's pretty much useless, better just use strings
2019-05-09 05:08:37 +02:00
Dan
3a494a478f Remove ParseMode
It's pretty much useless, better just use "markdown" and "html"
2019-05-09 04:32:43 +02:00
Dan
1737ba5f49 Revamp docs about the main Pyrogram package 2019-05-09 04:28:46 +02:00
Dan
ee91e6daa1 Rename bots folder to keyboards 2019-05-08 19:52:21 +02:00
Dan
920f8ff911 Allow unlimited replies to be fetched with get_messages 2019-05-08 16:01:03 +02:00
Dan
692befe038 Allow getting more than one reply via get_messages and replies param
Just for fun (and for consistency with the code logic, since this part
is implemented recursively), not really useful and might lead to
frequent flood waits
2019-05-08 15:40:36 +02:00
Dan
bd9bb83df5 Reword some methods' docstring 2019-05-07 18:26:27 +02:00
Dan
591499121f Add an hint about which client is loading the plugins 2019-05-06 17:40:40 +02:00
Dan
762ea3e62e Add an hint about which client is loading the plugins 2019-05-06 17:39:57 +02:00
Dan
47c4fae36d Merge develop -> asyncio 2019-05-06 17:27:21 +02:00
Dan
692073c856 Fix get_dialogs_count breaking in case of less than 200 dialogs 2019-05-06 17:09:44 +02:00
Dan
08554633ce Add get_user_profile_photos_count method 2019-05-06 17:07:41 +02:00
Dan
e8e0c16daf Add get_contacts_count method 2019-05-06 17:00:09 +02:00
Dan
4e77ead181 Add get_dialogs_count method 2019-05-06 16:58:59 +02:00
Dan
e80eebc234 Add get_history_count method 2019-05-06 16:44:50 +02:00
Dan
95ef9a64de Fix small typos 2019-05-06 16:40:07 +02:00
Dan
01f0af6bb0 Increase OFFLINE_SLEEP to 15 minutes
This avoid frequent dialogs fetch while debugging with user accounts
2019-05-06 16:36:57 +02:00
Dan
6f2c625cd1 Handle minified poll updates 2019-05-05 15:44:53 +02:00
Dan
bfda5852b6 Hint the return type of get_history 2019-05-05 15:44:28 +02:00
Dan
6c140fd03e
Merge pull request #238 from pyrogram/bot-api-4.2
Bot API 4.2
2019-05-05 12:25:42 +02:00
Dan
58482919ba Make is_member field actually working 2019-05-05 12:24:37 +02:00
Dan
a6198921c3 Fix an unresolved reference 2019-05-03 22:55:00 +02:00
Dan
ec258312dd Add missing awaits 2019-05-03 22:47:51 +02:00
Dan
80081a29b4 Add supports_streaming attribute to the Video type 2019-04-30 14:43:57 +02:00
Dan
f3d7cea700 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/types/bots/callback_query.py
2019-04-30 11:53:40 +02:00
Joscha Götzer
d30cad1a2d Use str or bytes for callback_data and CallbackQuery.data (#241) 2019-04-30 11:53:11 +02:00
Dan
7900d2abee Merge branch 'asyncio' of https://github.com/pyrogram/pyrogram into asyncio 2019-04-30 11:51:44 +02:00
Dan
952f9bc503 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
#	pyrogram/client/ext/base_client.py
#	pyrogram/client/methods/messages/delete_messages.py
#	pyrogram/client/types/messages_and_media/message.py
2019-04-30 11:51:36 +02:00
Joscha Götzer
8dd99a8683 Use str or bytes for callback_data and CallbackQuery.data (#241) 2019-04-30 11:49:18 +02:00
Dan
cc9bc56391 Add important note to export_chat_invite_link 2019-04-30 11:29:54 +02:00
Dan
d83a2a951d Revert "Fix export_chat_invite_link broken because of Layer update Fixes #244"
This reverts commit 2aad5985
2019-04-30 11:22:23 +02:00
Dan
2aad59856d Fix export_chat_invite_link broken because of Layer update
Fixes #244
2019-04-30 11:04:37 +02:00
Dan
94574efe2c Remove unneeded method 2019-04-30 10:33:11 +02:00
Dan
cec43bf568 Update develop version 2019-04-20 18:57:07 +02:00
Dan
63d76a7f13 Bring back automatic mime type detection for new uploads (fixes #239)
- Add mime.types file to contain a good database of type -> ext mappings
  from svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types

- Load mime.type at BaseClient creation and add two convenience methods
  for guessing mime types from filenames and extensions from mime types,
  guess_mime_type and guess_extension

- Make all send_* method as well as download_media use the new mime type
  database via guess_mime_type and guess_extension methods
2019-04-20 18:56:30 +02:00
Dan
57be97566d Make delete_messages return False when it fails to delete
This is because there will be no exception raised, because Telegram
is not sending any RPCError when you try to delete a message you don't
have rights on to.
2019-04-14 22:34:05 +02:00
Dan
b056aa8d7f Add the field is_member to the ChatMember type
This can be used to find whether a restricted user is a member of the
chat at the moment of the request.
2019-04-14 21:08:33 +02:00
Dan
d6d2923e34 Add missing Poll docstrings in Message 2019-04-14 20:52:00 +02:00
Dan
5905f761fa Add PollHandler type and on_poll decorator for handling Poll updates 2019-04-14 20:50:13 +02:00
bakatrouble
952f0627f1 Merge branch 'develop' into session_storage
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/ext/base_client.py
#	pyrogram/client/ext/syncer.py
#	pyrogram/client/style/html.py
#	pyrogram/client/style/markdown.py
2019-04-14 21:49:45 +03:00
Dan
5c638e707e Poll ids are now strings and not integers 2019-04-14 20:48:25 +02:00
Dan
cbc938931d Rename forward_from_name to forward_sender_name 2019-04-14 20:34:46 +02:00
Dan
ebacefb6e0 Increase media thumbnail size limit 2019-04-14 20:33:45 +02:00
Dan
22a7e338ff Fetch the pinned message in own chat (saved messages) 2019-04-14 20:18:44 +02:00
Dan
4661fb035b Refactor Poll types and methods to reflect Bot API 4.2 docs 2019-04-14 20:17:42 +02:00
Dan
1dd3ba4133 Add missing awaits 2019-04-14 18:47:45 +02:00
Dan
313bf8952f Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
2019-04-14 12:58:58 +02:00
Dan
afac7651e4 Update to v0.12.0 2019-04-14 12:45:06 +02:00
Dan
d2179e2ede Fix Filters.video_note wrong name 2019-04-14 12:25:31 +02:00
Dan
1750300ab9 Add missing awaits 2019-04-13 17:58:20 +02:00
Dan
ad49e72f02 Fix inline_query_parser in asyncio branch 2019-04-13 17:32:18 +02:00
Dan
9100a43f7b Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/methods/chats/set_chat_description.py
2019-04-13 16:26:50 +02:00
Dan
1e635f00ea Fix set_chat_description not working anymore with the new Layer 2019-04-13 16:10:15 +02:00
Dan
6ad9caa7c6 Automatically cast inline result ids to string 2019-04-13 15:54:19 +02:00
Dan
4d1abbbb79 Make the deprecation warning actually work 2019-04-13 14:41:14 +02:00
Dan
292a6ea7bf Refactor the command filter.
Also allow it to work on media captions as well
2019-04-13 14:21:53 +02:00
Dan
88078d4573 Simplify user and chat filters implementation 2019-04-13 14:03:01 +02:00
Dan
d49aed3d9e Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
2019-04-13 13:05:59 +02:00
Dan
05aed5e0e1 Clean up documentation pages 2019-04-12 15:52:06 +02:00
Dan
95a7befed5 Update async version 2019-04-08 16:50:48 +02:00
Ningmua Bruno
8023aa5d28
Attempting solution to why pyrogram breaks 2019-04-01 02:36:54 +01:00
Dan
b94f6d4e99 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/methods/chats/get_chat_members.py
2019-03-28 16:26:28 +01:00
Dan
fbe6af2fc6 Automatically handle flood waits when using get_chat_members 2019-03-28 16:24:11 +01:00
Dan
f96a0b7674 Merge branch 'develop' into asyncio 2019-03-28 14:02:02 +01:00
Dan
e79f4fde80 Fix send_chat_action not working with upload_* actions 2019-03-28 14:01:38 +01:00
Dan
e05a5ebf6f Fix core types not being printed because of missing __slots__ 2019-03-28 14:01:16 +01:00
Dan
29940fbc66 Fix StopTransmission in asyncio by inheriting from StopAsyncIteration
Instead of StopIteration
2019-03-27 15:44:29 +01:00
Dan
7f7f9768fd Add missing awaits 2019-03-27 15:16:15 +01:00
Dan
654a432d99 Merge branch 'develop' into asyncio 2019-03-27 14:46:24 +01:00
Dan
b4da453ef3 Documentation fixes 2019-03-27 14:46:02 +01:00
Dan
ef5dd96bdc Fix broken mentions for both HTML and Markdown 2019-03-26 13:32:30 +01:00
Dan
1179a5b994 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
#	pyrogram/client/client.py
#	pyrogram/session/session.py
2019-03-25 11:52:54 +01:00
Dan
b8341a9869 Remove delete_messages limitations 2019-03-25 11:34:47 +01:00
Dan
b5c6db6db0 Refactor project and move errors namespace out from pyrogram.api 2019-03-25 11:23:45 +01:00
Dan
066633ce45 Move dispatcher.py inside ext folder 2019-03-25 09:45:37 +01:00
Dan
ce0173e7cd Add support for hidden users in forwarded messages 2019-03-24 18:51:04 +01:00
Dan
ac318831dc Add missing awaits 2019-03-22 13:47:31 +01:00
Dan
5d163ebabc Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/dispatcher/dispatcher.py
#	pyrogram/client/types/messages_and_media/sticker.py
2019-03-22 13:36:27 +01:00
Dan
4b7c6810c0 Make get_sticker_set_name "private" with a leading underscore _ 2019-03-22 13:33:47 +01:00
Dan
5edd971118 Update docs to use bot_token parameter 2019-03-22 12:39:15 +01:00
Dan
27666ec174 Small docs fixes 2019-03-22 12:14:31 +01:00
Dan
f0138ce555 Fix Inline buttons parsing 2019-03-22 11:58:49 +01:00
Dan
921800f902 Clean up docstrings 2019-03-22 11:53:25 +01:00
Dan
bc9f902376 Clean up inline-mode 2019-03-22 11:35:35 +01:00
Dan
fede74398c Fix inline-mode branch breaking after many commits from develop 2019-03-21 18:37:00 +01:00
Dan
acbbfabb27 Merge branch 'develop' into inline-mode
# Conflicts:
#	compiler/api/compiler.py
#	compiler/error/source/400_BAD_REQUEST.tsv
#	pyrogram/__init__.py
#	pyrogram/client/dispatcher/dispatcher.py
#	pyrogram/client/ext/utils.py
#	pyrogram/client/methods/bots/__init__.py
#	pyrogram/client/types/__init__.py
2019-03-21 17:40:49 +01:00
Dan
33c6da44b2 Merge branch 'develop' into asyncio 2019-03-21 17:05:01 +01:00
Dan
afcde95b30 Fix parsing ChannelForbidden; it doesn't have default permissions 2019-03-21 17:03:35 +01:00
Dan
a4217ab58b Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/methods/messages/forward_messages.py
#	pyrogram/client/types/messages_and_media/message.py
2019-03-21 14:09:07 +01:00
Dan
41729cbdda Fix argument not passed with name 2019-03-21 14:08:09 +01:00
Dan
159090483f Update style 2019-03-21 14:04:46 +01:00
Dan
03707fd312 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/methods/messages/forward_messages.py
#	pyrogram/client/methods/messages/send_contact.py
#	pyrogram/client/types/messages_and_media/message.py
2019-03-21 14:02:35 +01:00
bakatrouble
081b9b280a Add ability to forward messages as copies (#227)
* Add ability to forward messages as copies

* Add Messages.forward() method

* Update and clean up code
2019-03-21 13:53:07 +01:00
Eric Solinas
ac591cf3c7 Add more Message convenience methods (#233)
* Added convenience methods
message.reply_animation
message.reply_audio
message.reply_cached_media
message.reply_chat_action
message.reply_contact
message.reply_document
message.reply_game
message.reply_inline_bot_result
message.reply_location
message.reply_media_group
message.reply_photo
message.reply_poll
message.reply_sticker
message.reply_venue
message.reply_video
message.reply_video_note
message.reply_voice
message.edit_caption
message.edit_media
message.edit_reply_markup
message.pin

fixed send_document docstrings while doing so
uniformed function declaration of send_poll

* Update style and small fixes
2019-03-20 15:44:20 +01:00
bakatrouble
5aa93b8287 Show TOS on signup just once while program is running (#231) 2019-03-20 14:20:38 +01:00
Dan
9d701bc226 Fix import order causing errors 2019-03-16 20:15:25 +01:00
Dan
a06885dd14 Add support for "async with" context manager 2019-03-16 19:56:25 +01:00
Dan
a329e56259 Fix import order causing errors 2019-03-16 19:56:04 +01:00
Dan
84fb959c8c Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/__init__.py
#	pyrogram/client/client.py
#	pyrogram/client/methods/bots/answer_callback_query.py
#	pyrogram/client/methods/bots/get_game_high_scores.py
#	pyrogram/client/methods/bots/get_inline_bot_results.py
#	pyrogram/client/methods/bots/request_callback_answer.py
#	pyrogram/client/methods/bots/send_game.py
#	pyrogram/client/methods/bots/send_inline_bot_result.py
#	pyrogram/client/methods/bots/set_game_score.py
#	pyrogram/client/methods/chats/delete_chat_photo.py
#	pyrogram/client/methods/chats/export_chat_invite_link.py
#	pyrogram/client/methods/chats/get_chat.py
#	pyrogram/client/methods/chats/get_chat_member.py
#	pyrogram/client/methods/chats/get_chat_members.py
#	pyrogram/client/methods/chats/get_chat_members_count.py
#	pyrogram/client/methods/chats/get_dialogs.py
#	pyrogram/client/methods/chats/iter_chat_members.py
#	pyrogram/client/methods/chats/iter_dialogs.py
#	pyrogram/client/methods/chats/join_chat.py
#	pyrogram/client/methods/chats/kick_chat_member.py
#	pyrogram/client/methods/chats/leave_chat.py
#	pyrogram/client/methods/chats/pin_chat_message.py
#	pyrogram/client/methods/chats/promote_chat_member.py
#	pyrogram/client/methods/chats/restrict_chat_member.py
#	pyrogram/client/methods/chats/set_chat_description.py
#	pyrogram/client/methods/chats/set_chat_photo.py
#	pyrogram/client/methods/chats/set_chat_title.py
#	pyrogram/client/methods/chats/unban_chat_member.py
#	pyrogram/client/methods/chats/unpin_chat_message.py
#	pyrogram/client/methods/contacts/add_contacts.py
#	pyrogram/client/methods/contacts/delete_contacts.py
#	pyrogram/client/methods/contacts/get_contacts.py
#	pyrogram/client/methods/messages/delete_messages.py
#	pyrogram/client/methods/messages/download_media.py
#	pyrogram/client/methods/messages/edit_message_caption.py
#	pyrogram/client/methods/messages/edit_message_media.py
#	pyrogram/client/methods/messages/edit_message_reply_markup.py
#	pyrogram/client/methods/messages/edit_message_text.py
#	pyrogram/client/methods/messages/forward_messages.py
#	pyrogram/client/methods/messages/get_history.py
#	pyrogram/client/methods/messages/get_messages.py
#	pyrogram/client/methods/messages/iter_history.py
#	pyrogram/client/methods/messages/send_animation.py
#	pyrogram/client/methods/messages/send_audio.py
#	pyrogram/client/methods/messages/send_cached_media.py
#	pyrogram/client/methods/messages/send_chat_action.py
#	pyrogram/client/methods/messages/send_contact.py
#	pyrogram/client/methods/messages/send_document.py
#	pyrogram/client/methods/messages/send_location.py
#	pyrogram/client/methods/messages/send_media_group.py
#	pyrogram/client/methods/messages/send_message.py
#	pyrogram/client/methods/messages/send_photo.py
#	pyrogram/client/methods/messages/send_sticker.py
#	pyrogram/client/methods/messages/send_venue.py
#	pyrogram/client/methods/messages/send_video.py
#	pyrogram/client/methods/messages/send_video_note.py
#	pyrogram/client/methods/messages/send_voice.py
#	pyrogram/client/methods/password/change_cloud_password.py
#	pyrogram/client/methods/password/enable_cloud_password.py
#	pyrogram/client/methods/password/remove_cloud_password.py
#	pyrogram/client/methods/users/delete_user_profile_photos.py
#	pyrogram/client/methods/users/get_user_profile_photos.py
#	pyrogram/client/methods/users/get_users.py
#	pyrogram/session/auth.py
#	pyrogram/session/session.py
2019-03-16 19:49:38 +01:00
Dan
3e18945f3c Reformat code 2019-03-16 19:23:23 +01:00
Dan
9f26ac9cbe Merge branch 'develop' into __slots__ 2019-03-16 17:51:48 +01:00