Skip to content

Commit

Permalink
Whoops
Browse files Browse the repository at this point in the history
  • Loading branch information
valzargaming committed Sep 29, 2024
1 parent e87fbec commit 8067565
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 28 deletions.
1 change: 1 addition & 0 deletions src/Discord/Parts/Guild/Guild.php
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@
*
* @property AutoModerationRuleRepository $auto_moderation_rules
* @property BanRepository $bans
* @property EntitlementRepository $entitlements
* @property GuildCommandRepository $commands
* @property CommandPermissionsRepository $command_permissions
* @property IntegrationRepository $integrations
Expand Down
12 changes: 6 additions & 6 deletions src/Discord/WebSockets/Events/EntitlementCreate.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,19 @@ class EntitlementCreate extends Event
public function handle($data)
{
/** @var Entitlement */
$part = $this->factory->part(Entitlement::class, (array) $data, true);
$entitlementPart = $this->factory->part(Entitlement::class, (array) $data, true);

if (isset($data->guild_id)) {
/** @var Guild|null */
$guild = yield $this->discord->guilds->cacheGet($data->guild_id);
if ($guild instanceof Guild) {
$guild->entitlements->set($part);
return $part;
$guild->entitlements->set($data->id, $entitlementPart);
return $entitlementPart;
}
} else {
$this->discord->entitlements->set($data->id, $part);
}

return $part;
$this->discord->entitlements->set($data->id, $entitlementPart);

return $entitlementPart;
}
}
55 changes: 33 additions & 22 deletions src/Discord/WebSockets/Events/EntitlementUpdate.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
use Discord\WebSockets\Event;

/**
* @link https://discord.com/developers/docs/topics/gateway-events#guild-soundboard-sound-update
* @link https://discord.com/developers/docs/topics/gateway-events#guild-entitlementboard-entitlement-update
*
* @since 10.0.0
*/
Expand All @@ -27,31 +27,42 @@ class EntitlementUpdate extends Event
*/
public function handle($data)
{
$newPart = $oldPart = null;

/** @var Guild|null */
$guild = yield $this->discord->guilds->cacheGet($data->guild_id);
if (! $guild instanceof Guild) {
/** @var Sound */
$newPart = $this->factory->part(Sound::class, (array) $data, true);
return [$newPart, $oldPart];
}
$newEntitlementPart = $oldEntitlementPart = null;

/** @var ?Sound */
$oldPart = yield $guild->sounds->cacheGet($data->sound_id);
if ($oldPart instanceof Entitlement) {
$newPart = clone $oldPart;
$newPart->fill((array) $data);
if (isset($data->guild_id)) {
/** @var Guild|null */
$guild = yield $this->discord->guilds->cacheGet($data->guild_id);
if ($guild instanceof Guild) {
/** @var ?Entitlement */
$oldEntitlementPart = yield $guild->entitlements->cacheGet($data->id);
if ($oldEntitlementPart instanceof Entitlement) {
$newEntitlementPart = clone $oldEntitlementPart;
$newEntitlementPart->fill((array) $data);
}
$guild->entitlements->set($data->id, $newEntitlementPart ?? $this->factory->part(Entitlement::class, (array) $data, true));
}
} else {
/** @var Sound */
$newPart = $this->factory->part(Sound::class, (array) $data, true);
/** @var ?Entitlement */
$oldEntitlementPart = yield $this->discord->entitlements->cacheGet($data->id);
if ($oldEntitlementPart instanceof Entitlement) {
$newEntitlementPart = clone $oldEntitlementPart;
$newEntitlementPart->fill((array) $data);
}
}

/** @var EntitlementRepository */
if ($repository = $guild->entitlements) {
$repository->set($newPart->sound_id, $newPart);
}
/** @var Entitlement */
$newEntitlementPart = $newEntitlementPart ?? $this->factory->part(Entitlement::class, (array) $data, true);

$this->discord->entitlements->set($data->id, $newEntitlementPart);

return [$newPart, $oldPart];
return [$newEntitlementPart, $oldEntitlementPart];
}
}








0 comments on commit 8067565

Please sign in to comment.