X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FConsole%2FCommands%2FDiscordBotCommand.php;h=a86966b3f4953570f83f016fc9a1f36cd8f1c480;hb=a5b6f807937bc78ff991d11cff5bf9455dee9eea;hp=066f5ff51920027f5b0f72b1bb609532d5bb484e;hpb=3caf693c776de3293ec3cb86e19ddebdf9891368;p=alttp.git diff --git a/app/Console/Commands/DiscordBotCommand.php b/app/Console/Commands/DiscordBotCommand.php index 066f5ff..a86966b 100644 --- a/app/Console/Commands/DiscordBotCommand.php +++ b/app/Console/Commands/DiscordBotCommand.php @@ -2,6 +2,7 @@ namespace App\Console\Commands; +use App\Models\DiscordBotCommand as CommandModel; use App\Models\DiscordChannel; use App\Models\DiscordGuild; use App\Models\DiscordRole; @@ -10,6 +11,7 @@ use Discord\Parts\Channel\Channel; use Discord\Parts\Channel\Message; use Discord\Parts\Guild\Guild; use Discord\Parts\Guild\Role; +use Discord\Parts\User\Activity; use Discord\WebSockets\Event; use Illuminate\Console\Command; use Monolog\Handler\StreamHandler; @@ -45,6 +47,23 @@ class DiscordBotCommand extends Command 'logger' => $logger, 'token' => config('discord.token'), ]); + $discord->on('ready', function (Discord $discord) { + $activity = new Activity($discord); + $activity->type = Activity::TYPE_LISTENING; + $activity->name = 'HolySmoke'; + $activity->url = 'https://alttp.localhorst.tv/'; + $discord->updatePresence($activity); + + $discord->getLoop()->addPeriodicTimer(1, function () use ($discord) { + $command = CommandModel::where('status', '=', 'pending')->oldest()->first(); + if ($command) { + try { + $command->execute($discord); + } catch (\Exception $e) { + } + } + }); + }); $discord->on(Event::GUILD_CREATE, function (Guild $guild, Discord $discord) { try { DiscordGuild::onUpstreamCreate($guild); @@ -61,21 +80,21 @@ class DiscordBotCommand extends Command }); $discord->on(Event::CHANNEL_CREATE, function (Channel $channel, Discord $discord) { try { - DiscordGuild::onUpstreamCreate($channel); + DiscordChannel::onUpstreamCreate($channel); } catch (\Exception $e) { $this->error('channel create: '.$e->getMessage()); } }); $discord->on(Event::CHANNEL_UPDATE, function (Channel $channel, Discord $discord, ?Channel $old) { try { - DiscordGuild::onUpstreamUpdate($channel); + DiscordChannel::onUpstreamUpdate($channel); } catch (\Exception $e) { $this->error('channel update: '.$e->getMessage()); } }); $discord->on(Event::CHANNEL_DELETE, function ($channel, Discord $discord) { try { - DiscordGuild::onUpstreamDelete($channel); + DiscordChannel::onUpstreamDelete($channel); } catch (\Exception $e) { $this->error('channel delete: '.$e->getMessage()); }