NOTE: Discord handles direct messages as though they are a regular channel. If you wish to allow users to receive direct messages from your bot, you will need to create a private channel with that user.
An example workflow may look like the following:

Your users table has two discord columns: discord_user and discord_channel

When a user updates their Discord user ID (discord_user), generate and save a channel ID (discord_channel)

Return the user's discord_channel in the routeNotificationForDiscord method on the User model

You can generate direct message channels by using the getPrivateChannel method in NotificationChannels\Discord\Discord:

You may now tell Laravel to send notifications to Discord channels in the via method:

// ...useNotificationChannels\Discord\DiscordChannel;useNotificationChannels\Discord\DiscordMessage;classGameChallengeNotificationextendsNotification{public$challenger;public$game;publicfunction__construct(Guild$challenger, Game$game) {$this->challenger=$challenger;$this->game=$game; }publicfunctionvia($notifiable) {return [DiscordChannel::class]; }publicfunctiontoDiscord($notifiable) {returnDiscordMessage::create("You have been challenged to a game of *{$this->game->name}* by **{$this->challenger->name}**!"); }}