Skip to content

1. Events

Exanlv edited this page Jan 25, 2024 · 7 revisions

Below you can see all the supported events in Fenrir, along with the available* properties and which intents are relevant.

* All properties that exist on the event object are documented here, Discord often does not provide all data for full population. Refer to Discords documentation on a specific event

Note:

  • To make use of events, you'll need to initialize the gateway connection
  • If you have no listener set for a specific event, Fenrir will also discard this event early on to save on processing power. This may influence funky ways to listen to events

Application Command Permissions Update

Required Intents

  • AUTO_MODERATION_CONFIGURATION

Properties

property type
id string
application_id string
permission bool

How to use

use Ragnarok\Fenrir\Gateway\Events\ApplicationCommandPermissionsUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::APPLICATION_COMMAND_PERMISSIONS_UPDATE, function (ApplicationCommandPermissionsUpdate $event) {
    // Handle event
});

Auto Moderation Action Execution

Required Intents

  • AUTO_MODERATION_EXECUTION

Properties

property type
guild_id string
action Ragnarok\Fenrir\Parts\AutoModerationAction
rule_id string
rule_trigger_types Ragnarok\Fenrir\Enums\AutoModerationRuleTriggerType
user_id string
channel_id null|string
message_id null|string
alert_system_message_id null|string
content null|string
matched_keyword null|string
matched_content null|string

How to use

use Ragnarok\Fenrir\Gateway\Events\AutoModerationActionExecution;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::AUTO_MODERATION_ACTION_EXECUTION, function (AutoModerationActionExecution $event) {
    // Handle event
});

Auto Moderation Rule Create

Required Intents

  • AUTO_MODERATION_CONFIGURATION

Properties

property type
id string
application_id string
permission bool

How to use

use Ragnarok\Fenrir\Gateway\Events\AutoModerationRuleCreate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::AUTO_MODERATION_RULE_CREATE, function (AutoModerationRuleCreate $event) {
    // Handle event
});

Auto Moderation Rule Delete

Required Intents

  • AUTO_MODERATION_CONFIGURATION

Properties

property type
id string
application_id string
permission bool

How to use

use Ragnarok\Fenrir\Gateway\Events\AutoModerationRuleDelete;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::AUTO_MODERATION_RULE_DELETE, function (AutoModerationRuleDelete $event) {
    // Handle event
});

Auto Moderation Rule Update

Required Intents

  • AUTO_MODERATION_CONFIGURATION

Properties

property type
id string
application_id string
permission bool

How to use

use Ragnarok\Fenrir\Gateway\Events\AutoModerationRuleUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::AUTO_MODERATION_RULE_UPDATE, function (AutoModerationRuleUpdate $event) {
    // Handle event
});

Channel Create

Required Intents

  • GUILDS

Properties

property type
id string
type Ragnarok\Fenrir\Enums\ChannelType
guild_id null|string
position int|null
permission_overwrites array|null
name null|string
topic null|string
nsfw bool|null
last_message_id null|string
bitrate int|null
user_limit int|null
rate_limit_per_user int|null
recipients array|null
icon null|string
owner_id null|string
application_id null|string
parent_id null|string
last_pin_timestamp Carbon\Carbon|null
rtc_region null|string
video_quality_mode Ragnarok\Fenrir\Enums\VideoQualityMode|null
message_count int|null
member_count int|null
thread_metadata Ragnarok\Fenrir\Parts\ThreadMetadata|null
member Ragnarok\Fenrir\Parts\ThreadMember|null
default_auto_archive_duration int|null
permissions null|string
flags Ragnarok\Fenrir\Bitwise\Bitwise|null
total_message_sent int|null
available_tags array|null
applied_tags array|null
default_reaction_emoji Ragnarok\Fenrir\Parts\DefaultReaction|null
default_thread_rate_limit_per_user int|null
default_sort_order Ragnarok\Fenrir\Enums\SortOrderType|null
default_forum_layout Ragnarok\Fenrir\Enums\ForumLayoutType|null

How to use

use Ragnarok\Fenrir\Gateway\Events\ChannelCreate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::CHANNEL_CREATE, function (ChannelCreate $event) {
    // Handle event
});

Channel Delete

Required Intents

  • GUILDS

Properties

