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
Dan
def3bdaa63
Reformat code
2019-03-16 17:51:37 +01:00
Dan
34b51b6481
Force keyword arguments for all TL types
2019-03-16 16:53:52 +01:00
Dan
e0f1f6aaeb
Add __slots__ to every single Pyrogram types
2019-03-16 16:15:56 +01:00
Dan
ef9ed31589
Add __slots__ to PyrogramType and Update types
2019-03-16 16:15:56 +01:00
Dan
c611944d45
Don't ensure ascii when printing objects
...
This will break in case of non-utf8 terminals
2019-03-16 15:40:07 +01:00
Dan
6bd9ddc95e
Add __slots__ to Telegram TL types
2019-03-16 15:30:55 +01:00
Dan
36635625f3
Update develop version
2019-03-13 14:55:02 +01:00
Dan
ad42b4c236
Add restrict_chat method
2019-03-13 14:48:55 +01:00
Dan
0c8b5f02fc
Make restrict_chat_member return Chat instead of a simple boolean
2019-03-13 14:48:30 +01:00
Dan
b01caf10a9
Rename default_permissions to just permissions
2019-03-13 14:47:39 +01:00
Dan
5be5446a77
Update restrict_chat_member with new permissions
2019-03-13 13:58:57 +01:00
Dan
7cdcb515b1
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/client/methods/chats/promote_chat_member.py
# pyrogram/client/methods/chats/restrict_chat_member.py
# pyrogram/client/methods/chats/unban_chat_member.py
2019-03-13 13:08:58 +01:00
Dan
b6038c4f2e
Update Chat and ChatPermissions to accommodate default chat permissions
2019-03-13 13:02:40 +01:00
Dan
8c9e5e6753
Fix PhotoSize parsing
2019-03-13 12:14:08 +01:00
Dan
a0e48572cb
Merge branch 'develop' into layer-95
2019-03-13 10:05:31 +01:00
Dan
3d23b681e3
Add missing await
2019-03-12 16:48:34 +01:00
Dan
ae96ca5b90
Merge branch 'develop' into asyncio
2019-03-12 16:47:12 +01:00
Dan
90b959555d
Fix flood waits generated when iterating over basic chat members
2019-03-12 16:46:54 +01:00
Dan
2078e6da28
Turn send_cached_media async
2019-03-11 21:27:25 +01:00
Dan
c6e4963ce0
Merge branch 'develop' into asyncio
2019-03-11 21:26:34 +01:00
Dan
b3ef53a29a
Add send_cached_media method
2019-03-11 21:26:07 +01:00
Dan
a4ea3f768c
Fix get_chat_member not working when passing "me" in basic groups
2019-03-04 12:56:47 +01:00
Dan
ccf7271d8c
Merge branch 'develop' into asyncio
2019-03-04 12:51:00 +01:00
Dan
64775f5209
Fix "ModuleNotFoundError is not defined" error for Python <3.6
2019-03-04 12:50:42 +01:00
Dan
99af3a4180
Tune upload pool size and workers count
...
Use 1 worker only in case of small files
2019-03-03 17:11:55 +01:00
Dan
4b73358922
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/session/session.py
2019-03-03 16:54:43 +01:00
Dan
e42599051c
Use a lower timeout when starting a session to speed up re-connections
...
Sometimes the server drops right after a successful connection and
pyrogram keeps waiting up 15 seconds (current WAIT_TIMEOUT) for the
first query to time out and start again a new connection.
2019-03-03 16:50:25 +01:00
Dan
41649066f3
Merge remote-tracking branch 'origin/asyncio' into asyncio
2019-03-03 14:13:47 +01:00
Dan
02a1dde399
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/client/client.py
# pyrogram/client/methods/chats/join_chat.py
# pyrogram/client/methods/messages/edit_message_media.py
2019-03-02 16:36:44 +01:00
bakatrouble
85700b0ffc
Do not cache entities without access_hash
2019-03-01 21:23:53 +03:00
bakatrouble
8cc61f00ed
Fix threading with sqlite storage
2019-03-01 21:23:01 +03:00
Dan
ffa0da5800
Merge branch 'develop' into layer-95
...
# Conflicts:
# pyrogram/__init__.py
2019-03-01 18:38:27 +01:00
bakatrouble
f84f9ec4df
Add bot_token argument ( #221 )
...
* Add bot_token argument (closes #123 )
* Make session_name docs more readable and detailed
* Explicitely set is_bot=False
2019-03-01 18:30:39 +01:00
bakatrouble
87c4d08d9c
client.join_chat() now returns pyrogram.Chat instead of MTProto Update ( #206 )
...
* client.join_chat() now returns pyrogram.Chat instead of MTProto Update
* Do not use Chat._parse_mtproto_chat() method
* Update chat.py
Rename _parse_mtproto_chat to a generic _parse_chat_chat
Hint about its current usage (none).
2019-03-01 18:28:46 +01:00
bakatrouble
fda25f6534
Add client.set_username() method ( #208 )
...
* Add client.set_username() method
* Rename set_username() to update_user_username(); allow None as username
* Add client.update_chat_username() method
* Update update_chat_username.py
* Update update_user_username.py
Rename update_user_username to update_username
Add more details in docstrings
Fix style
* Rename update_user_username.py to update_username.py
* Update __init__.py
* Update 400_BAD_REQUEST.tsv
2019-03-01 18:06:17 +01:00
bakatrouble
5874e521ba
Merge remote-tracking branch 'pyrogram/develop' into session_storage
2019-03-01 19:43:02 +03:00
Dan
5294c21e97
Automatically coerce any text to string for keyboard buttons
2019-03-01 16:04:21 +01:00
bakatrouble
b0c011c70c
Fix plugins import on windows ( #223 )
...
Fixes #217
2019-02-27 22:27:50 +01:00
bakatrouble
033622cfb8
Cleanup json session storage specific code as it is used only for migrations
2019-02-27 22:49:23 +03:00
bakatrouble
10fc340eff
Add session migrating from json; add some indexes to sqlite sessions
2019-02-26 21:43:23 +03:00
bakatrouble
03b92b3302
Implement SQLite session storage
2019-02-26 21:06:30 +03:00
bakatrouble
260043d8ec
Unify peers cache
2019-02-26 19:24:00 +03:00
Dan
bd56c428c6
Inherit from StopAsyncIteration
2019-02-23 12:09:27 +01:00
bakatrouble
5dc33c6337
add in-memory session storage, refactor session storages, remove mixin
2019-02-22 03:37:19 +03:00
bakatrouble
9c4e9e166e
Merge #221 , string sessions now work for bots too
2019-02-22 02:13:51 +03:00
bakatrouble
fd5889d69e
Merge branch 'bot_token_arg' into session_storage
...
# Conflicts:
# pyrogram/client/client.py
# pyrogram/client/ext/base_client.py
# pyrogram/client/ext/syncer.py
2019-02-22 01:59:21 +03:00
bakatrouble
5cc9a452eb
Add bot_token argument ( closes #123 )
2019-02-22 01:34:08 +03:00
bakatrouble
fd732add70
Refactor session storages: use session_name arg to detect storage type
2019-02-22 00:03:58 +03:00
bakatrouble
b04cf9ec92
Add string session storage
2019-02-21 21:43:57 +03:00
bakatrouble
431a983d5b
Fix logging and cleanup imports in client.py
2019-02-21 21:18:53 +03:00
bakatrouble
9d32b28f94
Implement extendable session storage and JSON session storage
2019-02-21 20:12:11 +03:00
Dan
50cff068a0
Fix send_* methods sending the incorrect Telegram media message type
...
This makes Pyrogram consistent with the official Bot API behaviour.
2019-02-12 20:29:05 +01:00
23rd
69f347ddec
Fixed loss of thumbnails after media editing. ( #216 )
2019-02-11 11:07:02 +01:00
Dan
cfcc4195ae
Merge branch 'develop' into asyncio
...
# Conflicts:
# requirements.txt
2019-02-07 16:28:11 +01:00
Dan
c05e008656
Monkey patch "typing" only for Python 3.5.0, 3.5.1 and 3.5.2
2019-02-07 16:27:17 +01:00
Dan
1e6d03108f
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/__init__.py
# pyrogram/client/client.py
# pyrogram/client/methods/contacts/get_contacts.py
# pyrogram/client/methods/messages/send_media_group.py
# requirements.txt
2019-02-07 16:20:03 +01:00
Dan
048858f545
Merge remote-tracking branch 'origin/develop' into develop
2019-02-07 13:23:03 +01:00
Dan
c1ca2d08ad
Vendor an updated (and working) typing module to fix <3.5.3 errors
...
Monkey patch from https://github.com/python/typing
2019-02-07 13:20:44 +01:00
Dan
0216df7fc3
Update develop version
2019-02-06 19:44:23 +01:00
Dan
23a40a45ca
Make get_contacts return a list of User objects
2019-02-06 11:28:57 +01:00
Dan
712b390f77
Add a retry mechanism when uploading chunks
2019-02-05 17:10:00 +01:00
Dan
a2263ad8ce
Make send_media_group return the new Messages object
2019-02-05 11:50:32 +01:00
Dan
4eb26c5b92
Fix sleep method calls in asyncio: time.sleep -> asyncio.sleep
2019-02-04 18:34:58 +01:00
Dan
6109129f73
Reword some filter docstrings to better explain their usages
2019-02-04 18:23:40 +01:00
Dan
5de2b67df5
Update Pyrogram to v0.11.0
2019-02-04 16:40:24 +01:00
Dan
f012428f7e
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/__init__.py
2019-02-04 13:00:28 +01:00
Dan
c213118a74
Update develop version
2019-02-04 13:00:09 +01:00
Dan
dd86aba9d3
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/client/dispatcher/dispatcher.py
# pyrogram/client/methods/messages/get_history.py
2019-02-04 12:59:20 +01:00
Dan
a6dbed6dfb
Add a way to continue the update propagation within a group
...
Add continue_propagation() method and ContinuePropagation exception
Closes #212
2019-02-04 12:33:54 +01:00
Dan
ccecbd6a50
Merge branch 'raw-updates-swallowing' into develop
2019-02-04 11:47:31 +01:00
Dan
392fea6e32
Refactor Dispatcher's worker
...
Closes #211
2019-02-04 11:47:21 +01:00
Dan
429cfd0882
Move the check method into Handler superclass
2019-02-04 10:35:00 +01:00
Dan
249e405339
Update API schema to Layer 95
2019-02-03 11:03:11 +01:00
Dan
c40f061d9a
Fix CallbackQuery docstrings
2019-02-02 19:01:35 +01:00
Dan
f0d059da07
First working (and ugly) way for fixing raw updates being swallowed
2019-01-30 17:16:50 +01:00
MBRCTV
cc7cb27858
Add missing await for send_audio thumbnail upload ( #210 )
2019-01-30 15:45:30 +01:00
MBRCTV
58cb30d97c
Added missing 'await' on thumb
2019-01-29 16:36:21 -05:00
Dan
628ddd4a25
Update Client's docstrings
2019-01-27 11:24:23 +01:00
Dan
67a35f8c7e
Handle get_history flood waits
...
It's likely to get triggered when using iter_history (every ~3k msgs)
2019-01-27 11:13:10 +01:00
Dan
6c7a3316dd
Merge branch 'develop' into asyncio
2019-01-26 16:15:38 +01:00
Dan
a8a6f53e2d
Fix the configuration load process breaking in case of no plugins
2019-01-26 13:01:44 +01:00
Dan
e83012bfb8
Add missing await keywords
2019-01-25 10:24:04 +01:00
Dan
61e9762977
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/client/client.py
2019-01-25 10:22:56 +01:00
Dan
66ed6d53e3
Merge branch 'smart-plugins-enhancements' into develop
2019-01-25 09:22:06 +01:00
Dan
68509638c1
Merge branch 'develop' into layer-93
2019-01-24 17:21:57 +01:00
Dan
44deabf399
Update iter_chat_members efficiency
2019-01-24 17:21:41 +01:00
Dan
56e7bc9962
Update kick*, promote*, restrict* and unban_chat_member methods
...
For Layer 93
2019-01-24 17:20:29 +01:00
Dan
e9b1730318
Update ChatMember to use the new ChatPermissions type
2019-01-24 17:05:15 +01:00
Dan
1472b8236d
Add ChatPermissions type
2019-01-24 17:03:51 +01:00
Dan
e99f86b69f
Update media thumbs parsing for L93
2019-01-21 18:45:52 +01:00
Dan
cb0b8ebeae
Fix Chat sticker_set_name
2019-01-21 18:35:11 +01:00
Dan
c0a5b0a2c3
Fix kicked members reporting "left" as status
2019-01-21 16:56:22 +01:00
Dan
b919ed8242
Add restricted_by attribute in ChatMember ( #204 )
2019-01-21 16:53:54 +01:00
Dan
f0c8f65e9d
Add promoted_by attribute in ChatMember ( #204 )
2019-01-21 16:41:56 +01:00
Dan
16b7203ee9
Add invite_by attribute in ChatMember ( #204 )
2019-01-21 16:34:46 +01:00
Dan
a57ee7b333
Accommodate parsing of invited_by attribute of ChatMember ( #204 )
2019-01-21 16:33:33 +01:00
Dan
d6a1503344
Add "date" attribute to ChatMember ( #204 )
2019-01-21 15:38:36 +01:00
Dan
76d4e4f60e
Fix "left" status not being parsed in ChatMember ( #204 )
2019-01-21 15:36:54 +01:00
Dan
652b3f90bc
Remove async from some method signatures. They are not asynchronous
2019-01-17 12:34:30 +01:00
Dan
d72754be1e
Add missing await
2019-01-17 12:30:40 +01:00
Dan
be013de4d4
Fix plugins load via Client parameter
2019-01-16 20:25:48 +01:00
Dan
6ec3b12aeb
Smart plugins enhancements
2019-01-16 15:54:48 +01:00
Dan
3d16a715ad
Fix file using wrong line separator
2019-01-16 15:46:46 +01:00
Dan
6df7788379
Enhance proxy settings
...
- Allow proxy settings to omit "enabled" key
- Allow setting proxy to None in order to disable it
2019-01-16 13:10:01 +01:00
Dan
63cb4b412e
Fix PyCharm mess when merged develop into asyncio
2019-01-13 11:21:31 +01:00
Dan
9999c77e95
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/client/client.py
# pyrogram/client/methods/messages/send_animation.py
# pyrogram/client/methods/messages/send_audio.py
# pyrogram/client/methods/messages/send_document.py
# pyrogram/client/methods/messages/send_photo.py
# pyrogram/client/methods/messages/send_sticker.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/types/messages_and_media/message.py
2019-01-11 14:24:15 +01:00
Dan
4e02cd23a8
Make all send_* methods dealing with files aware of StopTransmission
2019-01-11 14:13:23 +01:00
Dan
2791600926
Hint about the returned value in case of stopped downloads
2019-01-11 14:12:53 +01:00
Dan
b37d4dc7ec
Make get_file and save_file handle StopTransmission errors
2019-01-11 14:03:16 +01:00
Dan
6b63e88de7
Add Client.stop_transmission() method
...
As a wrapper for raise StopTransmission
2019-01-11 14:02:40 +01:00
Dan
c28b9f9a2c
Add StopTransmission custom exception
...
Useful for stopping up/downloads after they started
2019-01-11 14:00:03 +01:00
Dan
d5ed47f4e9
Fix Message.download() not working when using the progress callback
2019-01-11 13:59:18 +01:00
Dan
200ed844fe
Fix first_name and last_name not being called if they are callable
2019-01-11 13:02:19 +01:00
Dan
48b50780ce
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/client/client.py
# pyrogram/client/methods/messages/send_message.py
2019-01-11 13:01:26 +01:00
Dan
161ab79eb3
Add Filters.media_group for photos or videos being part of an album.
2019-01-11 12:51:01 +01:00
Dan
1d8fd0b836
Make Filters.regex work on message captions too
2019-01-11 12:46:41 +01:00
Dan
07276e31b9
Add restart method
2019-01-11 12:36:37 +01:00
Dan
19b8f648d2
Fix bad behaviours for Python <3.6
...
Pyrogram was relying on dict keys being "ordered"
(keys keeping insertion order).
2019-01-11 12:31:18 +01:00
Dan
66f70450aa
Allow phone_number, phone_code and password to also be functions
...
Also add recovery_code
References #163
2019-01-08 14:28:52 +01:00
Dan
3213fc4bb9
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/__init__.py
2019-01-07 22:59:47 +01:00
Dan
36681c8c5b
Update dev version
2019-01-07 22:59:22 +01:00
Dan
35096a28c3
Fix asyncio merge
2019-01-07 22:57:19 +01:00
Dan
21c301d19d
Merge branch 'develop' into asyncio
2019-01-07 22:51:57 +01:00
Dan
8928ca3433
Rename game_score to game_high_score
2019-01-07 22:50:54 +01:00
Dan
ee472329a2
Move get_game_high_scores method into bots folder
2019-01-07 22:35:17 +01:00
Dan
dc737ab7bb
Add GameHighScore and GameHighScores types
2019-01-07 22:30:33 +01:00
Dan
633fefe178
Add get_game_high_scores method
2019-01-07 22:28:41 +01:00
Dan
65bdf31ce1
Move send_game and set_game_score into bots folder
2019-01-07 22:26:52 +01:00
Dan
33e83bf635
Update set_game_score docstrings
2019-01-07 22:19:21 +01:00
Dan
9771be9c2a
Add send_game and set_game_score methods
2019-01-07 21:49:58 +01:00
Dan
1bbf048b7a
Remove duplicated references
2019-01-07 21:49:25 +01:00
Dan
2055736661
Merge branch 'develop' into asyncio
2019-01-07 10:36:52 +01:00
Dan
7ae9a065b8
Update examples
2019-01-07 10:34:38 +01:00
Dan
491b96c9f6
Use "recent" filter for up to 10k members
2019-01-07 10:00:42 +01:00
Dan
0bae143d5d
Fix asyncio merge issues
2019-01-07 09:37:26 +01:00
Dan
2084a406a4
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/__init__.py
# pyrogram/client/client.py
# pyrogram/client/ext/base_client.py
# pyrogram/client/methods/chats/get_chat_members.py
# pyrogram/client/methods/chats/get_dialogs.py
# pyrogram/client/methods/chats/kick_chat_member.py
# pyrogram/client/methods/messages/get_history.py
# pyrogram/client/methods/messages/get_messages.py
# pyrogram/client/types/messages_and_media/messages.py
2019-01-07 08:46:28 +01:00
Dan
6451d599b2
Fix typo
2019-01-07 08:30:40 +01:00
Dan
bb27633da6
Add game and game_score in Message
2019-01-05 23:13:47 +01:00
Dan
50e5692eae
Add Filters.game and Filters.game_score. Also fix Filters.animation name
2019-01-05 23:12:59 +01:00
Dan
d5303285d6
Add support for Game inline buttons. Add CallbackGame type
2019-01-05 23:12:29 +01:00
Dan
7d061a1b5c
Add Game type
2019-01-05 23:11:39 +01:00
Dan
7cb1c99e28
Update copyright year
2019-01-05 18:29:48 +01:00
Dan
a50dba2b4c
Add close_poll method
2019-01-05 14:44:10 +01:00
Dan
7e354b12bf
Fix kick_chat_member docstrings and return type
2019-01-04 23:15:57 +01:00
Dan
b8a3d02eef
Fix get_messages return type
2019-01-04 23:12:06 +01:00
Dan
153439ac88
Add iter_chat_members method. Reference #170
2019-01-04 17:13:44 +01:00
Dan
d7e3397050
Update get_chat_members docstrings
2019-01-04 16:59:36 +01:00
Dan
e1cac13f0d
Fix get_dialogs docstrings
2019-01-04 16:58:57 +01:00
Dan
948f2b44ed
Add iter_dialogs method. Reference #170
2019-01-04 16:10:34 +01:00
Dan
4d1d70082b
Sleep in case of get_dialogs flood waits
2019-01-04 16:08:05 +01:00
Dan
8628d3a56d
Add iter_history method
...
For #170
2019-01-04 15:37:08 +01:00
Dan
fbc18cace0
Update get_history docstrings
2019-01-04 15:36:43 +01:00
Dan
04542dbddf
Make parsing multiple Messages more efficient
...
This is achieved by not calling get_messages for each single reply.
Instead, all the available replies are retrieved in one request only.
2019-01-04 14:42:39 +01:00
Dan
7e3513f8ee
Wait in case of flood errors in get_messages
2019-01-04 14:38:08 +01:00
Dan
fe89974523
Add get_history signature to BaseClient
...
Also make other method parameters generic
2019-01-04 14:37:26 +01:00
Dan
fe4e8c5a42
Rename get_history's "reversed" parameter to "reverse"
...
It was colliding with the built-in "reversed" function
2019-01-04 14:36:42 +01:00
Dan
36f987e979
Add Filters.me
...
Useful to filter messages coming from the current running user.
Does the same thing as Filters.user("me")
2019-01-03 20:58:38 +01:00
Dan
d69a93d253
Automatically cast message and caption arguments to str
2019-01-03 20:53:48 +01:00
Dan
4f6990d735
Add takeout parameter in Client
...
This lets the client use a takeout session instead of a normal one.
Takeout sessions are useful for exporting Telegram data. Methods invoked
inside a takeout session are less prone to throw FloodWait exceptions.
2019-01-03 12:20:42 +01:00
Dan
b53ba81a6a
Add no_updates parameter in Client
...
Useful to completely disable incoming updates for batch programs
2019-01-03 11:13:24 +01:00
Dan
b7b31d39e8
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/__init__.py
2019-01-03 09:15:44 +01:00
Dan
4493f78138
Update to v0.10.3
2019-01-03 08:59:39 +01:00
Dan
372bbabe28
Make invite links of public channels work with get_chat
2019-01-02 22:39:16 +01:00
Dan
7f79210ba3
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/client/dispatcher/dispatcher.py
# requirements.txt
2019-01-02 19:55:45 +01:00
Dan
1f8f313398
Fix broken ChatMember parser working on already parsed Users
2019-01-02 19:13:01 +01:00
Dan
1960b00280
Add a way to stop iterating through handlers
...
Closes #125
2019-01-02 18:11:22 +01:00
Dan
f440b1f969
Add missing colon
2019-01-02 17:27:40 +01:00
Dan
4d7b1bafac
Update copyright year
2019-01-01 12:36:16 +01:00
Dan
3ada74068e
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/__init__.py
2018-12-31 17:45:04 +01:00
Dan
4f04d4aee8
Update to v0.10.2
2018-12-31 17:21:18 +01:00
Dan
e56425c878
Merge branch 'develop' into asyncio
2018-12-31 17:14:47 +01:00
Dan
21dbbc3f0b
Fix style parsers randomly returning "unsorted" dicts.
...
This is due to Python <3.6 having "unsorted" dicts. Dicts are inherently
unsorted, but starting from Python 3.6 they keep the order in which the
keys are inserted (useful for unpacking)
2018-12-31 17:13:50 +01:00
Dan
4e4d765dd1
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/__init__.py
2018-12-31 14:53:24 +01:00
Dan
e5be7fcc90
Update to v0.10.1
2018-12-31 14:41:38 +01:00
Dan
2ea1f0f323
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/client/client.py
# pyrogram/client/methods/chats/get_chat.py
# pyrogram/client/methods/messages/get_messages.py
# pyrogram/client/types/messages_and_media/messages.py
2018-12-31 12:06:15 +01:00
Dan
490b8bf579
Fix get_message getting infinite replies
2018-12-31 12:02:15 +01:00
Dan
5dcc19cfb3
Move download_media into messages and media namespace
2018-12-28 15:18:01 +01:00
Dan
64ec26850e
Document save_file
2018-12-28 15:16:46 +01:00
Dan
c907e8146a
Allow get_chat to work with chat invite links
2018-12-28 14:34:47 +01:00
Dan
0e62b3472a
Add get_chat_preview method and ChatPreview object
2018-12-28 14:26:00 +01:00
Dan
769b3ebdee
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/__init__.py
# pyrogram/client/methods/chats/get_dialogs.py
# pyrogram/client/methods/messages/get_history.py
2018-12-28 00:38:54 +01:00
Dan
9fadbbd728
Update develop version
2018-12-28 00:37:20 +01:00
Dan
3814471af4
Change get_dialogs behaviour
...
It now accepts an offset_date instead of an offset_dialog
2018-12-27 23:56:45 +01:00
Dan
decaa9e7f0
Rename downwards to reversed
2018-12-27 23:55:56 +01:00
Dan
233e0920a2
Merge branch 'develop' into develop
2018-12-27 23:52:40 +01:00
Dan
f4736c17a6
Merge branch 'develop' into asyncio
2018-12-25 23:08:52 +01:00
Dan
1eee4b77e1
Pin/unpin_chat_message don't raise a ValueError anymore
2018-12-25 23:08:45 +01:00
Dan
06d8293fa0
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/__init__.py
# pyrogram/client/client.py
# pyrogram/client/methods/bots/send_inline_bot_result.py
# pyrogram/client/methods/chats/pin_chat_message.py
# pyrogram/client/methods/chats/unpin_chat_message.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
2018-12-25 23:07:45 +01:00
Dan
7e4b96cfdf
Suppress PyPep8Naming soft-warnings
2018-12-25 16:20:09 +01:00
Dan
d91acfe2ca
Re-implement password-protected log-ins and support password recovery
2018-12-25 15:41:55 +01:00
Dan
fccadf526e
Merge branch 'develop' into future
...
# Conflicts:
# pyrogram/__init__.py
2018-12-25 14:36:59 +01:00
Dan
1e3612c781
Merge branch 'layer-85' into future
...
# Conflicts:
# compiler/api/source/main_api.tl
# pyrogram/client/methods/password/change_cloud_password.py
# pyrogram/client/methods/password/enable_cloud_password.py
# pyrogram/client/methods/password/remove_cloud_password.py
2018-12-25 14:34:56 +01:00
Dan
0a8a1f7771
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/__init__.py
# pyrogram/client/client.py
2018-12-24 23:12:26 +01:00
Dan
00e4e385aa
Allow bots to message old chats even if they don't exist in the session
2018-12-24 22:31:45 +01:00
Dan
6e964b51b1
Type hint on_message decorator
2018-12-24 14:50:04 +01:00
Dan
098b06d1b7
Fix poll docstrings and vote_poll wrong attribute access
2018-12-24 14:32:53 +01:00
Dan
c833b3842a
Put PollOption back in a separate file, its docstrings must be visible
2018-12-24 14:19:21 +01:00
Dan
c4280f017e
Add hide_via parameter to send_inline_bot_result
2018-12-24 14:13:47 +01:00
Dan
7881320a88
Update develop branch version
2018-12-23 19:53:22 +01:00
Dan
a551f1fe1e
Fix Filters.poll docstrings link to Poll type
2018-12-23 19:52:49 +01:00
Dan
1d676a76db
Merge branch 'develop' into future
2018-12-23 19:51:54 +01:00
Dan
9fe04ff7cd
Fix filter links to Objects
2018-12-23 19:51:45 +01:00
Dan
3fe7fb20be
Document retract_vote
2018-12-23 17:06:34 +01:00
Dan
2994929903
Document Poll
2018-12-23 17:00:51 +01:00
Dan
03d6c49d92
Document send_poll method
2018-12-23 17:00:51 +01:00
Dan
f477171344
Document vote_poll
2018-12-23 17:00:51 +01:00
Dan
03aa5094f7
Add retract_vote method
2018-12-23 17:00:51 +01:00
Dan
10f1e06326
Rework vote_poll to work with all polls generated by different clients
2018-12-23 17:00:51 +01:00
Dan
1f82eaa26f
Add vote_poll method
2018-12-23 17:00:51 +01:00
Dan
0ce7498f81
Parse the pinned message on basic chats too
2018-12-23 17:00:51 +01:00
Dan
2b568afd2a
Refactor Poll.
...
Move PollAnswer into poll.py and rename it to PollOption
2018-12-23 17:00:50 +01:00
Dan
f8de518f6b
Update future version
2018-12-23 13:21:32 +01:00
Dan
2101dfb8db
Show a meaningful error and hint to read more when using cloud password
2018-12-23 01:09:20 +01:00
Dan
0371f4ce8b
Make cloud password methods raise NotImplementedError. See #178
...
The protocol changed (SRP) and they are currently not re-implemented.
2018-12-23 01:05:44 +01:00
Dan
7ee89c94cb
Update pin/unpin_chat_message
...
It is now possible to pin messages in basic groups as well as in the
own user's chat.
2018-12-23 01:00:31 +01:00
Dan
84fef9ecf1
Add missing file_reference argument where applicable
2018-12-23 00:55:00 +01:00
Dan
e669a6a9ae
Add send_poll method
2018-12-23 00:33:15 +01:00
Dan
8eab47123a
Add Filters.poll to filter Poll messages
2018-12-22 23:55:16 +01:00
Dan
2b25b9469b
Parse Poll objects inside Message
2018-12-22 23:55:04 +01:00
Dan
1ef3bc758f
Export Poll and PollAnswer types
2018-12-22 23:54:42 +01:00
Dan
aef02f049c
Add Poll and PollAnswer types
2018-12-22 23:54:18 +01:00
Dan
f5ce49b7b2
- Fix small glitches introduced when merging.
...
- Remove typing requirement, asyncio branch already needs Python 3.5+.
- Add async_lru as extra requirement because the standard lru_cache
doesn't work in asyncio world.
2018-12-22 14:08:29 +01:00
Dan
e6667be10b
Merge branch 'develop' into asyncio
...
# Conflicts:
# pyrogram/client/client.py
# pyrogram/client/dispatcher/dispatcher.py
# pyrogram/client/ext/utils.py
# pyrogram/client/methods/bots/get_inline_bot_results.py
# pyrogram/client/methods/bots/request_callback_answer.py
# pyrogram/client/methods/bots/send_inline_bot_result.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/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/messages/delete_messages.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/send_animation.py
# pyrogram/client/methods/messages/send_audio.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_me.py
# pyrogram/client/methods/users/get_user_profile_photos.py
# pyrogram/client/methods/users/get_users.py
# pyrogram/client/methods/utilities/download_media.py
# pyrogram/client/types/messages_and_media/message.py
2018-12-22 12:23:08 +01:00
Dan
4bf6831be8
Fix some non-importable types for type hint
2018-12-22 11:22:58 +01:00
Dan
a0355a5cc4
Type hint all methods return values
2018-12-19 15:59:15 +01:00
Dan
bf0b947253
Type hint all Client methods
2018-12-19 14:55:48 +01:00
Dan
b593463bd7
Type hint all the remaining method parameters
2018-12-19 14:50:23 +01:00
Dan
4fb9969470
Replace Client with BaseClient type hint
2018-12-19 14:45:16 +01:00
Dan
5035daa9d7
Type hint all Pyrogram types
2018-12-19 13:29:58 +01:00
Dan
e8fbae3166
Make all parse methods protected to hide them from the lib user
2018-12-19 13:00:33 +01:00
Dan
b79f395d37
Type hint Message
2018-12-19 12:30:25 +01:00
Dan
26ef8ea953
Revert to the old style
2018-12-19 10:59:49 +01:00
Dan
510b2456b6
Reword offset_dialog docstrings in Dialog
2018-12-19 10:27:47 +01:00
Dan
8f6f38e0b0
Merge branch 'develop' into new-parsers
2018-12-18 11:22:47 +01:00
Dan
bc824f738c
Add extra warnings when sign-ins or sign-ups fail
2018-12-18 11:21:37 +01:00
Dan
c9bcf93cf7
Add extra checks in case sign-in or sign-up fails
2018-12-18 10:10:04 +01:00
Dan
e203a5500f
Don't treat messages containing web page previews as media
2018-12-18 10:07:40 +01:00
Dan
914dfca574
Reformat code and optimize imports
2018-12-18 09:50:39 +01:00
Dan
27052e31ca
Fix all those unresolved references caused by the refactor
2018-12-18 09:45:49 +01:00
Dan
dc2792fbea
Ditch raw attribute. There's no use for it now
2018-12-18 08:48:20 +01:00
Dan
761a07bda8
Remove unneeded parts in utils.py
2018-12-17 16:42:16 +01:00
Dan
1344e95be6
Use the new parsers in dispatcher.py
2018-12-17 16:40:06 +01:00
Dan
2a1a6301a6
Add Messages.parse_delete method
2018-12-17 16:37:58 +01:00
Dan
6a0a271d24
Fix broken UpdateStatus in case of incoming updates
2018-12-17 16:28:16 +01:00