Closed Laith98Dev closed 1 year ago
where is that var_dump
from?
I have added it and made a temporary fix to make the plugin work.
My edited code:
static public function genModelActivity(DiscordActivity $discordActivity): Activity{
/** @var ?object{end: int|null, start: int|null} $timestamps */
$timestamps = $discordActivity->timestamps;
/** @var ?object{id: string|null, size: int[]|null} $party */
$party = $discordActivity->party;
/** @var ?object{"large_image": string|null, "large_text": string|null, "small_image": string|null, "small_text": string|null} $assets */
$assets = $discordActivity->assets;
/** @var ?Emoji $emoji */
$emoji = ($discordActivity->emoji === null ? null : self::genModelEmoji($discordActivity->emoji));
/** @var ?object{"join": string|null, "spectate": string|null, "match": string|null} $secrets */
$secrets = $discordActivity->secrets;
/** @var object{"url": string|null, "label": string}[] $dButtons */
$dButtons = $discordActivity->buttons ?? [];
var_dump($dButtons);
/** @var ActivityButton[] $buttons */
// $buttons = ($dButtons === [] ? [] : array_map(fn(/** @var ?object{"url": string|null, "label": string}[] $button */ $button) => new ActivityButton($button->label, $button->url ?? null), $dButtons));
$buttons = ($dButtons === [] ? [] : array_map(fn(/** @var ?object{"url": string|null, "label": string}[] $button */ $button) => new ActivityButton($button, null), $dButtons));
return new Activity($discordActivity->name, ActivityType::from($discordActivity->type), $discordActivity->url ?? null,
$discordActivity->created_at?->getTimestamp(), $timestamps?->start ?? null, $timestamps?->end ?? null,
$discordActivity->application_id, $discordActivity->details ?? null, $discordActivity->state ?? null, $emoji,
$party?->id ?? null, ($party?->size ?? [])[0] ?? null, ($party?->size ?? [])[1] ?? null,
$assets?->large_image ?? null, $assets?->large_text ?? null, $assets?->small_image ?? null,
$assets?->small_text ?? null, $secrets?->join ?? null, $secrets?->spectate ?? null,
$secrets?->match ?? null, $discordActivity->instance, $discordActivity->flags, $buttons);
}
That may break since its 'supposed' to be an object not just the label, another poorly documented thing in DiscordPHP :(
Missed the small print 👍 https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-buttons
Fixed in v3.0.1
There is a probem with the activity buttons object
after var_dump'ing the
$dButtons
:The error with the logs: