1
0
mirror of https://github.com/danog/MadelineProto.git synced 2024-12-04 07:47:48 +01:00
Go to file
2024-07-15 13:29:22 +02:00
.github
.woodpecker Psalm fixes 2024-04-15 22:03:06 +02:00
docs@4b7c4dcf94 Bump 2024-07-02 16:02:59 +02:00
examples Bump 2024-05-29 22:51:56 +02:00
langs Bump 2024-06-27 20:32:51 +02:00
schemas@424aaa1cad Bump 2024-06-17 18:09:14 +02:00
src Allow multiple invocations of reverse IPC methods 2024-07-15 13:29:22 +02:00
tests Production-mode assertions 2024-06-17 19:28:04 +02:00
ton
tools Add support for invokeWithBusinessConnection 2024-07-02 15:58:31 +02:00
vendor-bin
.env.example
.gitattributes
.gitignore
.gitmodules Bump 2024-07-15 13:29:22 +02:00
.php-cs-fixer.dist.php
CHANGELOG.md
CODE_OF_CONDUCT.md
composer.json Bump 2024-05-20 17:44:56 +02:00
CONTRIBUTING.md
extracted.json
LICENSE
phpcs.xml
phpunit-light.xml
phpunit.xml
psalm-baseline.xml Bump psalm 2024-07-02 16:21:24 +02:00
psalm.xml Cleanup error generation 2024-06-15 16:11:22 +02:00
README.md Update to layer 183, fix bindTo settings, fix issue with poll total_voters 2024-07-02 15:47:05 +02:00
SECURITY.md

MadelineProto, a PHP MTProto telegram client

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

// PHP 8.2+ is required.

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: '@stickeroptimizerbot', message: "/start");

    $MadelineProto->channels->joinChannel(channel: '@MadelineProto');

    try {
        $MadelineProto->messages->importChatInvite(hash: 'https://t.me/+Por5orOjwgccnt2w');
    } catch (\danog\MadelineProto\RPCErrorException $e) {
        $MadelineProto->logger($e);
    }
}
$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!

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

Some of MadelineProto's core components are also available as separate, standalone libraries:

Documentation