property type
id string
type Ragnarok\Fenrir\Enums\ChannelType
guild_id null|string
position int|null
permission_overwrites array|null
name null|string
topic null|string
nsfw bool|null
last_message_id null|string
bitrate int|null
user_limit int|null
rate_limit_per_user int|null
recipients array|null
icon null|string
owner_id null|string
application_id null|string
parent_id null|string
last_pin_timestamp Carbon\Carbon|null
rtc_region null|string
video_quality_mode Ragnarok\Fenrir\Enums\VideoQualityMode|null
message_count int|null
member_count int|null
thread_metadata Ragnarok\Fenrir\Parts\ThreadMetadata|null
member Ragnarok\Fenrir\Parts\ThreadMember|null
default_auto_archive_duration int|null
permissions null|string
flags Ragnarok\Fenrir\Bitwise\Bitwise|null
total_message_sent int|null
available_tags array|null
applied_tags array|null
default_reaction_emoji Ragnarok\Fenrir\Parts\DefaultReaction|null
default_thread_rate_limit_per_user int|null
default_sort_order Ragnarok\Fenrir\Enums\SortOrderType|null
default_forum_layout Ragnarok\Fenrir\Enums\ForumLayoutType|null

How to use

use Ragnarok\Fenrir\Gateway\Events\ChannelDelete;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::CHANNEL_DELETE, function (ChannelDelete $event) {
    // Handle event
});

Channel Pins Update

Required Intents

  • GUILDS

Properties

property type
guild_id null|string
channel_id string
last_pin_timestamp Carbon\Carbon|null

How to use

use Ragnarok\Fenrir\Gateway\Events\ChannelPinsUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::CHANNEL_PINS_UPDATE, function (ChannelPinsUpdate $event) {
    // Handle event
});

Channel Update

Required Intents

  • GUILDS

Properties

property type
id string
type Ragnarok\Fenrir\Enums\ChannelType
guild_id null|string
position int|null
permission_overwrites array|null
name null|string
topic null|string
nsfw bool|null
last_message_id null|string
bitrate int|null
user_limit int|null
rate_limit_per_user int|null
recipients array|null
icon null|string
owner_id null|string
application_id null|string
parent_id null|string
last_pin_timestamp Carbon\Carbon|null
rtc_region null|string
video_quality_mode Ragnarok\Fenrir\Enums\VideoQualityMode|null
message_count int|null
member_count int|null
thread_metadata Ragnarok\Fenrir\Parts\ThreadMetadata|null
member Ragnarok\Fenrir\Parts\ThreadMember|null
default_auto_archive_duration int|null
permissions null|string
flags Ragnarok\Fenrir\Bitwise\Bitwise|null
total_message_sent int|null
available_tags array|null
applied_tags array|null
default_reaction_emoji Ragnarok\Fenrir\Parts\DefaultReaction|null
default_thread_rate_limit_per_user int|null
default_sort_order Ragnarok\Fenrir\Enums\SortOrderType|null
default_forum_layout Ragnarok\Fenrir\Enums\ForumLayoutType|null

How to use

use Ragnarok\Fenrir\Gateway\Events\ChannelUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::CHANNEL_UPDATE, function (ChannelUpdate $event) {
    // Handle event
});

Guild Ban Add

Required Intents

  • GUILD_MODERATION

Properties

property type
guild_id string
user Ragnarok\Fenrir\Parts\User

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildBanAdd;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_BAN_ADD, function (GuildBanAdd $event) {
    // Handle event
});

Guild Ban Remove

Required Intents

  • GUILD_MODERATION

Properties

property type
guild_id string
user Ragnarok\Fenrir\Parts\User

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildBanRemove;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_BAN_REMOVE, function (GuildBanRemove $event) {
    // Handle event
});

Guild Create

Required Intents

  • GUILDS

Properties

property type
joined_at Carbon\Carbon
large bool
unavailable bool|null
member_count int
voice_states array
members array
channels array
threads array
presences array
stage_instances array
guild_scheduled_events array
id string
name string
icon null|string
icon_hash null|string
splash null|string
discovery_splash null|string
owner bool|null
owner_id string
permissions null|string
region null|string
afk_channel_id null|string
afk_timeout int
widget_enabled bool
widget_channel_id null|string
verification_level Ragnarok\Fenrir\Enums\VerificationLevel
default_message_notifications Ragnarok\Fenrir\Enums\MessageNotificationLevel
explicit_content_filter Ragnarok\Fenrir\Enums\ExplicitContentFilterLevel
roles array
emojis array
features array
mfa_level Ragnarok\Fenrir\Enums\MfaLevel
application_id null|string
system_channel_id null|string
system_channel_flags Ragnarok\Fenrir\Bitwise\Bitwise
rules_channel_id null|string
max_presences int|null
max_members int|null
vanity_url_code null|string
description null|string
banner null|string
premium_tier Ragnarok\Fenrir\Enums\PremiumTier
premium_subscription_count int|null
preferred_locale string
public_updates_channel_id null|string
max_video_channel_users int|null
approximate_member_count int|null
approximate_presence_count int|null
welcome_screen Ragnarok\Fenrir\Parts\WelcomeScreen|null
nsfw_level Ragnarok\Fenrir\Enums\NsfwLevel
stickers array|null
premium_progress_bar_enabled bool
safety_alerts_channel_id null|string

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildCreate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_CREATE, function (GuildCreate $event) {
    // Handle event
});

