我正在使用laravel 5.4和Telegram Bot SDK。
我想在我的机器人上添加一个命令。
我尝试添加the documentation StartCommand
,但收到错误。
Command class "Vendor\App\Commands\StartCommand" not found!
但文档说:
您可以将自定义命令存储在任何目录中,只要您的命令可以根据
composer.json
设置自动加载
我将StartCommand class
存储在app\StartCommand.php
。
这是我的composer.json
:
...
,
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
},
...
这是在`config \ telegram.php:
的telegrom-bot-sdk配置...
'commands' => [
Telegram\Bot\Commands\HelpCommand::class,
Vendor\App\Commands\StartCommand::class,
],
];
答案 0 :(得分:1)
我必须使用我文件的当前命名空间。
如果我将命令文件存储在app\
中,我应该使用
namespace App;
在我的代码中而不是
namespace Vendor\App\Commands;
和config\telegram.php
:
...
'commands' => [
Telegram\Bot\Commands\HelpCommand::class,
App\StartCommand::class,
],
];