Async PHP client/server API for the telegram MTProto protocol
https://docs.madelineproto.xyz
* Documentation rework * Apply fixes from StyleCI * Documentation fixes * Login as bot through web/cli API, allow using invite links in joinChannel, full invite links in importChatInvite and checkChatInvite, non-invite links in importChatInvite * Apply fixes from StyleCI * Logging fixes * Build docs * Add methods to modify start template, bugfix to logging and keyboard conversion * Add TL documentator * Document MTProto methods * Documenting methods... * 7% documented * Bugfixes * Update docs * Update docs * Simplify file management * Implement automatic object conversion for media, and more awesome stuff * Implement automatic object conversion for media, and more awesome stuff * Implement event update handler and file upload/download callback * Auto-detect mime type, duration, width and height of media * Update docs * Document new file functions * Fix links * Fix links * Update bot.php to use event loop * Implement webhook update handler and forking in main loop * Build docs * Better docs * Fixes to secret chats * Almost finished updating docs * Bugfixes, implemented infinite loop for loop() method, almost finished docs * Finish writing docs * Add automatic documentation builder script * Finished writing docs |
||
---|---|---|
.vscode | ||
docs | ||
fuzz | ||
lua | ||
old_docs | ||
src | ||
tests | ||
userbots | ||
.babelrc | ||
.env.calls | ||
.env.example | ||
.gitignore | ||
.travis.yml | ||
bot.php | ||
build_docs_index.php | ||
build_docs.php | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
composer.json | ||
CONTRIBUTING.md | ||
index.php | ||
input.raw | ||
LICENSE | ||
magna.php | ||
makephar.php | ||
multiprocess_bot.php | ||
phar.php | ||
phartesting.php | ||
README.md | ||
secret_bot.php | ||
socket.php | ||
songs.php | ||
translator.php |
MadelineProto, a PHP MTProto telegram client
Do join the official channel, @MadelineProto and the support groups!
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!).
Getting started
<?php
if (!file_exists('madeline.php')) {
copy('https://phar.madelineproto.xyz/madeline.php', 'madeline.php');
}
include 'madeline.php';
// !!! This API id/API hash combination will not work !!!
// !!! You must get your own @ my.telegram.org !!!
$api_id = 0;
$api_hash = '';
$MadelineProto = new \danog\MadelineProto\API('session.madeline', ['app_info' => ['api_id' => $api_id, 'api_hash' => $api_hash]]);
$MadelineProto->start();
$MadelineProto->messages->sendMessage(['peer' => '@danogentili', 'message' => "Hi!\nThanks for creating MadelineProto! <3"]);
$MadelineProto->channels->joinChannel(['channel' => '@MadelineProto']);
Run this code in a browser or in a console.
Documentation
- Creating a client
- Logging in
- Features
- Requirements
- Installation
- Handling updates
- Settings
- Getting info about the current user
- Exceptions
- Logging
- Using methods
- Uploading and downloading files
- Getting info about chats
- Getting all chats
- Inline buttons
- Calls
- Secret chats
- Lua binding
- Using a proxy
Very complex and complete examples
You can find examples for nearly every MadelineProto function in
tests/testing.php
- examples for making/receiving calls, making secret chats, sending secret chat messages, videos, audios, voice recordings, gifs, stickers, photos, sending normal messages, videos, audios, voice recordings, gifs, stickers, photos.bot.php
- examples for sending normal messages, downloading any mediasecret_bot.php
- secret chat botmultiprocess_bot.php
- multithreaded botmagna.php
- examples for receiving callsuserbots/pipesbot.php
- examples for creating inline bots and using other inline bots via a userbotuserbots/MadelineProto_bot.php
- Multi-function botuserbots/pwrtelegram_debug_bot
- Multi-function bot