Guild Delete

Required Intents

  • GUILDS

Properties

property type
id string
name string
icon null|string
icon_hash null|string
splash null|string
discovery_splash null|string
owner bool|null
owner_id string
permissions null|string
region null|string
afk_channel_id null|string
afk_timeout int
widget_enabled bool
widget_channel_id null|string
verification_level Ragnarok\Fenrir\Enums\VerificationLevel
default_message_notifications Ragnarok\Fenrir\Enums\MessageNotificationLevel
explicit_content_filter Ragnarok\Fenrir\Enums\ExplicitContentFilterLevel
roles array
emojis array
features array
mfa_level Ragnarok\Fenrir\Enums\MfaLevel
application_id null|string
system_channel_id null|string
system_channel_flags Ragnarok\Fenrir\Bitwise\Bitwise
rules_channel_id null|string
max_presences int|null
max_members int|null
vanity_url_code null|string
description null|string
banner null|string
premium_tier Ragnarok\Fenrir\Enums\PremiumTier
premium_subscription_count int|null
preferred_locale string
public_updates_channel_id null|string
max_video_channel_users int|null
approximate_member_count int|null
approximate_presence_count int|null
welcome_screen Ragnarok\Fenrir\Parts\WelcomeScreen|null
nsfw_level Ragnarok\Fenrir\Enums\NsfwLevel
stickers array|null
premium_progress_bar_enabled bool
safety_alerts_channel_id null|string

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildDelete;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_DELETE, function (GuildDelete $event) {
    // Handle event
});

Guild Emojis Update

Required Intents

  • GUILD_EMOJIS_AND_STICKERS

Properties

property type
guild_id string
emojis array

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildEmojisUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_EMOJIS_UPDATE, function (GuildEmojisUpdate $event) {
    // Handle event
});

Guild Integrations Update

Required Intents

  • GUILD_INTEGRATIONS

Properties

property type
guild_id string

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildIntegrationsUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_INTEGRATIONS_UPDATE, function (GuildIntegrationsUpdate $event) {
    // Handle event
});

Guild Member Add

Required Intents

  • GUILD_MEMBERS

Properties

property type
guild_id string
user Ragnarok\Fenrir\Parts\User|null
nick null|string
avatar null|string
roles array
joined_at Carbon\Carbon
premium_since Carbon\Carbon|null
deaf bool
mute bool
flags int
pending bool|null
permissions null|string
communication_disabled_until Carbon\Carbon|null

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildMemberAdd;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_MEMBER_ADD, function (GuildMemberAdd $event) {
    // Handle event
});

Guild Member Remove

Required Intents

  • GUILD_MEMBERS

Properties

property type
guild_id string
user Ragnarok\Fenrir\Parts\User

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildMemberRemove;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_MEMBER_REMOVE, function (GuildMemberRemove $event) {
    // Handle event
});

Guild Members Chunk

Required Intents

Properties

property type
guild_id string
members array
chunk_index int
chunk_count int
not_found array
presences array
nonce string

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildMembersChunk;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_MEMBERS_CHUNK, function (GuildMembersChunk $event) {
    // Handle event
});

Guild Member Update

Required Intents

  • GUILD_MEMBERS

Properties

property type
guild_id string
roles array
user Ragnarok\Fenrir\Parts\User
nick null|string
avatar null|string
joined_at Carbon\Carbon|null
premium_since Carbon\Carbon|null
deaf bool|null
mute bool|null
pending bool|null
communication_disabled_until Carbon\Carbon|null

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildMemberUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_MEMBER_UPDATE, function (GuildMemberUpdate $event) {
    // Handle event
});

Guild Role Create

Required Intents

  • GUILDS

Properties

property type
guild_id string
role Ragnarok\Fenrir\Parts\Role

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildRoleCreate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_ROLE_CREATE, function (GuildRoleCreate $event) {
    // Handle event
});

