} }); // Handle close event (Not exactly gracefully, but consider it handled... /** @var \Discord\WebSockets\WebSocket $websocket */ /** @var \Sluggard\SluggardApp $app */ $websocket->on("close", function ($websocket, $reason, $discord) use($app) { $app->log->err("Connection was closed: " . $reason); die; }); // Handle close event (Not exactly gracefully, but consider it handled... /** @var \Discord\WebSockets\WebSocket $websocket */ /** @var \Sluggard\SluggardApp $app */ $websocket->on("error", function ($error, $websocket) use($app) { $app->log->err("Error: {$error}"); }); // Handle reconnect event /** @var \Sluggard\SluggardApp $app */ $websocket->on("reconnect", function () use($app) { $app->log->info("Reconnecting to Discord"); }); // Handle reconnected event /** @var \Sluggard\SluggardApp $app */ $websocket->on("reconnected", function () use($app) { $app->log->info("Reconnected to Discord"); }); // Setup the cache (Only works aslong as the bot is running) \Discord\Cache\Cache::setCache(new \Discord\Cache\Drivers\ArrayCacheDriver()); // Add some config options to Guzzle.. \Discord\Helpers\Guzzle::addGuzzleOptions(array("http_errors" => false, "allow_redirects" => true)); // Start the bot $websocket->run();