Commit Graph

1429 Commits

Author SHA1 Message Date
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
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
46bf382480 Fix self.parser not calling .parse for send_document 2019-06-28 16:31:32 +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
40bcd4e59d Fix delete_profile_photos. Closes #259 2019-06-26 21:43:08 +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
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
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
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
31f39a00ab Make plugin callback functions return the function itself when decorated 2019-06-23 01:33:46 +02:00
Dan
e7fffd2f76 Fix workers not running concurrently anymore after using a shared Lock 2019-06-22 00:45:49 +02:00
Dan
b439e44015 Fix tiny typo 2019-06-21 03:43:43 +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
0699bd31e5 Bring Message .reply() and .edit() back for now 2019-06-20 19:23:33 +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
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