1
0
mirror of https://github.com/danog/MadelineProto.git synced 2024-11-30 10:59:02 +01:00
Go to file
2021-12-07 15:16:15 +01:00
.devcontainer Check output buffering level 2020-09-11 09:30:08 +02:00
.github Hotfix 2021-12-07 00:05:25 +01:00
docs@7a5c809a77 Avoid race condition 2021-12-07 15:16:15 +01:00
examples Update 2021-09-05 19:28:22 +02:00
schemas@68c8a4ca85 Update submodules 2021-12-04 01:56:15 +01:00
src Avoid race condition 2021-12-07 15:16:15 +01:00
tests PHP 8.1 fixes 2021-12-06 20:20:43 +01:00
ton Update even more typehints 2020-10-03 15:04:35 +02:00
tools Fix 2021-12-06 23:48:10 +01:00
vendor-bin/check PsrLogger fixes 2021-09-15 17:10:38 +02:00
.env.example
.gitignore Separately require entry module 2021-09-06 16:22:07 +02:00
.gitmodules Update submodule 2021-09-05 21:06:36 +02:00
.php-cs-fixer.dist.php Another small fix 2021-06-11 17:27:39 +02:00
bot.php Clean up 2019-10-28 22:39:23 +01:00
CODE_OF_CONDUCT.md Clean up 2019-10-28 22:39:23 +01:00
composer.json Remove legacy hacks and BC, optimize IGE crypto 2021-12-06 19:14:34 +01:00
CONTRIBUTING.md
LICENSE
psalm.xml Clean up 2020-06-15 20:06:48 +02:00
README.md Update to layer 135 2021-12-03 18:15:56 +01:00

MadelineProto, a PHP MTProto telegram client

phabel.io - PHP transpiler

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

$me = $MadelineProto->getSelf();

$MadelineProto->logger($me);

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

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

    $MadelineProto->messages->sendMessage(['peer' => 'https://t.me/joinchat/Bgrajz6K-aJKu0IpGsLpBg', 'message' => 'Testing MadelineProto!']);
}
$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