类声明必须与telegram bot包中的接口错误兼容

时间:2018-01-20 15:43:46

标签: php telegram telegram-bot

我使用irazasyed/telegram-bot-sdk制作电报机器人。

但是当我首先安装dev-develop时,我收到了这个错误:

    Cannot use Telegram\Bot\Objects\Message as Message because the name is already in use {"exception":"[object]  
 (Symfony\\Component\\Debug\\Exception\\FatalErrorException(code: 64): Cannot use Telegram\\Bot\\Objects\\Message as Message because the name is already in use at D:\\wamp\\www\\botshop\\vendor\\irazasyed\\telegram-bot-sdk\\src\\Methods\\Payments.php:5)

但之后我在Payments.php的第5行评论use Telegram\Bot\Objects\Message;时,错误未再显示。

但另一个问题是:

Declaration of App\Commands\StartCommand::handle($arguments) must be compatible with Telegram\Bot\Commands\Command::handle()

这是一个简单的StartCommand,在创建新命令的所有示例中,它本身也使用包:

class StartCommand extends Command
{
    protected $name = "start";

    protected $description = "Start Command to get you started";

    public function handle($arguments)
    {
        $this->replyWithMessage(['text' => 'Hello! Welcome to our bot, Here are our available commands:']);

    }
}

我使用的是php7.0.10和laravel 5.5。

1 个答案:

答案 0 :(得分:1)

const re = 'i am a string'; console.log(re.replace(/(\b[a-z])/g, (x) => x.toUpperCase()));类默认情况下handle函数不会采用任何参数。

由于您未使用Telegram\Bot\Commands\Command变量,因此可以从$arguments函数参数中删除它,您的代码应该再次运行。