rubika/app

此包已被废弃且不再维护。作者建议使用 rubikalib/rubikalib 包。

用于用PHP制作应用程序的 rubika 库

v1.3 2023-04-06 17:58 UTC

This package is auto-updated.

Last update: 2024-08-12 12:36:10 UTC


README

rubika 客户端,用于用PHP运行机器人。 使用此客户端制作机器人、游戏等...

用法

在终端运行此命令

composer require rubika/app
  1. 在当前目录中创建一个新的 PHP 文件

  2. 在文件中引入 vendor 和 Bot

require_once __DIR__ . '/vendor/autoload.php';

use Rubika\Bot;
  1. 现在你可以发送消息
$bot = new Bot(9123456789);
$bot->sendMessage('u0FFeu...', 'سلام');

获取消息更新

要获取更新,你必须创建一个新类并命名它

require_once __DIR__ . '/vendor/autoload.php';

use Rubika\Client;

class myBot extends Client
{
    function onStart(): void # required !
    {
        echo 'bot running ... ';
    }

    function runBot(array $update) # required !
    {
        foreach ((isset($update['message']) ? $update['message'] : $update) as $message) {
            $message = isset($message['message']) ? $message['message'] : $message;
            $msg_id = $message['message_id'];
            $text = $message['text'];
            $type = $message['type'];
            $user_id = $message['author_object_guid'];

            $this->sendMessage($user_id, 'پیامتان دریافت شد ;)');
        }
    }
}

new myBot(9123456789);

错误异常

我们为所有可能发生的错误创建了一个异常系统,你可以用 try/catch 来捕获它们

use Rubika\Exception\Error;

try {
    $bot = new Bot(9123456789);
    $bot->sendMessage('u0FFeu...', 'سلام');
} catch (Error $e) {
    echo $e->getMessage();
}


// or for updates :


try {
    new myBot(9206634543);
} catch (Error $e) {
    echo $e->getMessage();
}

网页模式

如果你想在网页上运行你的机器人或想制作网页,我们也有方法;)

注意:在网页上运行时,机器人将自动激活网页模式

require_once __DIR__ . '/vendor/autoload.php';

$page = Web(9123456789);
// $page = Web(9123456789, 'index.php'); you can add a custom index file
// index file:
//     <?php
//     echo 'its OK ;)';
//     ?>

$page->sendMessage("uFF...", 'سلام');

* 网页登录功能将在文本版本中改进...

快速模式

你可以在不写类的情况下获取消息更新

require_once __DIR__ . '/vendor/autoload.php';

Fast(function ($update, $obj) {
    foreach ((isset($update['message']) ? $update['message'] : $update) as $message) {
        $message = isset($message['message']) ? $message['message'] : $message;
        $msg_id = $message['message_id'];
        $text = $message['text'];
        $type = $message['type'];
        $user_id = $message['author_object_guid'];

        $obj->sendMessage($user_id, 'پیامتان دریافت شد ;)');
    }
}, 9123456789);

自动发送消息操作

现在你可以设置自动发送操作模式到你的媒体,如发送消息、照片等。

Fast(function ($update, $obj) {
    // ...
        $obj->autoSendAction = true;
    // ...
}, 9123456789);