Commit Graph

124 Commits

Author SHA1 Message Date
Dan
182768a5d3 Add support for LoginUrl buttons 2021-03-17 17:13:55 +01:00
Dan
a94c3bb465 Add support for invite link chat log events (edit, revoke, delete) 2021-03-17 16:04:34 +01:00
Dan
1c52d21d65 Minor document fixes 2021-03-17 15:42:54 +01:00
Dan
ddb2d84f96 Add support for can_manage_chat permission 2021-03-17 15:19:36 +01:00
Dan
dff3d993e1 Add support for updates about chat member status changes 2021-03-17 15:11:23 +01:00
Dan
86cc1837b6 Add support for the new bowling animation (dice) 2021-03-17 15:09:04 +01:00
ColinShark
ee5f39374c
Add support for the improved Invite Links (#639)
* Add new invite link export methods

* Implement higher-level Invite type

* Update Docstrings and rename Invite

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

* Add method to get exported links

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

* Update returned type

`str` -> `types.InviteLink`

* Add method to edit invite link

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

* Move Invites V2 methods to their own namespace

* Add get_chat_invite_importers and InviteImporter

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

* Add methods to delete revoked links

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

* Renaming Invite(s) to InviteLink(s)

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

Also sorted invites' __init__ alphabetically

* Add Method to get admins with exported invite link

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

* Invite Links overhaul

* Rearrange code

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

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

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

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

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

* Added filter= parameter

- An Optional Parameter for global search

* Update search_global.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2021-01-14 21:49:51 +01:00
Krishna-singhal
79583a29fc
Remove obsolete example from docs (#576) 2021-01-10 16:00:38 +01:00
Ripe
38d60f5e10
Fix DC sessions for inline message edits (#585) 2021-01-10 15:59:27 +01:00
Dan
51f771457c Fix captions not being preserved when editing media 2021-01-08 09:02:29 +01:00
Dan
7dda167c09 Update copyright notice
Year 2021
2021-01-01 22:58:48 +01:00
Dan
91ec6ebf1b Merge branch 'develop' of https://github.com/pyrogram/pyrogram
 Conflicts:
	pyrogram/methods/chats/__init__.py
	pyrogram/methods/chats/mark_chat_unread.py
2020-12-26 22:07:12 +01:00
Dan
c2c857b61b Fix wrong usages of italic delimiters 2020-12-26 13:08:40 +01:00
Dan
f764d245f5 Fix bad mime_type default value in case it doesn't exist 2020-12-25 00:05:49 +01:00
Kunoi Sayami
01a3aab482
Fix typing hint missing in forward_messages function (#569) 2020-12-24 19:18:46 +01:00
Dan
4b77bbd468 Fix get_dialogs breaking in case of empty messages 2020-12-23 17:20:06 +01:00
Alisson Lauffer
1dc4df8cb1
Improve typing hints (#537)
* Change type1 or type2 to Union[type1, type2]

* Address @KunoiSayami suggestions

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

* Update PR with latest commit changes

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

Support for GetMediaGroup

* Create get_media_group.py

Added new method - get_media_group

* Update get_media_group.py

Add pyro stuff

* Update get_media_group.py

* Update compiler.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2020-12-20 17:02:54 +01:00
Dan
7efd0d1d4e
Merge pull request #555 from JosXa/patch-1
Don't process MessageEmpty in get_dialogs
2020-12-11 19:15:58 +01:00
Dan
1835b62a40
Merge pull request #556 from drizzt/video-ttl_seconds
Add ttl_seconds support for send_video and reply_video
2020-12-11 18:34:49 +01:00
Dan
e7667d851e Add "speaking" chat action 2020-12-08 22:30:37 +01:00
Dan
76b9f97681 Fix little typo 2020-12-05 17:00:00 +01:00
Dan
2f3bcd7ee5 Add Message.copy bound method 2020-12-05 01:54:07 +01:00
Dan
c606f836d4 Remove as_copy from forward_messages (superseded by copy_message) 2020-12-05 01:37:11 +01:00
Dan
7325daf870 Add new method: copy_message 2020-12-05 01:35:24 +01:00
Dan
6f878949e1 Add missing caption_entities parameter to send_cached_media 2020-12-05 01:34:14 +01:00
Timothy Redaelli
babbe00e5e Add ttl_seconds support for send_video and reply_video 2020-12-03 13:00:18 +01:00
Joscha Götzer
ff0fa9cbc3
Update get_dialogs.py 2020-12-03 02:51:03 +01:00
Joscha Götzer
b8934ae17c
Don't process MessageEmpty in get_dialogs
Prevent
```
  File "C:\Users\INT002327\AppData\Local\pypoetry\Cache\virtualenvs\josxabot-c3BmTbt9-py3.8\lib\site-packages\pyrogram\methods\chats\get_dialogs.py", line 92, in get_dialogs
    to_id = message.to_id
            └ pyrogram.raw.types.MessageEmpty(id=2767691)

AttributeError: 'MessageEmpty' object has no attribute 'to_id'
```
2020-12-01 21:55:33 +01:00
Dan
384f4eba71 Add support for manual text entities. 2020-11-29 15:48:29 +01:00
Dan
72db61a416 Fix wrong docs references on pyrogram.filters 2020-11-28 17:38:08 +01:00
Dan
4f197855f4 Fix messed up variable names 2020-11-28 17:37:39 +01:00
Dan
90cee1ea89 Add schedule_date parameter to send_media_group() 2020-11-28 15:58:51 +01:00
Dan
a4566de2ef Add support for the new Bot API fields: file_id, file_unique_id
Remove file_ref from Pyrogram's API
2020-11-27 22:09:17 +01:00
Dan
8fbe45ddba Docs improvements 2020-11-27 19:06:25 +01:00
Dan
80f8010d50 Add support for pinned messages in search_messages 2020-11-10 18:43:47 +01:00
Dan
f832df14b4 Add parameter is_anonymous to the method promote_chat_member 2020-11-08 13:52:15 +01:00
Dan
fa24439ee3 Add support for InputMediaDocument in media groups 2020-11-08 13:39:43 +01:00
Dan
ebf2d68386 Add new method unpin_all_chat_messages 2020-11-08 13:21:40 +01:00
Dan
c139d78b34 Fix wrong imports in examples 2020-10-31 19:29:39 +01:00
NoamDev
62999772c2
Fix wrong comparison with a non-raw type (#525)
chatex.send now returns raw.types.Chat instead of types.Chat
2020-10-31 17:08:29 +01:00
Dan
e39ebdec82
Merge pull request #527 from pyrogram/L120
Update API schema to Layer 120
2020-10-31 16:56:27 +01:00
Dan
fe16dc8043 Allow sending audio playlists 2020-10-31 16:47:55 +01:00
Dan
832f1f6d53 Update pin/unpin_chat_message and Message.pin/unpin 2020-10-31 16:47:32 +01:00
Dan
431abd6a51 Merge branch 'L120' into L119
# Conflicts:
#	compiler/api/source/main_api.tl
2020-10-31 16:20:18 +01:00
Mahesh19
87f20a1ac2
Update examples for send_media_group.py (#481)
InputMediaPhoto and InputMediaVideo are under pyrogram.types
2020-10-18 18:00:17 +02:00
GodSaveTheDoge
00dd4bc403
Make Message.new_chat_photo downloadable (#508)
Fixes #364
2020-10-18 17:54:03 +02:00
Dan
dadb4b4eb6 Do not recalculate the md5 sum in case of chunk re-uploads 2020-10-17 17:07:32 +02:00
Dan
4632879ee4 Changes for L119 2020-09-30 20:26:57 +02:00
Dan
3127edde68
Add missing method to the mixin
delete_user_history
2020-09-16 09:16:31 +02:00
Dan
ae88c851bb Fix sync callback progress not working properly for downloads
- Reduce duplicated code
- Fixes #484
2020-09-05 12:44:48 +02:00
Dan
33d04b5916 Change default get/iter_chat_members filter to "recent" 2020-08-30 10:58:55 +02:00
Dan
71bdfe6c40 Fix get_profile_photos not working correctly in case of no chat photos 2020-08-29 17:26:16 +02:00
Dan
c689273167 Add force_document argument for send_document 2020-08-29 15:50:36 +02:00
Dan
4dd068643d Fix get_profile_photos not working properly in channels 2020-08-29 15:11:21 +02:00
Dan
50c6207099 Actually fix inline callback queries coming from different DCs 2020-08-27 14:12:51 +02:00
Dan
c0049ba43b Strictly check if sleep_threshold is None 2020-08-27 14:12:28 +02:00
Dan
f909e1e4ea Fix "invalid escape" warnings 2020-08-26 09:07:26 +02:00
Dan
7c987889f0 Add sleep_threshold parameter to send() method
- Decrease the default sleep threshold from 60 to 10 seconds
- Use a higher sleep threshold for generator methods
2020-08-26 09:01:01 +02:00
Dan
f06562b73d Add missing await keywords 2020-08-26 07:43:57 +02:00
Dan
1311974fde Fix idle() not working in Windows
- Remove event-based idling
- Add back while-true-based idling
2020-08-25 14:17:39 +02:00
Dan
65b5229fe8 Use inspect's iscoroutinefunction, not asyncio's 2020-08-25 09:32:39 +02:00
Dan
5f087e5f82 Use create_task instead of ensure_future 2020-08-22 14:05:54 +02:00
Dan
d7be2c90a1 Fix run() not dealing properly with coroutines 2020-08-22 09:50:37 +02:00
Dan
bc62b3f6ae Implement a way to deal with failing inline requests
This is due to Telegram raising an error in case bots not
in DC4 try to communicate with chats that live in DC4.
2020-08-22 09:22:14 +02:00
Dan
538f1e3972 Deep rewrite: preparing for v1.0
- Pyrogram core is now fully asynchronous
- Ditched Python 3.5, welcome 3.6 as minimum version.
- Moved all types to pyrogram.types
- Turned the Filters class into a module (filters)
- Moved all filters to pyrogram.filters
- Moved all handlers to pyrogram.handlers
- Moved all emoji to pyrogram.emoji
- Renamed pyrogram.api to pyrogram.raw
- Clock is now synced with server's time
- Telegram schema updated to Layer 117
- Greatly improved the TL compiler (proper type-constructor hierarchy)
- Added "do not edit" warning in generated files
- Crypto parts are executed in a thread pool to avoid blocking the event loop
- idle() is now a separate function (it doesn't deal with Client instances)
- Async storage, async filters and async progress callback (optional, can be sync too)
- Added getpass back, for hidden password inputs
2020-08-22 08:05:05 +02:00