Guild Role Delete

Required Intents

  • GUILD_MEMBERS

Properties

property type
guild_id string
role_id string

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildRoleDelete;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_ROLE_DELETE, function (GuildRoleDelete $event) {
    // Handle event
});

Guild Role Update

Required Intents

  • GUILD_MEMBERS

Properties

property type
guild_id string
role Ragnarok\Fenrir\Parts\Role

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildRoleUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_ROLE_UPDATE, function (GuildRoleUpdate $event) {
    // Handle event
});

Guild Scheduled Event Create

Required Intents

  • GUILD_SCHEDULED_EVENTS

Properties

property type
id string
guild_id string
channel_id null|string
creator_id null|string
name string
description null|string
scheduled_start_time Carbon\Carbon
scheduled_end_time Carbon\Carbon|null
privacy_level Ragnarok\Fenrir\Enums\GuildScheduledEventPrivacyLevel
status Ragnarok\Fenrir\Enums\GuildScheduledEventStatus
entity_type Ragnarok\Fenrir\Enums\GuildScheduledEventEntityType
entity_id null|string
entity_metadata Ragnarok\Fenrir\Parts\GuildScheduledEventEntityMetadata|null
creator Ragnarok\Fenrir\Parts\User
user_count int|null
image null|string

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildScheduledEventCreate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_SCHEDULED_EVENT_CREATE, function (GuildScheduledEventCreate $event) {
    // Handle event
});

Guild Scheduled Event Delete

Required Intents

  • GUILD_SCHEDULED_EVENTS

Properties

property type
id string
guild_id string
channel_id null|string
creator_id null|string
name string
description null|string
scheduled_start_time Carbon\Carbon
scheduled_end_time Carbon\Carbon|null
privacy_level Ragnarok\Fenrir\Enums\GuildScheduledEventPrivacyLevel
status Ragnarok\Fenrir\Enums\GuildScheduledEventStatus
entity_type Ragnarok\Fenrir\Enums\GuildScheduledEventEntityType
entity_id null|string
entity_metadata Ragnarok\Fenrir\Parts\GuildScheduledEventEntityMetadata|null
creator Ragnarok\Fenrir\Parts\User
user_count int|null
image null|string

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildScheduledEventDelete;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_SCHEDULED_EVENT_DELETE, function (GuildScheduledEventDelete $event) {
    // Handle event
});

Guild Scheduled Event Update

Required Intents

  • GUILD_SCHEDULED_EVENTS

Properties

property type
id string
guild_id string
channel_id null|string
creator_id null|string
name string
description null|string
scheduled_start_time Carbon\Carbon
scheduled_end_time Carbon\Carbon|null
privacy_level Ragnarok\Fenrir\Enums\GuildScheduledEventPrivacyLevel
status Ragnarok\Fenrir\Enums\GuildScheduledEventStatus
entity_type Ragnarok\Fenrir\Enums\GuildScheduledEventEntityType
entity_id null|string
entity_metadata Ragnarok\Fenrir\Parts\GuildScheduledEventEntityMetadata|null
creator Ragnarok\Fenrir\Parts\User
user_count int|null
image null|string

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildScheduledEventUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_SCHEDULED_EVENT_UPDATE, function (GuildScheduledEventUpdate $event) {
    // Handle event
});

Guild Scheduled Event User Add

Required Intents

  • GUILD_SCHEDULED_EVENTS

Properties

property type
guild_scheduled_event_id string
user_id string
guild_id string

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildScheduledEventUserAdd;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_SCHEDULED_EVENT_USER_ADD, function (GuildScheduledEventUserAdd $event) {
    // Handle event
});

Guild Scheduled Event User Remove

Required Intents

  • GUILD_SCHEDULED_EVENTS

Properties

property type
guild_scheduled_event_id string
user_id string
guild_id string

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildScheduledEventUserRemove;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_SCHEDULED_EVENT_USER_REMOVE, function (GuildScheduledEventUserRemove $event) {
    // Handle event
});

Guild Stickers Update

Required Intents

  • GUILD_EMOJIS_AND_STICKERS

Properties

property type
guild_id string
stickers array

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildStickersUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_STICKERS_UPDATE, function (GuildStickersUpdate $event) {
    // Handle event
});

Guild Update

Required Intents

  • GUILDS

Properties

