X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FConsole%2FCommands%2FDiscordBotCommand.php;h=a049eba3bacd4327ee46df2beb5f53b173e1f912;hb=a058ba02c473649714add36edd021faab7a96e4c;hp=7d51cb9df4868ec0bc76fcfc22c13d28a66606a0;hpb=4622c1d4e89a5feac97fc19a62a2051a8484d364;p=alttp.git diff --git a/app/Console/Commands/DiscordBotCommand.php b/app/Console/Commands/DiscordBotCommand.php index 7d51cb9..a049eba 100644 --- a/app/Console/Commands/DiscordBotCommand.php +++ b/app/Console/Commands/DiscordBotCommand.php @@ -2,7 +2,11 @@ namespace App\Console\Commands; +use App\Models\DiscordGuild; use Discord\Discord; +use Discord\Parts\Channel\Message; +use Discord\Parts\Guild\Guild; +use Discord\WebSockets\Event; use Illuminate\Console\Command; use Monolog\Handler\StreamHandler; use Monolog\Logger; @@ -37,7 +41,30 @@ class DiscordBotCommand extends Command 'logger' => $logger, 'token' => config('discord.token'), ]); + $discord->on(Event::GUILD_CREATE, function (Guild $guild, Discord $discord) { + DiscordGuild::sync($guild); + }); + $discord->on(Event::GUILD_UPDATE, function (Guild $guild, Discord $discord, Guild $old) { + DiscordGuild::sync($guild); + }); $discord->on('ready', function (Discord $discord) { + $discord->on(Event::MESSAGE_CREATE, function (Message $message, Discord $discord) { + if (!empty($message->guild_id)) return; + if (!empty($message->webhook_id)) return; + if (!empty($message->application_id)) return; + if (is_null($message->author)) return; + if ($message->author->bot) return; + $discord->getLoop()->addTimer(0.6, function() use ($message) { + $message->react('😄'); + }); + if (!is_null($message->channel)) { + $discord->getLoop()->addTimer(2.0, function() use ($message) { + $message->channel->sendMessage('bugger off'); + }); + } else { + $message->delayedReply('bugger off', 2000); + } + }); }); $discord->getLoop()->addSignal(SIGINT, function() use ($discord) { $discord->close();