X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FConsole%2FCommands%2FDiscordBotCommand.php;h=4368bb5b1d4b06d2bc815c74ff35d470cf708d95;hb=12f64085fd212a9744db01790cefad53c970e8d9;hp=4ffbe119f440dbf5d308d05283025cb9557bec57;hpb=d566d913c251fbb05e6bd314cc51f8b5ca49fe57;p=alttp.git diff --git a/app/Console/Commands/DiscordBotCommand.php b/app/Console/Commands/DiscordBotCommand.php index 4ffbe11..4368bb5 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); @@ -101,25 +120,6 @@ class DiscordBotCommand extends Command $this->error('guild role delete: '.$e->getMessage()); } }); - $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(); });