1
0
mirror of https://github.com/danog/MadelineProto.git synced 2024-11-30 07:38:58 +01:00
Go to file
2019-06-13 14:08:48 +02:00
docs@319f29dbb5 Just this is enough 2019-06-12 19:02:33 +02:00
lua Update copyrights 2019-05-31 12:18:10 +02:00
src Final altervista fixes 2019-06-13 14:08:48 +02:00
tests Require fork of dns 2019-06-12 18:48:05 +02:00
userbots Update copyrights 2019-05-31 12:18:10 +02:00
.babelrc Localization (#195) 2017-10-01 18:37:24 +02:00
.env.example Improve docs 2018-03-30 16:07:54 +00:00
.gitignore Update dependencies 2019-05-16 12:44:05 +02:00
.gitmodules Update docs 2018-04-01 13:33:36 +02:00
.travis.yml Use php 7.3 on travis 2019-05-31 18:08:02 +02:00
asyncify.php Style fixes 2019-06-04 14:55:58 +02:00
bot.php Better error handling and proxied DNS over HTTPS 2019-06-12 20:51:38 +02:00
build_docs.php Add async readline 2019-06-05 15:38:32 +02:00
CHANGELOG.md Fix 2019-06-06 00:33:11 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md (#167) 2017-08-07 09:17:47 +02:00
combined_bot.php Wrap remaining amphp helper methods 2019-06-01 16:22:44 +02:00
composer.json Better error handling and proxied DNS over HTTPS 2019-06-12 20:51:38 +02:00
CONTRIBUTING.md Bugfixes 2017-02-13 13:27:59 +01:00
index.php Major fixes and refactoring of wrapper APIs 2019-05-22 17:35:16 +02:00
input.raw Try to avoid serialization issues 2017-07-24 13:43:09 +02:00
layerdiff.php Style fixes 2019-06-04 14:55:58 +02:00
LICENSE Reorganized code 2016-08-08 18:10:13 +02:00
magna.php Style fixes 2019-06-04 14:55:58 +02:00
makephar.php Update copyrights 2019-05-31 12:18:10 +02:00
mtproxyd Cache avoidance 2018-05-10 10:37:39 +00:00
multiprocess_bot.php Update copyrights 2019-05-31 12:18:10 +02:00
phar.php Almost done 2019-06-04 23:55:02 +02:00
phartesting.php Update copyrights 2019-05-31 12:18:10 +02:00
README.md Fix 2019-06-07 17:21:43 +02:00
secret_bot.php Updated examples and async callbacks 2019-06-01 18:15:14 +02:00
songs.php Merge alpha into master (async, huge bugfixes and more) (#546) 2018-12-26 20:51:14 +01:00
translator.php Style fixes 2019-06-04 14:55:58 +02:00

MadelineProto, a PHP MTProto telegram client

Created by Daniil Gentili

Do join the official channel, @MadelineProto and the support groups!

Approved by Telegram!

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!).

It is now fully async!

Getting started (now fully async!)

<?php

if (!file_exists('madeline.php')) {
    copy('https://phar.madelineproto.xyz/madeline.php', 'madeline.php');
}
include 'madeline.php';

$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->async(true);
$MadelineProto->loop(function () use ($MadelineProto) {
    yield $MadelineProto->start();

    $me = yield $MadelineProto->get_self();

    $MadelineProto->logger($me);

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

        try {
            yield $MadelineProto->messages->importChatInvite(['hash' => 'https://t.me/joinchat/Bgrajz6K-aJKu0IpGsLpBg']);
        } catch (\danog\MadelineProto\RPCErrorException $e) {
            $MadelineProto->logger($e);
        }

        yield $MadelineProto->messages->sendMessage(['peer' => 'https://t.me/joinchat/Bgrajz6K-aJKu0IpGsLpBg', 'message' => 'Testing MadelineProto!']);
    }
    yield $MadelineProto->echo('OK, done!');
});

Try this code now! or run this code in a browser or in a console.

Tip: if you receive an error (or nothing), send us the error message and the MadelineProto.log file that was created in the same directory (if running from a browser).

Documentation

Very complex and complete examples

You can find examples for nearly every MadelineProto function in