property type
id string
name string
icon null|string
icon_hash null|string
splash null|string
discovery_splash null|string
owner bool|null
owner_id string
permissions null|string
region null|string
afk_channel_id null|string
afk_timeout int
widget_enabled bool
widget_channel_id null|string
verification_level Ragnarok\Fenrir\Enums\VerificationLevel
default_message_notifications Ragnarok\Fenrir\Enums\MessageNotificationLevel
explicit_content_filter Ragnarok\Fenrir\Enums\ExplicitContentFilterLevel
roles array
emojis array
features array
mfa_level Ragnarok\Fenrir\Enums\MfaLevel
application_id null|string
system_channel_id null|string
system_channel_flags Ragnarok\Fenrir\Bitwise\Bitwise
rules_channel_id null|string
max_presences int|null
max_members int|null
vanity_url_code null|string
description null|string
banner null|string
premium_tier Ragnarok\Fenrir\Enums\PremiumTier
premium_subscription_count int|null
preferred_locale string
public_updates_channel_id null|string
max_video_channel_users int|null
approximate_member_count int|null
approximate_presence_count int|null
welcome_screen Ragnarok\Fenrir\Parts\WelcomeScreen|null
nsfw_level Ragnarok\Fenrir\Enums\NsfwLevel
stickers array|null
premium_progress_bar_enabled bool
safety_alerts_channel_id null|string

How to use

use Ragnarok\Fenrir\Gateway\Events\GuildUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::GUILD_UPDATE, function (GuildUpdate $event) {
    // Handle event
});

Integration Create

Required Intents

  • GUILD_INTEGRATIONS

Properties

property type
guild_id string
id string
name string
type string
enabled bool
syncing bool|null
role_id null|string
enable_emoticons bool|null
expire_behavior Ragnarok\Fenrir\Enums\IntegrationExpireBehavior|null
expire_grace_period int|null
user Ragnarok\Fenrir\Parts\User|null
account Ragnarok\Fenrir\Parts\Account
synced_at Carbon\Carbon|null
subscriber_count int|null
revoked bool|null
application Ragnarok\Fenrir\Parts\Application|null
scopes array|null

How to use

use Ragnarok\Fenrir\Gateway\Events\IntegrationCreate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::INTEGRATION_CREATE, function (IntegrationCreate $event) {
    // Handle event
});

Integration Delete

Required Intents

  • GUILD_INTEGRATIONS

Properties

property type
id string
guild_id string
application_id null|string

How to use

use Ragnarok\Fenrir\Gateway\Events\IntegrationDelete;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::INTEGRATION_DELETE, function (IntegrationDelete $event) {
    // Handle event
});

Integration Update

Required Intents

  • GUILD_INTEGRATIONS

Properties

property type
guild_id string
id string
name string
type string
enabled bool
syncing bool|null
role_id null|string
enable_emoticons bool|null
expire_behavior Ragnarok\Fenrir\Enums\IntegrationExpireBehavior|null
expire_grace_period int|null
user Ragnarok\Fenrir\Parts\User|null
account Ragnarok\Fenrir\Parts\Account
synced_at Carbon\Carbon|null
subscriber_count int|null
revoked bool|null
application Ragnarok\Fenrir\Parts\Application|null
scopes array|null

How to use

use Ragnarok\Fenrir\Gateway\Events\IntegrationUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::INTEGRATION_UPDATE, function (IntegrationUpdate $event) {
    // Handle event
});

Interaction Create

Required Intents

  • GUILD_INTEGRATIONS

Properties

property type
id string
application_id string
type Ragnarok\Fenrir\Enums\InteractionType
data Ragnarok\Fenrir\Parts\InteractionData|null
guild_id null|string
channel_id null|string
member Ragnarok\Fenrir\Parts\GuildMember|null
user Ragnarok\Fenrir\Parts\User
token string
version int
message Ragnarok\Fenrir\Parts\Message|null
app_permissions null|string
locale null|string
guild_locale string
channel Ragnarok\Fenrir\Parts\Channel

How to use

use Ragnarok\Fenrir\Gateway\Events\InteractionCreate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::INTERACTION_CREATE, function (InteractionCreate $event) {
    // Handle event
});

Invite Create

Required Intents

  • GUILD_INVITES

Properties

property type
channel_id string
code string
created_at Carbon\Carbon
guild_id null|string
inviter Ragnarok\Fenrir\Parts\User|null
max_age int
max_uses int
target_type Ragnarok\Fenrir\Enums\TargetType
target_user Ragnarok\Fenrir\Parts\User|null
target_application Ragnarok\Fenrir\Parts\Application|null
temporary bool
uses bool

