chipslays / tas-wrapper
简单API包装,轻松管理TelegramApiServer。
0.0.6
2021-01-18 15:35 UTC
README
简单的API包装,轻松在您的项目中管理 TelegramApiServer。
安装
composer require chipslays/tas-wrapper
示例
客户端
支持所有MadelineProto的方法,方法列表 这里。
use TelegramApiServer\Client; require 'vendor/autoload.php'; $client = new Client([ 'host' => '127.0.0.1', 'port' => '9503', 'session' => 'session_name', ]); $response = $client->get('getSelf')->execute(); // GET request $response = $client->post('getSelf')->execute(); // POST request $response = $client->get('messages.sendMessage', [ 'peer' => '@chipslays', 'message' => 'Hello from tas-wrapper! 👋', 'parse_mode' => 'html', ])->execute();
此外,您可以通过option(NAME_OPTION, 'value')
方法定义curl选项。
$response = $client ->get('getSelf') ->option(CURLOPT_TIMEOUT, 60) ->option(CURLOPT_HEADER, false) ->execute();
映射您自己的方法(别名),这很简单
$client->map('sendMessage', fn($peer, $text) => $client->get('messages.sendMessage', [ 'peer' => $peer, 'message' => $text, ])->execute()); $response = $client->sendMessage('@chipslays', 'so simple!');
每次调用sendMessage
方法时,都会再次执行第二个参数中的函数。
如果您需要函数只执行一次,并在后续时间只返回执行结果,请使用mapOnce()
方法而不是map()
。
$client->mapOnce('getSelf', fn() => $client->get('getSelf')->execute()); $me = $client->getSelf();
会话
管理TelegramApiServer会话,更多详情 这里。
use TelegramApiServer\Session; require 'vendor/autoload.php'; // This is example of default config // NOTE: If you have the same data, you can skip this Session::setConfig([ 'host' => '127.0.0.1', 'port' => '9503', 'schema' => 'http', ]); // Get sessions list $response = Session::list(); // Adding new session $response = Session::add('session_name'); // Removing session (session file will remain) $response = Session::remove('session_name'); // Remove session file // WARNING: Don`t forget to logout and call `removeSession` first! $response = Session::unlink('session_name');