Async PHP client/server API for the telegram MTProto protocol https://docs.madelineproto.xyz
Go to file
2018-03-16 14:10:29 +00:00
.vscode Fixed serialization/deserialization, now fixing mess in prime number generation module... 2016-07-18 17:11:37 +02:00
docs Update docs 2018-03-14 11:08:10 +00:00
fuzz Added request_call function (EARLY ALPHA, WILL ONLY REQUEST A CALL ATM) 2017-03-12 04:15:51 +01:00
lua Implement socket interface 2018-03-04 17:42:48 +01:00
old_docs Update docs 2018-03-14 11:08:10 +00:00
src Apply fixes from StyleCI 2018-03-16 14:10:29 +00:00
tests Apply fixes from StyleCI 2018-03-16 14:10:29 +00:00
userbots Implement socket interface 2018-03-04 17:42:48 +01:00
.babelrc Localization (#195) 2017-10-01 18:37:24 +02:00
.env.calls Added support for 32 bit systems, imimplemented threading. 2017-03-24 21:01:08 +01:00
.env.example Readable errors 2017-09-24 22:26:06 +00:00
.gitignore Start implementing socket API 2018-03-03 18:23:12 +01:00
.travis.yml Fixes for micro http-client (phar_release) 2018-02-22 14:26:57 +00:00
bot.php Reorganizing documentation, rewrote peer management 2018-03-12 21:10:49 +00:00
build_docs.php Improved logging 2018-03-02 00:38:10 +00:00
CHANGELOG.md You can now proxy MadelineProto 2017-06-03 16:40:14 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md (#167) 2017-08-07 09:17:47 +02:00
composer.json Implement custom mb_strlen function 2018-03-03 17:55:45 +01:00
CONTRIBUTING.md Bugfixes 2017-02-13 13:27:59 +01:00
input.raw Try to avoid serialization issues 2017-07-24 13:43:09 +02:00
LICENSE Reorganized code 2016-08-08 18:10:13 +02:00
magna.php Improved logging 2018-03-02 00:38:10 +00:00
makephar.php Improve phar self-update mechanism 2018-03-01 13:28:16 +01:00
multiprocess_bot.php Apply fixes from StyleCI 2018-03-08 12:11:58 +00:00
phar.php Improve phar self-update mechanism 2018-03-01 13:28:16 +01:00
phartesting.php Implement socket interface 2018-03-04 17:42:48 +01:00
README.md Update docs 2018-03-14 11:08:10 +00:00
secret_bot.php Improved logging 2018-03-02 00:38:10 +00:00
socket.php Interpret HTTP transport errors as MTProto errors 2018-03-05 17:47:55 +01:00
songs.php Calling count() only once, before using 'for' loop (#313) 2018-02-25 13:34:40 +01:00
translator.php Update copyrights, and add phar creation script 2018-02-20 11:13:43 +00:00

MadelineProto, a PHP MTProto telegram client

Do join the official channel, @MadelineProto!

What's this?

This library can be used to easily interact with Telegram without the bot API, just like the official apps.

It can login with a phone number (MTProto API), or with a bot token (MTProto API, no bot API involved!).

Installation

Simply download madeline.php.

Getting started

<?php

include 'madeline.php';

// !!! This API id/API hash combination will not work !!!
// !!! You must get your own @ my.telegram.org !!!
$api_id = 0;
$api_hash = '';

$MadelineProto = new \danog\MadelineProto\API('session.madeline', ['app_info' => ['api_id' => $api_id, 'api_hash' => $api_hash]]);

$MadelineProto->phone_login(readline('Enter your phone number: '));
$authorization = $MadelineProto->complete_phone_login(readline('Enter the phone code: '));
if ($authorization['_'] === 'account.password') {
    $authorization = $MadelineProto->complete_2fa_login(readline('Please enter your password (hint '.$authorization['hint'].'): '));
}
if ($authorization['_'] === 'account.needSignup') {
    $authorization = $MadelineProto->complete_signup(readline('Please enter your first name: '), readline('Please enter your last name (can be empty): '));
}
    

Simple example

$MadelineProto->messages->sendMessage(['peer' => '@danogentili', 'message' => "Hi!\nThanks for creating MadelineProto! <3"]);
$MadelineProto->channels->joinChannel(['channel' => '@MadelineProto']);

Documentation

Very complex and complete examples

You can find examples for nearly every MadelineProto function in