Implemented markdown and html parsing

This commit is contained in:
Daniil Gentili 2017-02-13 04:33:06 +01:00
parent a25adf2d7c
commit c86e35645e
2504 changed files with 3469 additions and 2532 deletions

View File

@ -50,8 +50,6 @@ Now copy .env.example to .env, edit the its values, read the docs and take a loo
### Dependencies
This project depends on [PHPStruct](https://github.com/danog/PHPStruct), [phpseclib](https://github.com/phpseclib/phpseclib)
To install dependencies install composer and run:
```
composer update
@ -305,6 +303,8 @@ var_dump($authorization);
See tests/testing.php for more examples.
Methods that allow sending message entities (messages.sendMessage for example) also have an additional parse_mode parameter that enables or disables html/markdown parsing of the message to be sent. See the method-specific documentation for more info.
Note that when you login as a bot, MadelineProto also logins using the [PWRTelegram](https://pwrtelegram.xyz) API, to allow persistant storage of peers, even after a logout and another login.
### Storing sessions

View File

@ -17,7 +17,9 @@
"danog/phpstruct": "dev-fast",
"phpseclib/phpseclib": "dev-ige",
"vlucas/phpdotenv": "^2.4",
"krakjoe/pthreads-polyfill": "dev-master"
"krakjoe/pthreads-polyfill": "dev-master",
"paquettg/php-html-parser": "^1.7",
"erusev/parsedown": "^1.6"
},
"require-dev": {
"phpdocumentor/reflection-docblock": "^3.1"

View File

@ -15,6 +15,7 @@ description: messages.editInlineBotMessage parameters, return type and example
|message|[string](../types/string.md) | Optional|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Bool](../types/Bool.md)
@ -37,5 +38,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Bool = $MadelineProto->messages->editInlineBotMessage(['no_webpage' => Bool, 'id' => InputBotInlineMessageID, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Bool = $MadelineProto->messages->editInlineBotMessage(['no_webpage' => Bool, 'id' => InputBotInlineMessageID, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -16,6 +16,7 @@ description: messages.editMessage parameters, return type and example
|message|[string](../types/string.md) | Optional|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Updates](../types/Updates.md)
@ -38,5 +39,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Updates = $MadelineProto->messages->editMessage(['no_webpage' => Bool, 'peer' => InputPeer, 'id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Updates = $MadelineProto->messages->editMessage(['no_webpage' => Bool, 'peer' => InputPeer, 'id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -15,6 +15,7 @@ description: messages.saveDraft parameters, return type and example
|peer|[InputPeer](../types/InputPeer.md) | Required|
|message|[string](../types/string.md) | Required|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Bool](../types/Bool.md)
@ -37,5 +38,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Bool = $MadelineProto->messages->saveDraft(['no_webpage' => Bool, 'reply_to_msg_id' => int, 'peer' => InputPeer, 'message' => string, 'entities' => [MessageEntity], ]);
$Bool = $MadelineProto->messages->saveDraft(['no_webpage' => Bool, 'reply_to_msg_id' => int, 'peer' => InputPeer, 'message' => string, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -19,6 +19,7 @@ description: messages.sendMessage parameters, return type and example
|message|[string](../types/string.md) | Required|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Updates](../types/Updates.md)
@ -41,5 +42,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'silent' => Bool, 'background' => Bool, 'clear_draft' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'silent' => Bool, 'background' => Bool, 'clear_draft' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -54,8 +54,6 @@ Now copy .env.example to .env, edit the its values, read the docs and take a loo
### Dependencies
This project depends on [PHPStruct](https://github.com/danog/PHPStruct), [phpseclib](https://github.com/phpseclib/phpseclib)
To install dependencies install composer and run:
```
composer update
@ -309,6 +307,8 @@ var_dump($authorization);
See tests/testing.php for more examples.
Methods that allow sending message entities (messages.sendMessage for example) also have an additional parse_mode parameter that enables or disables html/markdown parsing of the message to be sent. See the method-specific documentation for more info.
Note that when you login as a bot, MadelineProto also logins using the [PWRTelegram](https://pwrtelegram.xyz) API, to allow persistant storage of peers, even after a logout and another login.
### Storing sessions

View File

@ -15,6 +15,7 @@ description: messages.sendMessage parameters, return type and example
|message|[string](../types/string.md) | Required|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Updates](../types/Updates.md)
@ -37,5 +38,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Updates = $MadelineProto->messages->sendMessage(['peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Updates = $MadelineProto->messages->sendMessage(['peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -15,6 +15,7 @@ description: messages.sendMessage parameters, return type and example
|message|[string](../types/string.md) | Required|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Updates](../types/Updates.md)
@ -37,5 +38,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Updates = $MadelineProto->messages->sendMessage(['peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Updates = $MadelineProto->messages->sendMessage(['peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -17,6 +17,7 @@ description: messages.sendMessage parameters, return type and example
|message|[string](../types/string.md) | Required|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Updates](../types/Updates.md)
@ -39,5 +40,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'broadcast' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'broadcast' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -17,6 +17,7 @@ description: messages.sendMessage parameters, return type and example
|message|[string](../types/string.md) | Required|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Updates](../types/Updates.md)
@ -39,5 +40,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'broadcast' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'broadcast' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -17,6 +17,7 @@ description: messages.sendMessage parameters, return type and example
|message|[string](../types/string.md) | Required|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Updates](../types/Updates.md)
@ -39,5 +40,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'broadcast' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'broadcast' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -17,6 +17,7 @@ description: messages.sendMessage parameters, return type and example
|message|[string](../types/string.md) | Required|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Updates](../types/Updates.md)
@ -39,5 +40,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'broadcast' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'broadcast' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -17,6 +17,7 @@ description: messages.sendMessage parameters, return type and example
|message|[string](../types/string.md) | Required|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Updates](../types/Updates.md)
@ -39,5 +40,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'broadcast' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'broadcast' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -15,6 +15,7 @@ description: messages.editInlineBotMessage parameters, return type and example
|message|[string](../types/string.md) | Optional|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Bool](../types/Bool.md)
@ -37,5 +38,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Bool = $MadelineProto->messages->editInlineBotMessage(['no_webpage' => Bool, 'id' => InputBotInlineMessageID, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Bool = $MadelineProto->messages->editInlineBotMessage(['no_webpage' => Bool, 'id' => InputBotInlineMessageID, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -16,6 +16,7 @@ description: messages.editMessage parameters, return type and example
|message|[string](../types/string.md) | Optional|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Updates](../types/Updates.md)
@ -38,5 +39,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Updates = $MadelineProto->messages->editMessage(['no_webpage' => Bool, 'peer' => InputPeer, 'id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Updates = $MadelineProto->messages->editMessage(['no_webpage' => Bool, 'peer' => InputPeer, 'id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -19,6 +19,7 @@ description: messages.sendMessage parameters, return type and example
|message|[string](../types/string.md) | Required|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Updates](../types/Updates.md)
@ -41,5 +42,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'broadcast' => Bool, 'silent' => Bool, 'background' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'broadcast' => Bool, 'silent' => Bool, 'background' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -15,6 +15,7 @@ description: messages.editInlineBotMessage parameters, return type and example
|message|[string](../types/string.md) | Optional|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Bool](../types/Bool.md)
@ -37,5 +38,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Bool = $MadelineProto->messages->editInlineBotMessage(['no_webpage' => Bool, 'id' => InputBotInlineMessageID, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Bool = $MadelineProto->messages->editInlineBotMessage(['no_webpage' => Bool, 'id' => InputBotInlineMessageID, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -16,6 +16,7 @@ description: messages.editMessage parameters, return type and example
|message|[string](../types/string.md) | Optional|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Updates](../types/Updates.md)
@ -38,5 +39,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Updates = $MadelineProto->messages->editMessage(['no_webpage' => Bool, 'peer' => InputPeer, 'id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Updates = $MadelineProto->messages->editMessage(['no_webpage' => Bool, 'peer' => InputPeer, 'id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -15,6 +15,7 @@ description: messages.saveDraft parameters, return type and example
|peer|[InputPeer](../types/InputPeer.md) | Required|
|message|[string](../types/string.md) | Required|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Bool](../types/Bool.md)
@ -37,5 +38,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Bool = $MadelineProto->messages->saveDraft(['no_webpage' => Bool, 'reply_to_msg_id' => int, 'peer' => InputPeer, 'message' => string, 'entities' => [MessageEntity], ]);
$Bool = $MadelineProto->messages->saveDraft(['no_webpage' => Bool, 'reply_to_msg_id' => int, 'peer' => InputPeer, 'message' => string, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -19,6 +19,7 @@ description: messages.sendMessage parameters, return type and example
|message|[string](../types/string.md) | Required|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Updates](../types/Updates.md)
@ -41,5 +42,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'silent' => Bool, 'background' => Bool, 'clear_draft' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'silent' => Bool, 'background' => Bool, 'clear_draft' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -15,6 +15,7 @@ description: messages.editInlineBotMessage parameters, return type and example
|message|[string](../types/string.md) | Optional|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Bool](../types/Bool.md)
@ -37,5 +38,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Bool = $MadelineProto->messages->editInlineBotMessage(['no_webpage' => Bool, 'id' => InputBotInlineMessageID, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Bool = $MadelineProto->messages->editInlineBotMessage(['no_webpage' => Bool, 'id' => InputBotInlineMessageID, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -16,6 +16,7 @@ description: messages.editMessage parameters, return type and example
|message|[string](../types/string.md) | Optional|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Updates](../types/Updates.md)
@ -38,5 +39,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Updates = $MadelineProto->messages->editMessage(['no_webpage' => Bool, 'peer' => InputPeer, 'id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Updates = $MadelineProto->messages->editMessage(['no_webpage' => Bool, 'peer' => InputPeer, 'id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -15,6 +15,7 @@ description: messages.saveDraft parameters, return type and example
|peer|[InputPeer](../types/InputPeer.md) | Required|
|message|[string](../types/string.md) | Required|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Bool](../types/Bool.md)
@ -37,5 +38,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Bool = $MadelineProto->messages->saveDraft(['no_webpage' => Bool, 'reply_to_msg_id' => int, 'peer' => InputPeer, 'message' => string, 'entities' => [MessageEntity], ]);
$Bool = $MadelineProto->messages->saveDraft(['no_webpage' => Bool, 'reply_to_msg_id' => int, 'peer' => InputPeer, 'message' => string, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -19,6 +19,7 @@ description: messages.sendMessage parameters, return type and example
|message|[string](../types/string.md) | Required|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Updates](../types/Updates.md)
@ -41,5 +42,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'silent' => Bool, 'background' => Bool, 'clear_draft' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'silent' => Bool, 'background' => Bool, 'clear_draft' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -15,6 +15,7 @@ description: messages.editInlineBotMessage parameters, return type and example
|message|[string](../types/string.md) | Optional|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Bool](../types/Bool.md)
@ -37,5 +38,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Bool = $MadelineProto->messages->editInlineBotMessage(['no_webpage' => Bool, 'id' => InputBotInlineMessageID, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Bool = $MadelineProto->messages->editInlineBotMessage(['no_webpage' => Bool, 'id' => InputBotInlineMessageID, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -16,6 +16,7 @@ description: messages.editMessage parameters, return type and example
|message|[string](../types/string.md) | Optional|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Updates](../types/Updates.md)
@ -38,5 +39,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Updates = $MadelineProto->messages->editMessage(['no_webpage' => Bool, 'peer' => InputPeer, 'id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Updates = $MadelineProto->messages->editMessage(['no_webpage' => Bool, 'peer' => InputPeer, 'id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -15,6 +15,7 @@ description: messages.saveDraft parameters, return type and example
|peer|[InputPeer](../types/InputPeer.md) | Required|
|message|[string](../types/string.md) | Required|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Bool](../types/Bool.md)
@ -37,5 +38,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Bool = $MadelineProto->messages->saveDraft(['no_webpage' => Bool, 'reply_to_msg_id' => int, 'peer' => InputPeer, 'message' => string, 'entities' => [MessageEntity], ]);
$Bool = $MadelineProto->messages->saveDraft(['no_webpage' => Bool, 'reply_to_msg_id' => int, 'peer' => InputPeer, 'message' => string, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -19,6 +19,7 @@ description: messages.sendMessage parameters, return type and example
|message|[string](../types/string.md) | Required|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|parse\_mode| [string](../types/string.md) | Optional |
### Return type: [Updates](../types/Updates.md)
@ -41,5 +42,36 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'silent' => Bool, 'background' => Bool, 'clear_draft' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], ]);
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'silent' => Bool, 'background' => Bool, 'clear_draft' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
```
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren't parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).

View File

@ -115,6 +115,7 @@ description: '.$this->settings['description'].'
| Name | Type | Required |
|----------|:-------------:|---------:|
';
$hasentities = false;
foreach ($this->methods->params[$key] as $param) {
if (in_array($param['name'], ['flags', 'random_id'])) {
continue;
@ -130,6 +131,12 @@ description: '.$this->settings['description'].'
$params .= "'".$param['name']."' => ";
$params .= (isset($param['subtype']) ? '['.$ptype.']' : $ptype).', ';
if ($param['name'] === 'entities') {
$hasentities = true;
$table .= '|parse\_mode| [string](../types/string.md) | Optional |
';
$params .= "'parse_mode' => 'string', ";
}
}
$header = '---
title: '.$rmethod.'
@ -165,7 +172,40 @@ if (isset($number)) {
}
$'.$type.' = $MadelineProto->'.str_replace('_', '->', $method).'(['.$params.']);
```');
```
');
if ($hasentities) $example .= '
## Usage of parse_mode:
Set parse_mode to html to enable HTML parsing of the message.
Set parse_mode to Markdown to enable markown AND html parsing of the message.
The following tags are currently supported:
```
<br>a newline
<b><i>bold works ok, internal tags aren\'t parsed and shown as is</i> </ b>
<strong>bold</strong>
<em>italic</em>
<i>italic</i>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<a href="https://github.com">URL</a>
<a href="mention:@danogentili">Mention by username</a>
<a href="mention:186785362">Mention by user id</a>
<pre language="json">Pre tags can have a language attribute</pre>
```
You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html:
```
[Mention by username](mention:@danogentili)
[Mention by user id](mention:186785362)
```
MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php).
';
file_put_contents('methods/'.$method.'.md', $header.$table.$return.$example);
}

View File

@ -225,10 +225,73 @@ trait TL
return \danog\PHP\Struct::pack('<i', $tl['id']).$this->serialize_params($tl, $arguments);
}
public function serialize_params($tl, $arguments)
{
$serialized = '';
if (isset($arguments['parse_mode'])) {
if (preg_match('/markdown/i', $arguments['parse_mode'])) {
$arguments['message'] = str_replace("\n", '', \Parsedown::instance()->line($arguments['message']));
$arguments['parse_mode'] = 'HTML';
}
if (preg_match('/html/i', $arguments['parse_mode'])) {
$dom = new \PHPHtmlParser\Dom();
$dom->loadStr(str_replace("\n", '<br>', $arguments['message']), []);
$nmessage = '';
if (!isset($arguments['entities'])) $arguments['entities'] = [];
foreach ($dom->find('') as $tag) {
switch ($tag->tag->name()) {
case 'br':
$nmessage .= "\n";
break;
case 'b':
case 'strong':
$text = html_entity_decode($tag->innerHtml);
$arguments['entities'] []= ['_' => 'messageEntityBold', 'offset' => mb_strlen($nmessage), 'length' => mb_strlen($text)];
$nmessage .= $text;
break;
case 'i':
case 'em':
$text = html_entity_decode($tag->innerHtml);
$arguments['entities'] []= ['_' => 'messageEntityItalic', 'offset' => mb_strlen($nmessage), 'length' => mb_strlen($text)];
$nmessage .= $text;
break;
case 'code':
$text = html_entity_decode($tag->innerHtml);
$arguments['entities'] []= ['_' => 'messageEntityCode', 'offset' => mb_strlen($nmessage), 'length' => mb_strlen($text)];
$nmessage .= $text;
break;
case 'pre':
$text = html_entity_decode($tag->innerHtml);
$language = $tag->getAttribute('language');
if ($language === null) $language = '';
$arguments['entities'] []= ['_' => 'messageEntityPre', 'offset' => mb_strlen($nmessage), 'length' => mb_strlen($text), 'language' => $language];
$nmessage .= $text;
break;
case 'a':
$text = html_entity_decode($tag->innerHtml);
$href = $tag->getAttribute('href');
if (preg_match('|mention:|', $href)) {
$arguments['entities'] []= ['_' => 'inputMessageEntityMentionName', 'offset' => mb_strlen($nmessage), 'length' => mb_strlen($text), 'user_id' => $this->get_info(str_replace('mention:', '', $href))['InputUser']];
} else {
$arguments['entities'] []= ['_' => 'messageEntityTextUrl', 'offset' => mb_strlen($nmessage), 'length' => mb_strlen($text), 'url' => $href];
}
$nmessage .= $text;
break;
default:
$nmessage .= html_entity_decode($tag->outerHtml);
break;
}
}
$arguments['message'] = $nmessage;
}
}
$flags = 0;
foreach ($tl['params'] as $cur_flag) {
if ($cur_flag['flag']) {