Skip to content

PHP client/server for the telegram MTProto protocol (better tg-cli).

License

Notifications You must be signed in to change notification settings

mtProtoProxy/MadelineProto

This branch is 5 commits ahead of, 2946 commits behind danog/MadelineProto:v8.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

309c539 · Jan 20, 2020
Jan 19, 2020
Jan 3, 2020
Nov 2, 2019
Jan 19, 2020
Jan 19, 2020
Dec 28, 2019
Jan 19, 2020
Mar 30, 2018
Dec 27, 2019
Oct 28, 2019
Oct 29, 2019
Dec 28, 2019
Oct 28, 2019
Feb 13, 2017
Aug 8, 2016
Jan 5, 2020
Oct 28, 2019
Jan 19, 2020

Repository files navigation

MadelineProto, a PHP MTProto telegram client

Created by Daniil Gentili

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

Now with Telegram TON blockchain integration!

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->getSelf();

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

Examples

You can find examples for nearly every MadelineProto function in

  • magnaluna webradio - Multifeatured Telegram VoIP webradio
  • downloadRenameBot.php - download files by URL and rename Telegram files using this async parallelized bot!
  • bot.php - examples for sending normal messages, downloading any media
  • secret_bot.php - secret chat bot
  • pipesbot.php - examples for creating inline bots and using other inline bots via a userbot

Documentation

About

PHP client/server for the telegram MTProto protocol (better tg-cli).

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 99.7%
  • Shell 0.3%