blaze / blazing
Requires
- php: >=5.5.0
- composer/composer: 1.5
This package is auto-updated.
Last update: 2020-06-30 11:04:15 UTC
README
Telegram bot php SDK
-
安装
- 安装php(推荐7.0或更高版本)
- 安装composer
-
创建新项目
- 在终端(cmd)中运行
composer create-project blaze/blazingsdk <项目名称> - 等待所有依赖项安装完成
- 在终端(cmd)中运行
-
创建新机器人
- 进入项目文件夹(
cd <项目名称>) composer new bot <机器人名称> <机器人API令牌>- 现在应在项目文件夹内创建一个以机器人名称命名的文件夹。
- 进入项目文件夹(
-
(可选)使用laravel的数据库模块(eloquent)与机器人一起使用
- 参考如何在Laravel之外使用Eloquent
- 计划为将来提供更简单的方法来使用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() - 大小写和下划线不重要。
- 例如:要获取消息ID,使用
-
要向Telegram API发送请求,请使用机器人类中的sendRequest()方法。该方法接受一个数组。该数组必须包含一个method键和用于指定方法的其它参数。
- 例如:
$bot->sendRequest (array( “method” => “sendMessage”, “chat_id” => $msg->getChat()->getId(), “text” => “some text” ));
- 例如: