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 188).
- Named arguments
- Peers
- Files
- Secret chats
- Entities (Markdown & HTML)
- reply_markup (keyboards & inline keyboards)
- bot API objects
- No result
- Multiple method calls
- Cancellation
- FULL API Documentation with descriptions
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
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 ».