Using methods
There are simplifications for many, if not all of, these methods.
A list of all of the methods that can be called with MadelineProto can be found here:
here (layer 179)
.
Now fully async!
Named arguments
You must use named arguments instead of arrays to provide method arguments, which allows for much cleaner syntax:
$MadelineProto
->
messages
->
sendMessage
(
peer
:
'@danogentili'
,
message
:
'Testing MadelineProto...'
);
Peers
Full example
If an object of type User, InputUser, Chat, InputChannel, Peer or InputPeer must be provided as a parameter to a method, you can substitute it with the user/group/channel’s username (
@username
), bot API id (
-1029449
,
1249421
,
-100412412901
), or update.
$MadelineProto
->
messages
->
sendMessage
(
peer
:
'@danogentili'
,
message
:
'Testing MadelineProto...'
);
Secret chats
Full example
If an object of type InputSecretChat must be provided as a parameter to a method, you can substitute it with the secret chat’s id, the updateNewEncrypted message or the decryptedMessage:
$MadelineProto
->
messages
->
sendEncrypted
(
peer
:
$update
,
message
:
[
'_'
=>
'decryptedMessage'
,
'ttl'
=>
0
,
'message'
=>
'Hi'
]);
Entities
Full example
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.
$MadelineProto
->
messages
->
sendMessage
(
peer
:
'@danogentili'
,
message
:
'[Testing Markdown in MadelineProto](https://docs.madelineproto.xyz)'
,
parse_mode
:
'Markdown'
);
$MadelineProto
->
messages
->
sendMessage
(
peer
:
'@danogentili'
,
message
:
'<a href="https://docs.madelineproto.xyz">Testing HTML in MadelineProto</a>'
,
parse_mode
:
'HTML'
);
reply_markup
reply_markup accepts bot API reply markup objects as well as MTProto ones.
$bot_API_markup
=
[
'inline_keyboard'
=>
[
[
[
'text'
=>
'MadelineProto docs'
,
'url'
=>
'https://docs.madelineproto.xyz'
],
[
'text'
=>
'MadelineProto channel'
,
'url'
=>
'https://t.me/MadelineProto'
]
]
]
];
$MadelineProto
->
messages
->
sendMessage
(
peer
:
'@danogentili'
,
message
:
'lel'
,
reply_markup
:
$bot_API_markup
);
Bot API objects
To convert the results of methods to bot API objects you can use the MTProtoToBotAPI method.
$bot_API_object
=
$MadelineProto
->
MTProtoToBotAPI
(
$MadelineProto
->
messages
->
sendMessage
(
peer
:
'@danogentili'
,
message
:
'lel'
));
MadelineProto also
supports bot API file IDs when working with files
No result
See
ignored async
.
Multiple method calls
See
multiple async
.
Cancellation
See
cancellation »
.
Next section