added all events
This commit is contained in:
parent
2ed2e7217a
commit
a5069e1989
@ -257,7 +257,7 @@ pub const Bucket = struct {
|
|||||||
|
|
||||||
pub fn GatewayDispatchEvent(comptime T: type) type {
|
pub fn GatewayDispatchEvent(comptime T: type) type {
|
||||||
return struct {
|
return struct {
|
||||||
// TODO: implement // application_command_permissions_update: null = null,
|
application_command_permissions_update: ?*const fn (save: T, application_command_permissions: Types.ApplicationCommandPermissions) anyerror!void = undefined,
|
||||||
// TODO: implement // auto_moderation_rule_create: null = null,
|
// TODO: implement // auto_moderation_rule_create: null = null,
|
||||||
// TODO: implement // auto_moderation_rule_update: null = null,
|
// TODO: implement // auto_moderation_rule_update: null = null,
|
||||||
// TODO: implement // auto_moderation_rule_delete: null = null,
|
// TODO: implement // auto_moderation_rule_delete: null = null,
|
||||||
@ -266,13 +266,14 @@ pub fn GatewayDispatchEvent(comptime T: type) type {
|
|||||||
channel_update: ?*const fn (save: T, chan: Types.Channel) anyerror!void = undefined,
|
channel_update: ?*const fn (save: T, chan: Types.Channel) anyerror!void = undefined,
|
||||||
/// this isn't send when the channel is not relevant to you
|
/// this isn't send when the channel is not relevant to you
|
||||||
channel_delete: ?*const fn (save: T, chan: Types.Channel) anyerror!void = undefined,
|
channel_delete: ?*const fn (save: T, chan: Types.Channel) anyerror!void = undefined,
|
||||||
// TODO: implement // channel_pins_update: null = null,
|
channel_pins_update: ?*const fn (save: T, chan_pins_update: Types.ChannelPinsUpdate) anyerror!void = undefined,
|
||||||
// TODO: implement // thread_create: null = null,
|
thread_create: ?*const fn (save: T, thread: Types.Channel) anyerror!void = undefined,
|
||||||
// TODO: implement // thread_update: null = null,
|
thread_update: ?*const fn (save: T, thread: Types.Channel) anyerror!void = undefined,
|
||||||
// TODO: implement // thread_delete: null = null,
|
/// has `id`, `guild_id`, `parent_id`, and `type` fields.
|
||||||
// TODO: implement // thread_list_sync: null = null,
|
thread_delete: ?*const fn (save: T, thread: Types.Partial(Types.Channel)) anyerror!void = undefined,
|
||||||
// TODO: implement // thread_member_update: null = null,
|
thread_list_sync: ?*const fn (save: T, data: Types.ThreadListSync) anyerror!void = undefined,
|
||||||
// TODO: implement // thread_members_update: null = null,
|
thread_member_update: ?*const fn (save: T, guild_id: Types.ThreadMemberUpdate) anyerror!void = undefined,
|
||||||
|
thread_members_update: ?*const fn (save: T, thread_data: Types.ThreadMembersUpdate) anyerror!void = undefined,
|
||||||
// TODO: implement // guild_audit_log_entry_create: null = null,
|
// TODO: implement // guild_audit_log_entry_create: null = null,
|
||||||
guild_create: ?*const fn (save: T, guild: Types.Guild) anyerror!void = undefined,
|
guild_create: ?*const fn (save: T, guild: Types.Guild) anyerror!void = undefined,
|
||||||
guild_create_unavailable: ?*const fn (save: T, guild: Types.UnavailableGuild) anyerror!void = undefined,
|
guild_create_unavailable: ?*const fn (save: T, guild: Types.UnavailableGuild) anyerror!void = undefined,
|
||||||
@ -282,25 +283,25 @@ pub fn GatewayDispatchEvent(comptime T: type) type {
|
|||||||
guild_delete: ?*const fn (save: T, guild: Types.UnavailableGuild) anyerror!void = undefined,
|
guild_delete: ?*const fn (save: T, guild: Types.UnavailableGuild) anyerror!void = undefined,
|
||||||
guild_ban_add: ?*const fn (save: T, gba: Types.GuildBanAddRemove) anyerror!void = undefined,
|
guild_ban_add: ?*const fn (save: T, gba: Types.GuildBanAddRemove) anyerror!void = undefined,
|
||||||
guild_ban_remove: ?*const fn (save: T, gbr: Types.GuildBanAddRemove) anyerror!void = undefined,
|
guild_ban_remove: ?*const fn (save: T, gbr: Types.GuildBanAddRemove) anyerror!void = undefined,
|
||||||
// TODO: implement // guild_emojis_update: null = null,
|
guild_emojis_update: ?*const fn (save: T, fields: Types.GuildEmojisUpdate) anyerror!void = undefined,
|
||||||
// TODO: implement // guild_stickers_update: null = null,
|
guild_stickers_update: ?*const fn (save: T, fields: Types.GuildStickersUpdate) anyerror!void = undefined,
|
||||||
// TODO: implement // guild_integrations_update: null = null,
|
guild_integrations_update: ?*const fn (save: T, fields: Types.GuildIntegrationsUpdate) anyerror!void = undefined,
|
||||||
guild_member_add: ?*const fn (save: T, guild_id: Types.GuildMemberAdd) anyerror!void = undefined,
|
guild_member_add: ?*const fn (save: T, guild_id: Types.GuildMemberAdd) anyerror!void = undefined,
|
||||||
guild_member_update: ?*const fn (save: T, fields: Types.GuildMemberUpdate) anyerror!void = undefined,
|
guild_member_update: ?*const fn (save: T, fields: Types.GuildMemberUpdate) anyerror!void = undefined,
|
||||||
guild_member_remove: ?*const fn (save: T, user: Types.GuildMemberRemove) anyerror!void = undefined,
|
guild_member_remove: ?*const fn (save: T, user: Types.GuildMemberRemove) anyerror!void = undefined,
|
||||||
// TODO: implement // guild_members_chunk: null = null,
|
guild_members_chunk: ?*const fn (save: T, data: Types.GuildMembersChunk) anyerror!void = undefined,
|
||||||
guild_role_create: ?*const fn (save: T, role: Types.GuildRoleCreate) anyerror!void = undefined,
|
guild_role_create: ?*const fn (save: T, role: Types.GuildRoleCreate) anyerror!void = undefined,
|
||||||
guild_role_delete: ?*const fn (save: T, role: Types.GuildRoleDelete) anyerror!void = undefined,
|
guild_role_delete: ?*const fn (save: T, role: Types.GuildRoleDelete) anyerror!void = undefined,
|
||||||
guild_role_update: ?*const fn (save: T, role: Types.GuildRoleUpdate) anyerror!void = undefined,
|
guild_role_update: ?*const fn (save: T, role: Types.GuildRoleUpdate) anyerror!void = undefined,
|
||||||
// TODO: implement // guild_scheduled_event_create: null = null,
|
guild_scheduled_event_create: ?*const fn (save: T, s_event: Types.ScheduledEvent) anyerror!void = undefined,
|
||||||
// TODO: implement // guild_scheduled_event_update: null = null,
|
guild_scheduled_event_update: ?*const fn (save: T, s_event: Types.ScheduledEvent) anyerror!void = undefined,
|
||||||
// TODO: implement // guild_scheduled_event_delete: null = null,
|
guild_scheduled_event_delete: ?*const fn (save: T, s_event: Types.ScheduledEvent) anyerror!void = undefined,
|
||||||
// TODO: implement // guild_scheduled_event_user_add: null = null,
|
guild_scheduled_event_user_add: ?*const fn (save: T, data: Types.ScheduledEventUserAdd) anyerror!void = undefined,
|
||||||
// TODO: implement // guild_scheduled_event_user_remove: null = null,
|
guild_scheduled_event_user_remove: ?*const fn (save: T, data: Types.ScheduledEventUserRemove) anyerror!void = undefined,
|
||||||
// TODO: implement // integration_create: null = null,
|
integration_create: ?*const fn (save: T, guild_id: Types.IntegrationCreateUpdate) anyerror!void = undefined,
|
||||||
// TODO: implement // integration_update: null = null,
|
integration_update: ?*const fn (save: T, guild_id: Types.IntegrationCreateUpdate) anyerror!void = undefined,
|
||||||
// TODO: implement // integration_delete: null = null,
|
integration_delete: ?*const fn (save: T, guild_id: Types.IntegrationDelete) anyerror!void = undefined,
|
||||||
// TODO: implement // interaction_create: null = null,
|
interaction_create: ?*const fn (save: T, interaction: Types.MessageInteraction) anyerror!void = undefined,
|
||||||
invite_create: ?*const fn (save: T, data: Types.InviteCreate) anyerror!void = undefined,
|
invite_create: ?*const fn (save: T, data: Types.InviteCreate) anyerror!void = undefined,
|
||||||
invite_delete: ?*const fn (save: T, data: Types.InviteDelete) anyerror!void = undefined,
|
invite_delete: ?*const fn (save: T, data: Types.InviteDelete) anyerror!void = undefined,
|
||||||
message_create: ?*const fn (save: T, message: Types.Message) anyerror!void = undefined,
|
message_create: ?*const fn (save: T, message: Types.Message) anyerror!void = undefined,
|
||||||
@ -308,25 +309,26 @@ pub fn GatewayDispatchEvent(comptime T: type) type {
|
|||||||
message_delete: ?*const fn (save: T, log: Types.MessageDelete) anyerror!void = undefined,
|
message_delete: ?*const fn (save: T, log: Types.MessageDelete) anyerror!void = undefined,
|
||||||
message_delete_bulk: ?*const fn (save: T, log: Types.MessageDeleteBulk) anyerror!void = undefined,
|
message_delete_bulk: ?*const fn (save: T, log: Types.MessageDeleteBulk) anyerror!void = undefined,
|
||||||
message_reaction_add: ?*const fn (save: T, log: Types.MessageReactionAdd) anyerror!void = undefined,
|
message_reaction_add: ?*const fn (save: T, log: Types.MessageReactionAdd) anyerror!void = undefined,
|
||||||
// TODO: implement // message_reaction_remove: null = null,
|
message_reaction_remove_all: ?*const fn (save: T, data: Types.MessageReactionRemoveAll) anyerror!void = undefined,
|
||||||
// TODO: implement // message_reaction_remove_all: null = null,
|
message_reaction_remove: ?*const fn (save: T, data: Types.MessageReactionRemove) anyerror!void = undefined,
|
||||||
// TODO: implement // message_reaction_remove_emoji: null = null,
|
message_reaction_remove_emoji: ?*const fn (save: T, data: Types.MessageReactionRemoveEmoji) anyerror!void = undefined,
|
||||||
// TODO: implement // presence_update: null = null,
|
presence_update: ?*const fn (save: T, presence: Types.PresenceUpdate) anyerror!void = undefined,
|
||||||
// TODO: implement // stage_instance_create: null = null,
|
stage_instance_create: ?*const fn (save: T, stage_instance: Types.StageInstance) anyerror!void = undefined,
|
||||||
// TODO: implement // stage_instance_update: null = null,
|
stage_instance_update: ?*const fn (save: T, stage_instance: Types.StageInstance) anyerror!void = undefined,
|
||||||
// TODO: implement // stage_instance_delete: null = null,
|
stage_instance_delete: ?*const fn (save: T, stage_instance: Types.StageInstance) anyerror!void = undefined,
|
||||||
typing_start: ?*const fn (save: T, data: Types.TypingStart) anyerror!void = undefined,
|
typing_start: ?*const fn (save: T, data: Types.TypingStart) anyerror!void = undefined,
|
||||||
/// remember this is only sent when you change your profile yourself/your bot does
|
/// remember this is only sent when you change your profile yourself/your bot does
|
||||||
user_update: ?*const fn (save: T, user: Types.User) anyerror!void = undefined,
|
user_update: ?*const fn (save: T, user: Types.User) anyerror!void = undefined,
|
||||||
// TODO: implement // voice_channel_effect_send: null = null,
|
// TODO: implement // voice_channel_effect_send: null = null,
|
||||||
// TODO: implement // voice_state_update: null = null,
|
// TODO: implement // voice_state_update: null = null,
|
||||||
// TODO: implement // voice_server_update: null = null,
|
// TODO: implement // voice_server_update: null = null,
|
||||||
// TODO: implement // webhooks_update: null = null,
|
webhooks_update: ?*const fn (save: T, fields: Types.WebhookUpdate) anyerror!void = undefined,
|
||||||
// TODO: implement // entitlement_create: null = null,
|
entitlement_create: ?*const fn (save: T, entitlement: Types.Entitlement) anyerror!void = undefined,
|
||||||
// TODO: implement // entitlement_update: null = null,
|
entitlement_update: ?*const fn (save: T, entitlement: Types.Entitlement) anyerror!void = undefined,
|
||||||
// TODO: implement // entitlement_delete: null = null,
|
/// discord claims this is infrequent, therefore not throughoutly tested - Yuzu
|
||||||
// TODO: implement // message_poll_vote_add: null = null,
|
entitlement_delete: ?*const fn (save: T, entitlement: Types.Entitlement) anyerror!void = undefined,
|
||||||
// TODO: implement // message_poll_vote_remove: null = null,
|
message_poll_vote_add: ?*const fn (save: T, poll: Types.PollVoteAdd) anyerror!void = undefined,
|
||||||
|
message_poll_vote_remove: ?*const fn (save: T, poll: Types.PollVoteRemove) anyerror!void = undefined,
|
||||||
|
|
||||||
ready: ?*const fn (save: T, data: Types.Ready) anyerror!void = undefined,
|
ready: ?*const fn (save: T, data: Types.Ready) anyerror!void = undefined,
|
||||||
// TODO: implement // resumed: null = null,
|
// TODO: implement // resumed: null = null,
|
||||||
|
205
src/shard.zig
205
src/shard.zig
@ -386,6 +386,12 @@ pub fn handleEvent(self: *Self, name: []const u8, payload: []const u8) !void {
|
|||||||
if (self.handler.ready) |event| try event(self, ready.value.d.?);
|
if (self.handler.ready) |event| try event(self, ready.value.d.?);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "APPLICATION_COMMAND_PERMISSIONS_UPDATE")) {
|
||||||
|
const acp = try zjson.parse(GatewayPayload(Types.ApplicationCommandPermissions), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.application_command_permissions_update) |event| try event(self, acp.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
if (mem.eql(u8, name, "CHANNEL_CREATE")) {
|
if (mem.eql(u8, name, "CHANNEL_CREATE")) {
|
||||||
const chan = try zjson.parse(GatewayPayload(Types.Channel), self.allocator, payload);
|
const chan = try zjson.parse(GatewayPayload(Types.Channel), self.allocator, payload);
|
||||||
|
|
||||||
@ -404,6 +410,54 @@ pub fn handleEvent(self: *Self, name: []const u8, payload: []const u8) !void {
|
|||||||
if (self.handler.channel_delete) |event| try event(self, chan.value.d.?);
|
if (self.handler.channel_delete) |event| try event(self, chan.value.d.?);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "CHANNEL_PINS_UPDATE")) {
|
||||||
|
const chan_pins_update = try zjson.parse(GatewayPayload(Types.ChannelPinsUpdate), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.channel_pins_update) |event| try event(self, chan_pins_update.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "ENTITLEMENT_CREATE")) {
|
||||||
|
const entitlement = try zjson.parse(GatewayPayload(Types.Entitlement), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.entitlement_create) |event| try event(self, entitlement.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "ENTITLEMENT_UPDATE")) {
|
||||||
|
const entitlement = try zjson.parse(GatewayPayload(Types.Entitlement), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.entitlement_update) |event| try event(self, entitlement.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "ENTITLEMENT_DELETE")) {
|
||||||
|
const entitlement = try zjson.parse(GatewayPayload(Types.Entitlement), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.entitlement_delete) |event| try event(self, entitlement.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "INTEGRATION_CREATE")) {
|
||||||
|
const guild_id = try zjson.parse(GatewayPayload(Types.IntegrationCreateUpdate), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.integration_create) |event| try event(self, guild_id.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "INTEGRATION_UPDATE")) {
|
||||||
|
const guild_id = try zjson.parse(GatewayPayload(Types.IntegrationCreateUpdate), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.integration_update) |event| try event(self, guild_id.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "INTEGRATION_DELETE")) {
|
||||||
|
const data = try zjson.parse(GatewayPayload(Types.IntegrationDelete), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.integration_delete) |event| try event(self, data.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "INTERACTION_CREATE")) {
|
||||||
|
const interaction = try zjson.parse(GatewayPayload(Types.MessageInteraction), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.interaction_create) |event| try event(self, interaction.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
if (mem.eql(u8, name, "INVITE_CREATE")) {
|
if (mem.eql(u8, name, "INVITE_CREATE")) {
|
||||||
const data = try zjson.parse(GatewayPayload(Types.InviteCreate), self.allocator, payload);
|
const data = try zjson.parse(GatewayPayload(Types.InviteCreate), self.allocator, payload);
|
||||||
|
|
||||||
@ -441,9 +495,27 @@ pub fn handleEvent(self: *Self, name: []const u8, payload: []const u8) !void {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (mem.eql(u8, name, "MESSAGE_REACTION_ADD")) {
|
if (mem.eql(u8, name, "MESSAGE_REACTION_ADD")) {
|
||||||
const data = try zjson.parse(GatewayPayload(Types.MessageReactionAdd), self.allocator, payload);
|
const reaction = try zjson.parse(GatewayPayload(Types.MessageReactionAdd), self.allocator, payload);
|
||||||
|
|
||||||
if (self.handler.message_reaction_add) |event| try event(self, data.value.d.?);
|
if (self.handler.message_reaction_add) |event| try event(self, reaction.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "MESSAGE_REACTION_REMOVE")) {
|
||||||
|
const reaction = try zjson.parse(GatewayPayload(Types.MessageReactionRemove), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.message_reaction_remove) |event| try event(self, reaction.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "MESSAGE_REACTION_REMOVE_ALL")) {
|
||||||
|
const data = try zjson.parse(GatewayPayload(Types.MessageReactionRemoveAll), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.message_reaction_remove_all) |event| try event(self, data.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "MESSAGE_REACTION_REMOVE_EMOJI")) {
|
||||||
|
const emoji = try zjson.parse(GatewayPayload(Types.MessageReactionRemoveEmoji), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.message_reaction_remove_emoji) |event| try event(self, emoji.value.d.?);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mem.eql(u8, name, "GUILD_CREATE")) {
|
if (mem.eql(u8, name, "GUILD_CREATE")) {
|
||||||
@ -474,6 +546,36 @@ pub fn handleEvent(self: *Self, name: []const u8, payload: []const u8) !void {
|
|||||||
if (self.handler.guild_delete) |event| try event(self, guild.value.d.?);
|
if (self.handler.guild_delete) |event| try event(self, guild.value.d.?);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "GUILD_SCHEDULED_EVENT_CREATE")) {
|
||||||
|
const s_event = try zjson.parse(GatewayPayload(Types.ScheduledEvent), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.guild_scheduled_event_create) |event| try event(self, s_event.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "GUILD_SCHEDULED_EVENT_UPDATE")) {
|
||||||
|
const s_event = try zjson.parse(GatewayPayload(Types.ScheduledEvent), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.guild_scheduled_event_update) |event| try event(self, s_event.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "GUILD_SCHEDULED_EVENT_DELETE")) {
|
||||||
|
const s_event = try zjson.parse(GatewayPayload(Types.ScheduledEvent), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.guild_scheduled_event_delete) |event| try event(self, s_event.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "GUILD_SCHEDULED_EVENT_USER_ADD")) {
|
||||||
|
const data = try zjson.parse(GatewayPayload(Types.ScheduledEventUserAdd), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.guild_scheduled_event_user_add) |event| try event(self, data.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "GUILD_SCHEDULED_EVENT_USER_REMOVE")) {
|
||||||
|
const data = try zjson.parse(GatewayPayload(Types.ScheduledEventUserRemove), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.guild_scheduled_event_user_remove) |event| try event(self, data.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
if (mem.eql(u8, name, "GUILD_MEMBER_ADD")) {
|
if (mem.eql(u8, name, "GUILD_MEMBER_ADD")) {
|
||||||
const guild_id = try zjson.parse(GatewayPayload(Types.GuildMemberAdd), self.allocator, payload);
|
const guild_id = try zjson.parse(GatewayPayload(Types.GuildMemberAdd), self.allocator, payload);
|
||||||
|
|
||||||
@ -492,6 +594,12 @@ pub fn handleEvent(self: *Self, name: []const u8, payload: []const u8) !void {
|
|||||||
if (self.handler.guild_member_remove) |event| try event(self, user.value.d.?);
|
if (self.handler.guild_member_remove) |event| try event(self, user.value.d.?);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "GUILD_MEMBERS_CHUNK")) {
|
||||||
|
const data = try zjson.parse(GatewayPayload(Types.GuildMembersChunk), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.guild_members_chunk) |event| try event(self, data.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
if (mem.eql(u8, name, "GUILD_ROLE_CREATE")) {
|
if (mem.eql(u8, name, "GUILD_ROLE_CREATE")) {
|
||||||
const role = try zjson.parse(GatewayPayload(Types.GuildRoleCreate), self.allocator, payload);
|
const role = try zjson.parse(GatewayPayload(Types.GuildRoleCreate), self.allocator, payload);
|
||||||
|
|
||||||
@ -528,6 +636,57 @@ pub fn handleEvent(self: *Self, name: []const u8, payload: []const u8) !void {
|
|||||||
if (self.handler.guild_ban_remove) |event| try event(self, gbr.value.d.?);
|
if (self.handler.guild_ban_remove) |event| try event(self, gbr.value.d.?);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "GUILD_EMOJIS_UPDATE")) {
|
||||||
|
const emojis = try zjson.parse(GatewayPayload(Types.GuildEmojisUpdate), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.guild_emojis_update) |event| try event(self, emojis.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "GUILD_STICKERS_UPDATE")) {
|
||||||
|
const stickers = try zjson.parse(GatewayPayload(Types.GuildStickersUpdate), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.guild_stickers_update) |event| try event(self, stickers.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "GUILD_INTEGRATIONS_UPDATE")) {
|
||||||
|
const guild_id = try zjson.parse(GatewayPayload(Types.GuildIntegrationsUpdate), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.guild_integrations_update) |event| try event(self, guild_id.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "THREAD_CREATE")) {
|
||||||
|
const thread = try zjson.parse(GatewayPayload(Types.Channel), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.thread_create) |event| try event(self, thread.value.d.?);
|
||||||
|
}
|
||||||
|
if (mem.eql(u8, name, "THREAD_UPDATE")) {
|
||||||
|
const thread = try zjson.parse(GatewayPayload(Types.Channel), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.thread_update) |event| try event(self, thread.value.d.?);
|
||||||
|
}
|
||||||
|
if (mem.eql(u8, name, "THREAD_DELETE")) {
|
||||||
|
const thread_data = try zjson.parse(GatewayPayload(Types.Partial(Types.Channel)), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.thread_delete) |event| try event(self, thread_data.value.d.?);
|
||||||
|
}
|
||||||
|
if (mem.eql(u8, name, "THREAD_LIST_SYNC")) {
|
||||||
|
const data = try zjson.parse(GatewayPayload(Types.ThreadListSync), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.thread_list_sync) |event| try event(self, data.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "THREAD_MEMBER_UPDATE")) {
|
||||||
|
const guild_id = try zjson.parse(GatewayPayload(Types.ThreadMemberUpdate), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.thread_member_update) |event| try event(self, guild_id.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "THREAD_MEMBERS_UPDATE")) {
|
||||||
|
const data = try zjson.parse(GatewayPayload(Types.ThreadMembersUpdate), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.thread_members_update) |event| try event(self, data.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
if (mem.eql(u8, name, "TYPING_START")) {
|
if (mem.eql(u8, name, "TYPING_START")) {
|
||||||
const data = try zjson.parse(GatewayPayload(Types.TypingStart), self.allocator, payload);
|
const data = try zjson.parse(GatewayPayload(Types.TypingStart), self.allocator, payload);
|
||||||
|
|
||||||
@ -540,6 +699,48 @@ pub fn handleEvent(self: *Self, name: []const u8, payload: []const u8) !void {
|
|||||||
if (self.handler.user_update) |event| try event(self, user.value.d.?);
|
if (self.handler.user_update) |event| try event(self, user.value.d.?);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "PRESENCE_UPDATE")) {
|
||||||
|
const pu = try zjson.parse(GatewayPayload(Types.PresenceUpdate), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.presence_update) |event| try event(self, pu.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "MESSSAGE_POLL_VOTE_ADD")) {
|
||||||
|
const data = try zjson.parse(GatewayPayload(Types.PollVoteAdd), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.message_poll_vote_add) |event| try event(self, data.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "MESSSAGE_POLL_VOTE_REMOVE")) {
|
||||||
|
const data = try zjson.parse(GatewayPayload(Types.PollVoteRemove), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.message_poll_vote_remove) |event| try event(self, data.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "WEBHOOKS_UPDATE")) {
|
||||||
|
const fields = try zjson.parse(GatewayPayload(Types.WebhookUpdate), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.webhooks_update) |event| try event(self, fields.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "STAGE_INSTANCE_CREATE")) {
|
||||||
|
const stage = try zjson.parse(GatewayPayload(Types.StageInstance), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.stage_instance_create) |event| try event(self, stage.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "STAGE_INSTANCE_UPDATE")) {
|
||||||
|
const stage = try zjson.parse(GatewayPayload(Types.StageInstance), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.stage_instance_update) |event| try event(self, stage.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mem.eql(u8, name, "STAGE_INSTANCE_DELETE")) {
|
||||||
|
const stage = try zjson.parse(GatewayPayload(Types.StageInstance), self.allocator, payload);
|
||||||
|
|
||||||
|
if (self.handler.stage_instance_delete) |event| try event(self, stage.value.d.?);
|
||||||
|
}
|
||||||
|
|
||||||
if (self.handler.any) |anyEvent|
|
if (self.handler.any) |anyEvent|
|
||||||
try anyEvent(self, payload);
|
try anyEvent(self, payload);
|
||||||
}
|
}
|
||||||
|
@ -380,7 +380,11 @@ pub const GuildMemberUpdate = struct {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/// https://discord.com/developers/docs/topics/gateway#message-reaction-remove-all
|
/// https://discord.com/developers/docs/topics/gateway#message-reaction-remove-all
|
||||||
pub const MessageReactionRemoveAll = null;
|
pub const MessageReactionRemoveAll = struct {
|
||||||
|
channel_id: Snowflake,
|
||||||
|
message_id: Snowflake,
|
||||||
|
guild_id: ?Snowflake,
|
||||||
|
};
|
||||||
|
|
||||||
/// https://discord.com/developers/docs/topics/gateway#guild-role-update
|
/// https://discord.com/developers/docs/topics/gateway#guild-role-update
|
||||||
pub const GuildRoleUpdate = struct {
|
pub const GuildRoleUpdate = struct {
|
||||||
@ -400,7 +404,12 @@ pub const ScheduledEventUserAdd = struct {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/// https://discord.com/developers/docs/topics/gateway#message-reaction-remove-emoji
|
/// https://discord.com/developers/docs/topics/gateway#message-reaction-remove-emoji
|
||||||
pub const MessageReactionRemoveEmoji = null;
|
pub const MessageReactionRemoveEmoji = struct {
|
||||||
|
channel_id: Snowflake,
|
||||||
|
message_id: Snowflake,
|
||||||
|
guild_id: ?Snowflake,
|
||||||
|
emoji: Emoji,
|
||||||
|
};
|
||||||
|
|
||||||
/// https://discord.com/developers/docs/topics/gateway#guild-member-remove
|
/// https://discord.com/developers/docs/topics/gateway#guild-member-remove
|
||||||
pub const GuildMemberRemove = struct {
|
pub const GuildMemberRemove = struct {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user