Heute möchte ich euch von einem spannenden Projekt erzählen, das ich kürzlich für einen meiner Kunden umgesetzt habe. Nach über zehn Jahren in der Webentwicklung dachte ich, ich hätte alles gesehen – von wackeligen Servern bis hin zu glorreichen Launch-Partys. Aber die Verbindung von Discord und Laravel? Das war eine ganz neue Herausforderung, die sich als unglaublich lohnenswert herausstellte. Also schnappt euch eure Tasse Kaffee und lehnt euch zurück, während ich euch durch die Höhen und Tiefen meiner jüngsten technischen Abenteuer führe.
Der Auftrag
Mein Kunde, ein aufstrebendes Start-up, wollte die Kommunikation und Interaktion in ihrem Team verbessern. Discord war bereits als Kommunikationsplattform im Einsatz, und die Idee war, Benachrichtigungen und Daten aus ihrer Laravel-Anwendung direkt in Discord zu integrieren. Eine spannende Herausforderung, die ich gerne annahm.Der Anfang: Discord Bot erstellen
Erster Schritt: Ein Discord-Bot musste her. Also machte ich mich auf den Weg ins Discord Developer Portal. Das war der einfache Teil. Ein paar Klicks hier, ein paar Häkchen dort, und voila – der Bot war geboren! Doch wie es bei jedem neuen Baby so ist, das war erst der Anfang.Laravel-Projekt einrichten
Nun war es an der Zeit, mein treues Laravel-Projekt zu konfigurieren. Ich erstellte ein neues Projekt und installierte das benötigte Paket discord-php:composer create-project --prefer-dist laravel/laravel discord-laravel
composer require team-reflex/discord-php
php artisan make:provider DiscordServiceProvider
app->singleton(Discord::class, function ($app) {
return new Discord([
'token' => env('DISCORD_BOT_TOKEN'),
]);
});
}
public function boot()
{
//
}
}
Nachrichten senden
Der nächste Schritt war das Senden von Nachrichten an Discord. Also erstellte ich einen neuen Command:php artisan make:command SendDiscordNotification
argument('message');
$discord->on('ready', function ($discord) use ($channelId, $message) {
$channel = $discord->getChannel($channelId);
$channel->sendMessage($message);
$this->info('Message sent to Discord!');
});
$discord->run();
}
}
Kommentare 0
Noch keine Kommentare. Seien Sie der Erste!