How to use

use Ragnarok\Fenrir\Gateway\Events\InviteCreate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::INVITE_CREATE, function (InviteCreate $event) {
    // Handle event
});

Invite Delete

Required Intents

  • GUILD_INVITES

Properties

property type
channel_id string
guild_id null|string
code string

How to use

use Ragnarok\Fenrir\Gateway\Events\InviteDelete;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::INVITE_DELETE, function (InviteDelete $event) {
    // Handle event
});

Message Create

Required Intents

  • MESSAGE_CONTENT
  • GUILD_MESSAGES
  • DIRECT_MESSAGES

Properties

property type
mentions array
guild_id null|string
member Ragnarok\Fenrir\Parts\GuildMember|null
id string
channel_id string
author Ragnarok\Fenrir\Parts\User
content string
timestamp Carbon\Carbon
edited_timestamp Carbon\Carbon|null
tts bool
mention_everyone bool
mention_roles array
mention_channels array|null
attachments array
embeds array
reactions array|null
nonce null|string
pinned bool
webhook_id null|string
type Ragnarok\Fenrir\Enums\MessageType|null
activity Ragnarok\Fenrir\Parts\MessageActivity|null
application Ragnarok\Fenrir\Parts\Application|null
application_id null|string
message_reference Ragnarok\Fenrir\Parts\MessageReference|null
flags Ragnarok\Fenrir\Bitwise\Bitwise|null
referenced_message Ragnarok\Fenrir\Parts\Message|null
interaction Ragnarok\Fenrir\Parts\MessageInteraction|null
thread Ragnarok\Fenrir\Parts\Channel|null
components array
sticker_items array|null
stickers array|null
position int|null
role_subscription_data Ragnarok\Fenrir\Parts\RoleSubscriptionData|null

How to use

use Ragnarok\Fenrir\Gateway\Events\MessageCreate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::MESSAGE_CREATE, function (MessageCreate $event) {
    // Handle event
});

Message Delete Bulk

Required Intents

  • GUILD_MESSAGES

Properties

property type
ids array
channel_id string
guild_id null|string

How to use

use Ragnarok\Fenrir\Gateway\Events\MessageDeleteBulk;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::MESSAGE_DELETE_BULK, function (MessageDeleteBulk $event) {
    // Handle event
});

Message Delete

Required Intents

  • GUILD_MESSAGES
  • DIRECT_MESSAGES

Properties

property type
id string
channel_id string
guild_id null|string

How to use

use Ragnarok\Fenrir\Gateway\Events\MessageDelete;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::MESSAGE_DELETE, function (MessageDelete $event) {
    // Handle event
});

Message Reaction Add

Required Intents

  • GUILD_MESSAGE_REACTIONS
  • DIRECT_MESSAGE_REACTIONS

Properties

property type
user_id string
channel_id string
message_id string
guild_id null|string
member Ragnarok\Fenrir\Parts\GuildMember|null
emoji Ragnarok\Fenrir\Parts\Emoji

How to use

use Ragnarok\Fenrir\Gateway\Events\MessageReactionAdd;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::MESSAGE_REACTION_ADD, function (MessageReactionAdd $event) {
    // Handle event
});

Message Reaction Remove All

Required Intents

  • GUILD_MESSAGE_REACTIONS
  • DIRECT_MESSAGE_REACTIONS

Properties

property type
channel_id string
message_id string
guild_id null|string

How to use

use Ragnarok\Fenrir\Gateway\Events\MessageReactionRemoveAll;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::MESSAGE_REACTION_REMOVE_ALL, function (MessageReactionRemoveAll $event) {
    // Handle event
});

Message Reaction Remove Emoji

Required Intents

  • GUILD_MESSAGE_REACTIONS
  • DIRECT_MESSAGE_REACTIONS

Properties

property type
channel_id string
guild_id null|string
message_id string
emoji Ragnarok\Fenrir\Parts\Emoji

How to use

use Ragnarok\Fenrir\Gateway\Events\MessageReactionRemoveEmoji;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::MESSAGE_REACTION_REMOVE_EMOJI, function (MessageReactionRemoveEmoji $event) {
    // Handle event
});

Message Reaction Remove

Required Intents

  • GUILD_MESSAGE_REACTIONS
  • DIRECT_MESSAGE_REACTIONS

Properties

property type
user_id string
channel_id string
message_id string
guild_id null|string
emoji Ragnarok\Fenrir\Parts\Emoji

How to use

use Ragnarok\Fenrir\Gateway\Events\MessageReactionRemove;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::MESSAGE_REACTION_REMOVE, function (MessageReactionRemove $event) {
    // Handle event
});

Message Update

Required Intents

  • GUILD_MESSAGES
  • DIRECT_MESSAGES

Properties

property type
id string
channel_id string
author Ragnarok\Fenrir\Parts\User
content string
timestamp Carbon\Carbon
edited_timestamp Carbon\Carbon|null
tts bool
mention_everyone bool
mentions array
mention_roles array
mention_channels array|null
attachments array
embeds array
reactions array|null
nonce null|string
pinned bool
webhook_id null|string
type Ragnarok\Fenrir\Enums\MessageType|null
activity Ragnarok\Fenrir\Parts\MessageActivity|null
application Ragnarok\Fenrir\Parts\Application|null
application_id null|string
message_reference Ragnarok\Fenrir\Parts\MessageReference|null
flags Ragnarok\Fenrir\Bitwise\Bitwise|null
referenced_message Ragnarok\Fenrir\Parts\Message|null
interaction Ragnarok\Fenrir\Parts\MessageInteraction|null
thread Ragnarok\Fenrir\Parts\Channel|null
components array
sticker_items array|null
stickers array|null
position int|null
role_subscription_data Ragnarok\Fenrir\Parts\RoleSubscriptionData|null

How to use

use Ragnarok\Fenrir\Gateway\Events\MessageUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::MESSAGE_UPDATE, function (MessageUpdate $event) {
    // Handle event
});

Presence Update

Required Intents

  • GUILD_PRESENCES

Properties

property type
user Ragnarok\Fenrir\Parts\User
guild_id string
status string
activities array
clientStatus Ragnarok\Fenrir\Parts\ClientStatus

How to use

use Ragnarok\Fenrir\Gateway\Events\PresenceUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::PRESENCE_UPDATE, function (PresenceUpdate $event) {
    // Handle event
});

Ready

Required Intents

Properties

property type
v int
user Ragnarok\Fenrir\Parts\User
guilds array
session_id string
resume_gateway_url string
shard array
application Ragnarok\Fenrir\Parts\Application
t null|string
s int|null
op int
d any

How to use

use Ragnarok\Fenrir\Gateway\Events\Ready;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::READY, function (Ready $event) {
    // Handle event
});

Stage Instance Create

Required Intents

  • GUILDS

Properties

property type
token string
guild_id string
endpoint null|string

How to use

use Ragnarok\Fenrir\Gateway\Events\StageInstanceCreate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::STAGE_INSTANCE_CREATE, function (StageInstanceCreate $event) {
    // Handle event
});

Stage Instance Delete

Required Intents

  • GUILDS

Properties

property type
token string
guild_id string
endpoint null|string

How to use

use Ragnarok\Fenrir\Gateway\Events\StageInstanceDelete;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::STAGE_INSTANCE_DELETE, function (StageInstanceDelete $event) {
    // Handle event
});

Stage Instance Update

Required Intents

  • GUILDS

Properties

property type
token string
guild_id string
endpoint null|string

How to use

use Ragnarok\Fenrir\Gateway\Events\StageInstanceUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::STAGE_INSTANCE_UPDATE, function (StageInstanceUpdate $event) {
    // Handle event
});

Thread Create

Required Intents

  • GUILDS

Properties

property type
newly_created bool|null
member Ragnarok\Fenrir\Parts\ThreadMember|null
id string
type Ragnarok\Fenrir\Enums\ChannelType
guild_id null|string
position int|null
permission_overwrites array|null
name null|string
topic null|string
nsfw bool|null
last_message_id null|string
bitrate int|null
user_limit int|null
rate_limit_per_user int|null
recipients array|null
icon null|string
owner_id null|string
application_id null|string
parent_id null|string
last_pin_timestamp Carbon\Carbon|null
rtc_region null|string
video_quality_mode Ragnarok\Fenrir\Enums\VideoQualityMode|null
message_count int|null
member_count int|null
thread_metadata Ragnarok\Fenrir\Parts\ThreadMetadata|null
default_auto_archive_duration int|null
permissions null|string
flags Ragnarok\Fenrir\Bitwise\Bitwise|null
total_message_sent int|null
available_tags array|null
applied_tags array|null
default_reaction_emoji Ragnarok\Fenrir\Parts\DefaultReaction|null
default_thread_rate_limit_per_user int|null
default_sort_order Ragnarok\Fenrir\Enums\SortOrderType|null
default_forum_layout Ragnarok\Fenrir\Enums\ForumLayoutType|null

