blaze/blazing

该包已被放弃,不再维护。作者建议使用blaze/myst包。

PHP Telegram Bot SDK

dev-master 2017-11-22 03:23 UTC

This package is auto-updated.

Last update: 2020-06-30 11:04:15 UTC


README

Telegram bot php SDK

  • 安装

  • 创建新项目

    • 在终端(cmd)中运行 composer create-project blaze/blazingsdk <项目名称>
    • 等待所有依赖项安装完成
  • 创建新机器人

    • 进入项目文件夹( cd <项目名称>
    • composer new bot <机器人名称> <机器人API令牌>
    • 现在应在项目文件夹内创建一个以机器人名称命名的文件夹。
  • (可选)使用laravel的数据库模块(eloquent)与机器人一起使用

  • 到这一点,机器人已经配置为响应/start和/help命令,并有一些默认响应。您可以从机器人目录中的commands.php文件编辑这些响应。

  • 要支持更多命令,请向commands.php文件中的Commands类添加新方法。该方法应该是静态的(稍后会更改)且方法名应该是命令的第一个单词。该方法还应接受两个参数:一个机器人对象和一个消息对象。

    • 例如:如果您正在添加对/hello命令的支持,则您的函数应如下所示

      • public static function hello(Bot $bot, Message $msg) { }
    • 请注意,命令不一定要在发送的消息的开头才能发送到commands.php。您可以从updates.php中更改此设置。

  • 如果您想让机器人响应CallbackQueries,请向CallBackQueries.php文件中的CallbackQueries类添加方法。该方法应该是静态的,其名称应该是回调查询数据的第一个单词。该方法还应接受两个参数,一个机器人对象和一个CallBackQuery对象。

    • 例如:如果您正在添加支持以数据第一个单词为'hello'的回调查询,则您的函数应如下所示

      • public static function hello(Bot $bot, CallBackQuery $cbq) { }
    • 您还可以编辑updates.php文件来自定义处理命令、CallBackQueries和其他类型机器人更新对象的方式。

  • 对于Telegram API对象(Message、chat user等…),在API方法之前使用get作为getter。

    • 例如:要获取消息ID,使用$msg->getMessageId()
    • 大小写和下划线不重要。
  • 要向Telegram API发送请求,请使用机器人类中的sendRequest()方法。该方法接受一个数组。该数组必须包含一个method键和用于指定方法的其它参数。

    • 例如:$bot->sendRequest (array( “method” => “sendMessage”, “chat_id” => $msg->getChat()->getId(), “text” => “some text” ));
如果您需要任何进一步的帮助,请随时联系我(@BlazeMV)在Telegram上。
由Adam Dawood(@BlazeMV)使用PHP开发