【问题标题】:Error when trying to send a notification to my slack with Laravel 5.8尝试使用 Laravel 5.8 向我的 slack 发送通知时出错
【发布时间】:2020-02-15 11:14:18
【问题描述】:

我尝试在我的频道上发送一个简单的 slack 通知,以了解客户何时购买或注册,但我遇到了错误,我在网络上找不到任何解决方案。

这是我的通知 SlackNotification.php :

<?php

namespace App\Notifications;

use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Messages\SlackMessage;

class SlackNotification extends Notification
{
    use Queueable;

    /**
     * Create a new notification instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Get the notification's delivery channels.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function via($notifiable)
    {
        return ['slack'];
    }

    /**
     * Get the mail representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return \Illuminate\Notifications\Messages\SlackMessage
     */
    public function toSlack($notifiable)
    {

        return (new SlackMessage)
                ->from('Ghost', ':ghost:')
                ->to('#new-user-notification')
                ->content('Hello World !');
    }

    /**
     * Get the array representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function toArray($notifiable)
    {
        return [
            //
        ];
    }
}

我还按照文档要求更新 User.php(当然是我的个人代码)

public function routeNotificationForSlack($notification)
{
    return 'https://hooks.slack.com/services/XXXXXXXXXXXX';
}

然后当客户在我的网站上购买商品时

$user->notify(new SlackNotification);

所有的使用都是正确的。

即使我用这样的外观发出通知

\Notification::route('slack', env('SLACK_HOOK'))->notify(new SlackNotification());

我每次都得到这个结果:

InvalidArgumentException Driver [slack] not supported.

【问题讨论】:

    标签: php slack-api laravel-5.8 laravel-notification


    【解决方案1】:

    作曲家没有更新... 这是我找到的解决方案!

    composer require laravel/slack-notification-channel
    

    【讨论】:

      【解决方案2】:

      就我而言,我有一个只有 2048 MB RAM 的 Homestead 虚拟机。第一次运行composer require laravel/slack-notification-channel时,由于内存不足而失败,但突然成功安装包,但经过测试,上述错误仍然存​​在。

      然后我不得不关闭我的虚拟机,暂时将其 RAM 升级到 4096 MB,编辑 Homestead.yaml 以识别这些相同的 4096 MB,然后我再次打开它,一旦通过 SSH 连接,我运行 composer require laravel/slack-notification-channel再次,然后是 composer dumpautoloadcomposer install。由于我的机器资源有限,在恢复所有与临时 RAM 升级相关的更改后,我不得不再次以 2048 MB 重新启动它。

      一旦启动,我进行了测试,然后它完美运行。我认为该软件包没有安装好,或者它已损坏,或者类似的东西。

      【讨论】:

        猜你喜欢
        • 2017-08-12
        • 2020-06-17
        • 1970-01-01
        • 2013-03-14
        • 1970-01-01
        • 2017-02-18
        • 1970-01-01
        • 2022-10-15
        • 1970-01-01
        相关资源
        最近更新 更多