How to use

use Ragnarok\Fenrir\Gateway\Events\ThreadCreate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::THREAD_CREATE, function (ThreadCreate $event) {
    // Handle event
});

Thread Delete

Required Intents

  • GUILDS

Properties

property type
id string
guild_id null|string
parent_id null|string
type int

How to use

use Ragnarok\Fenrir\Gateway\Events\ThreadDelete;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::THREAD_DELETE, function (ThreadDelete $event) {
    // Handle event
});

Thread List Sync

Required Intents

  • GUILDS

Properties

property type
guild_id string
channel_ids array|null
threads array
members array

How to use

use Ragnarok\Fenrir\Gateway\Events\ThreadListSync;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::THREAD_LIST_SYNC, function (ThreadListSync $event) {
    // Handle event
});

Thread Members Update

Required Intents

  • GUILDS

Properties

property type
guild_id null|string
id null|string
user_id null|string
join_timestamp Carbon\Carbon
flags Ragnarok\Fenrir\Bitwise\Bitwise
member Ragnarok\Fenrir\Parts\GuildMember|null

How to use

use Ragnarok\Fenrir\Gateway\Events\ThreadMembersUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::THREAD_MEMBERS_UPDATE, function (ThreadMembersUpdate $event) {
    // Handle event
});

Thread Member Update

Required Intents

  • GUILDS

Properties

property type
id string
guild_id null|string
member_count int
added_members array|null
removed_member_ids array|null

How to use

use Ragnarok\Fenrir\Gateway\Events\ThreadMemberUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::THREAD_MEMBER_UPDATE, function (ThreadMemberUpdate $event) {
    // Handle event
});

Thread Update

Required Intents

  • GUILDS

Properties

property type
guild_id null|string
channel_ids array
threads array
members array

How to use

use Ragnarok\Fenrir\Gateway\Events\ThreadUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::THREAD_UPDATE, function (ThreadUpdate $event) {
    // Handle event
});

Typing Start

Required Intents

  • GUILD_MESSAGE_TYPING
  • DIRECT_MESSAGE_TYPING

Properties

property type
channel_id string
guild_id null|string
user_id string
timestamp Carbon\Carbon
member Ragnarok\Fenrir\Parts\GuildMember|null

How to use

use Ragnarok\Fenrir\Gateway\Events\TypingStart;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::TYPING_START, function (TypingStart $event) {
    // Handle event
});

User Update

Required Intents

Properties

property type
id string
username string
global_name null|string
discriminator string
avatar null|string
bot bool|null
system bool|null
mfa_enabled bool|null
banner null|string
accent_color int|null
locale null|string
verified bool
email null|string
flags Ragnarok\Fenrir\Bitwise\Bitwise|null
premium_type Ragnarok\Fenrir\Enums\PremiumTier|null
public_flags Ragnarok\Fenrir\Bitwise\Bitwise|null
member Ragnarok\Fenrir\Parts\GuildMember|null

How to use

use Ragnarok\Fenrir\Gateway\Events\UserUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::USER_UPDATE, function (UserUpdate $event) {
    // Handle event
});

Voice Server Update

Required Intents

Properties

property type
token string
guild_id null|string
endpoint null|string

How to use

use Ragnarok\Fenrir\Gateway\Events\VoiceServerUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::VOICE_SERVER_UPDATE, function (VoiceServerUpdate $event) {
    // Handle event
});

Voice State Update

Required Intents

  • GUILD_VOICE_STATES

Properties

property type
guild_id null|string
channel_id null|string
user_id string
member Ragnarok\Fenrir\Parts\GuildMember|null
session_id string
deaf bool
mute bool
self_deaf bool
self_mute bool
self_stream bool|null
self_video bool
suppress bool
request_to_speak_timestamp Carbon\Carbon|null

How to use

use Ragnarok\Fenrir\Gateway\Events\VoiceStateUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::VOICE_STATE_UPDATE, function (VoiceStateUpdate $event) {
    // Handle event
});

Webhooks Update

Required Intents

  • GUILD_WEBHOOKS

Properties

property type
guild_id string
channel_id string

How to use

use Ragnarok\Fenrir\Gateway\Events\WebhooksUpdate;
use Ragnarok\Fenrir\Constants\Events;

$discord->gateway->events->on(Events::WEBHOOKS_UPDATE, function (WebhooksUpdate $event) {
    // Handle event
});

Clone this wiki locally