我有两个项目,我想使用this SDK。一个是Laravel 5.4,第二个是Laravel 5.5。 使用Laravel 5.4,消息发送顺利,但是使用Laravel 5.5,我收到以下错误:
代码是:
use App\Http\Controllers\TelegramController;
.
.
.
TelegramController::sendNotification('contactMail', $params);
TelegramController:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Telegram\Bot\Laravel\Facades\Telegram;
class TelegramController extends Controller {
public function getHome()
{
return view('/');
}
public function getUpdates()
{
$updates = Telegram::getUpdates();
dd($updates);
}
public static function sendNotification($type, $params){
switch($params['subject']){
case 'contact':
$subject = 'Contact';
break;
case 'pricequote':
$subject = 'PriceQuote';
break;
}
switch($type){
case 'contactMail':
$message = 'New message from:: ' . $params['email'] . ". Subject: " . $subject;
}
Telegram::sendMessage([
'chat_id' => 'mychatId',
'text' => $message,
]);
}
}
问题是什么?
修改
我忘记将这些行添加到config / app.php(谢谢你,金字塔先生)
现在我又出现了另一个错误,即它找不到TelegramOtherException
。我重新安装了它,但我仍然收到错误:
答案 0 :(得分:2)
检查您提到的文档,它建议通过composer
{
"require": {
"irazasyed/telegram-bot-sdk": "^2.0"
}
}
或者
composer require irazasyed/telegram-bot-sdk ^2.0
然后添加providers
app/config.php
Telegram\Bot\Laravel\TelegramServiceProvider::class
然后Facade
在app/config.php
'Telegram' => Telegram\Bot\Laravel\Facades\Telegram::class
最后通过以下任何一种方式发布
php artisan vendor:publish --provider="Telegram\Bot\Laravel\TelegramServiceProvider"
OR
php artisan vendor:publish
注意:在Laravel 5.5中,会自动检测到外墙,但我仍然建议进行交叉检查。