1
0
mirror of https://github.com/danog/MadelineProto.git synced 2024-11-26 21:14:43 +01:00
Go to file
Daniil Gentili c7f813dba1
Some checks failed
ci/woodpecker/push/build Pipeline is pending
ci/woodpecker/tag/deploy unknown status
ci/woodpecker/tag/build Pipeline failed
Fix 8.1 phar build
2022-10-08 18:35:59 +02:00
.devcontainer Check output buffering level 2020-09-11 09:30:08 +02:00
.github Switch to woodpecker CI 2022-06-04 17:40:03 +02:00
.woodpecker Small fix 2022-06-23 15:15:29 +02:00
docs@22abddcc5b Fix 8.1 phar build 2022-10-08 18:35:59 +02:00
examples Layer 144 2022-08-09 19:08:24 +02:00
schemas@2ff0985d45 Update secret schema 2022-10-08 14:19:11 +02:00
src Update secret schema 2022-10-08 14:19:11 +02:00
tests Fix 8.1 phar build 2022-10-08 18:35:59 +02:00
ton Update even more typehints 2020-10-03 15:04:35 +02:00
tools Build docs 2022-10-08 14:10:04 +02:00
vendor-bin/check Update 2022-08-14 14:40:52 +02:00
.env.example Improve docs 2018-03-30 16:07:54 +00:00
.gitattributes More fixes 2022-06-04 16:56:59 +02:00
.gitignore Fix 8.1 phar build 2022-10-08 18:35:59 +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 Build docs 2022-10-08 14:10:04 +02:00
CONTRIBUTING.md Bugfixes 2017-02-13 13:27:59 +01:00
LICENSE Reorganized code 2016-08-08 18:10:13 +02:00
psalm.xml Fix 2022-07-26 17:56:46 +02:00
README.md Update docs 2022-10-07 21:11:55 +02:00

MadelineProto, a PHP MTProto telegram client

phabel.io - PHP transpiler

Created by Daniil Gentili

#StandWithUkraine 🇺🇦

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

$me = $MadelineProto->getSelf();

$MadelineProto->logger($me);

if (!$me['bot']) {
    // This example uses PHP 7.1+ syntax with arrays
    $MadelineProto->messages->sendMessage(['peer' => '@danogentili', 'message' => "Hi!\nThanks for creating MadelineProto (PHP 7)! <3"]);

    // This example uses PHP 8.0+ syntax with named arguments
    $MadelineProto->messages->sendMessage(peer: '@danogentili', message: "Hi!\nThanks for creating MadelineProto (PHP 8)! <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 running 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).

Made with MadelineProto

The following open source projects were created using MadelineProto: you can directly install them, or explore the source code as direct examples on how to use MadelineProto's many features!

  • TelegramApiServer - Fast, simple, async php telegram api server: an HTTP JSON API for MadelineProto!
  • downloadRenameBot.php - Download files by URL and rename Telegram files using this async parallelized bot!
  • secret_bot.php - Secret chat bot!
  • pipesbot.php - Creating inline bots and using other inline bots via a userbot!
  • bot.php - Examples for sending normal messages, downloading any media!

Want to add your own open-source project to this list? Click here!

Documentation