Archived
1
0
Fork 0
This repository has been archived on 2024-05-21. You can view files and clone it, but cannot push or open issues or pull requests.
maki/Maki/Gateway/GatewayEvent.cs
2017-05-14 14:02:51 +02:00

193 lines
6.1 KiB
C#

namespace Maki.Gateway
{
/// <summary>
/// Gateway Dispatch Events
/// </summary>
enum GatewayEvent
{
#region Voice Events
CALL_CREATE,
CALL_DELETE,
CALL_UPDATE,
/// <summary>
/// Sent when a guild's voice server is updated. This is sent when initially connecting to voice, and when the current voice instance fails over to a new server.
/// </summary>
VOICE_SERVER_UPDATE,
/// <summary>
/// Sent when someone joins/leaves/moves voice channels. Inner payload is a voice state object.
/// </summary>
VOICE_STATE_UPDATE,
#endregion
#region Channel Events
/// <summary>
/// Sent when a new channel is created, relevant to the current user. The inner payload is a DM or Guild channel object.
/// </summary>
CHANNEL_CREATE,
/// <summary>
/// Sent when a channel relevant to the current user is deleted. The inner payload is a DM or Guild channel object.
/// </summary>
CHANNEL_DELETE,
CHANNEL_PINS_ACK,
CHANNEL_PINS_UPDATE,
CHANNEL_RECIPIENT_ADD,
CHANNEL_RECIPIENT_REMOVE,
/// <summary>
/// Sent when a channel is updated. The inner payload is a guild channel object.
/// </summary>
CHANNEL_UPDATE,
#endregion
#region Guild Events
/// <summary>
/// Sent when a user is banned from a guild. The inner payload is a user object, with an extra guild_id key.
/// </summary>
GUILD_BAN_ADD,
/// <summary>
/// Sent when a user is unbanned from a guild. The inner payload is a user object, with an extra guild_id key.
/// </summary>
GUILD_BAN_REMOVE,
/// <summary>
/// This event can be sent in three different scenarios:
/// 1. When a user is initially connecting, to lazily load and backfill information for all unavailable guilds sent in the ready event.
/// 2. When a Guild becomes available again to the client.
/// 3. When the current user joins a new Guild.
/// The inner payload is a guild object, with all the extra fields specified.
/// </summary>
GUILD_CREATE,
/// <summary>
/// Sent when a guild becomes unavailable during a guild outage, or when the user leaves or is removed from a guild. See GUILD_CREATE for more information about how to handle this event.
/// </summary>
GUILD_DELETE,
/// <summary>
/// Sent when a guild's emojis have been updated.
/// </summary>
GUILD_EMOJIS_UPDATE,
/// <summary>
/// Sent when a guild integration is updated.
/// </summary>
GUILD_INTEGRATIONS_UPDATE,
/// <summary>
/// Sent when a new user joins a guild. The inner payload is a guild member objec, with an extra guild_id key.
/// </summary>
GUILD_MEMBER_ADD,
/// <summary>
/// Sent when a guild member is updated.
/// </summary>
GUILD_MEMBER_UPDATE,
/// <summary>
/// Sent when a user is removed from a guild (leave/kick/ban).
/// </summary>
GUILD_MEMBER_REMOVE,
/// <summary>
/// Sent in response to Gateway Request Guild Members.
/// </summary>
GUILD_MEMBERS_CHUNK,
/// <summary>
/// Sent when a guild role is created.
/// </summary>
GUILD_ROLE_CREATE,
/// <summary>
/// Sent when a guild role is updated.
/// </summary>
GUILD_ROLE_UPDATE,
/// <summary>
/// Sent when a guild role is deleted.
/// </summary>
GUILD_ROLE_DELETE,
/// <summary>
/// Sent when a guild is updated. The inner payload is a guild object.
/// </summary>
GUILD_UPDATE,
#endregion
#region Message Events
MESSAGE_ACK,
/// <summary>
/// Sent when a message is created. The inner payload is a message object.
/// </summary>
MESSAGE_CREATE,
/// <summary>
/// Sent when a message is deleted.
/// </summary>
MESSAGE_DELETE,
/// <summary>
/// Sent when multiple messages are deleted at once.
/// </summary>
MESSAGE_DELETE_BULK,
MESSAGE_REACTION_ADD,
MESSAGE_REACTION_REMOVE,
MESSAGE_REACTIONS_REMOVE_ALL,
/// <summary>
/// Sent when a message is updated. The inner payload is a message object.
/// </summary>
MESSAGE_UPDATE,
#endregion
#region Presence Events
/// <summary>
/// Sent when a user starts typing in a channel.
/// </summary>
TYPING_START,
/// <summary>
/// A user's presence is their current state on a guild. This event is sent when a user's presence is updated for a guild.
/// </summary>
PRESENCE_UPDATE,
PRESENCES_REPLACE,
#endregion
#region Relation Events
FRIEND_SUGGESTION_DELETE,
RELATIONSHIP_ADD,
RELATIONSHIP_REMOVE,
#endregion
#region State Events
/// <summary>
/// The ready event is dispatched when a client has completed the initial handshake with the gateway (for new sessions). The ready event can be the largest and most complex event the gateway will send, as it contains all the state required for a client to begin interacting with the rest of the platform.
/// </summary>
READY,
/// <summary>
/// The resumed event is dispatched when a client has sent a resume payload to the gateway (for resuming existing sessions).
/// </summary>
RESUMED,
#endregion
#region User Events
/// <summary>
/// Sent when properties about the user change. Inner payload is a user object.
/// </summary>
USER_UPDATE,
USER_NOTE_UPDATE,
/// <summary>
/// Sent when the current user updates their settings. Inner payload is a user settings object.
/// </summary>
USER_SETTINGS_UPDATE,
#endregion
}
}