losthost/telle

该软件包最新版本(v4.1.5b)没有可用的许可信息。

用于极复杂机器人的简单模板

v4.1.5b 2024-06-16 18:58 UTC

README

此框架允许创建可以像通过webhook作为web服务器一样工作的Telegram机器人,也可以在cli模式下独立运行,通过getUpdates()获取更新。

在独立模式下支持多线程,通过启动worker进程,如果这对高负载项目是必要的。

此外,框架拥有自己的任务调度器,允许在调度器线程或单独的线程中启动继承自AbstractBackgroundProcess的类(对于消耗大量时间的进程推荐使用)。

快速入门

  1. 创建项目并通过composer连接Telle
    "require": {
        "losthost/telle": "^4",
    },
  1. 创建etc/bot_config.php
$token      = 'bot:token_полученный_от_BotFather';
$ca_cert    = 'Путь/к/cacert.pem';
$timezone   = 'Default/Timezone';       // ex. Europe/Moscow
$db_host    = 'your.database.host';
$db_user    = 'db_username';
$db_pass    = 'Db-PAssWorD';
$db_name    = 'database_name';
$db_prefix  = 'table_prefix_';
  1. 创建处理器
use losthost\telle\abst\AbstractHandlerCommand;
use losthost\telle\Bot;

class CommandStart extends AbstractHandlerCommand {

    const COMMAND = 'start';

    protected function handle(\TelegramBot\Api\Types\Message &$message) : bool {
        Bot::$api->sendMessage(Bot::$chat->id, 'Hello World!');
        return true;
    }
}
  1. 创建包含以下内容的启动机器人文件(例如index.php)
use losthost\telle\Bot;

require 'vendor/autoload.php';

// Инициализация бота
Bot::setup();

// Ваша собственная инициализация если нужна
// (добавьте сюда какой-нибудь код)

// Добавьте обработчик(и)
Bot::addHandler(CommandStart::class);

// Запустите бота
Bot::run();

(查看src/samples文件夹,那里有其他处理器的示例。src/abst文件夹中包含处理器的父类)

待办事项

创建一个包含机器人示例的存储库,并创建对其的链接