Skip to main content

概要

revolution/laravel-notification-discord-webhook は、Discord Webhook を使って Laravel Notifications から Discord に通知を送るパッケージです。 Discord の正式な Bot API は WebSocket 接続を維持する必要があり、セットアップが複雑です。Webhook なら URL を取得するだけで通知を送れます。チームの Discord チャンネルにアプリのイベントを通知したいだけであれば、Webhook が最適な選択です。
このパッケージは PHP 8.3 以上、Laravel 12.0 以上が必要です。

インストール

設定

Discord の Webhook URL を取得する

Discord サーバーの 設定 → 連携サービス → ウェブフック から Webhook URL を作成できます。詳細は Discord の公式ガイド を参照してください。

config/services.php

.env

基本的な使い方

Notification クラスを作成する

toDiscordWebhook() メソッドを実装し、via()DiscordChannel::class を返します。

送信パターン

On-Demand 通知

特定のユーザーモデルに紐づけずに通知を送る場合は、Notification::route() を使います。

User モデルからの通知

User ごとに異なる Webhook URL を使う場合は、routeNotificationForDiscordWebhook() を定義します。

メッセージタイプ

テキストメッセージ

最もシンプルな送信方法です。

Embed メッセージ

DiscordEmbed を使うとタイトルや URL を含むリッチな表示ができます。

ファイル添付

DiscordAttachment を使うとファイルを添付して送信できます。content(ファイルの中身)と filename が必須です。

Embed 内でのファイル参照

Embed の imagethumbnail に添付ファイルを attachment://ファイル名 で参照できます。

任意のペイロードを送信する

->with() を使うと、Discord Webhook の任意のパラメータを直接指定できます。
->with() で指定できるパラメータの詳細は Discord の公式 API ドキュメント を参照してください。

まとめ

Discord Bot は強力ですが、単に通知を送るだけであれば Webhook がずっとシンプルです。このパッケージを使えば、Laravel の通知システムとシームレスに統合して、チームの Discord チャンネルにアプリのイベントをすばやく通知できます。
最新情報は GitHub リポジトリ を参照してください。
最終更新日 2026年4月29日