|
Concord - C Discord API library
A Discord API wrapper library written in C
|
Wrapper to the Discord Gateway API. More...
Modules | |
| Client's session status | |
| Client's session status. | |
Data Structures | |
| struct | discord_gateway_session |
| The handle for storing the Discord Gateway session. More... | |
| struct | discord_gateway_payload |
| The handle for storing the Discord response payload. More... | |
| struct | discord_gateway |
| The handle used for interfacing with Discord's Gateway API. More... | |
Typedefs | |
| typedef void(* | discord_ev_event) (struct discord *client, const void *event) |
| typedef void(* | discord_ev_message) (struct discord *client, const struct discord_message *event) |
Functions | |
| CCORDcode | discord_gateway_init (struct discord_gateway *gw, const char token[]) |
| Initialize a Gateway handle. More... | |
| void | discord_gateway_cleanup (struct discord_gateway *gw) |
| Free a Gateway handle. More... | |
| CCORDcode | discord_gateway_start (struct discord_gateway *gw) |
| Initialize handle with the new session primitives. More... | |
| bool | discord_gateway_end (struct discord_gateway *gw) |
Cleanup and reset gw session primitives. More... | |
| CCORDcode | discord_gateway_perform (struct discord_gateway *gw) |
| Check and manage on-going Gateway session. More... | |
| void | discord_gateway_shutdown (struct discord_gateway *gw) |
| Gracefully shutdown a ongoing Discord connection over WebSockets. More... | |
| void | discord_gateway_reconnect (struct discord_gateway *gw, bool resume) |
| Gracefully reconnect a ongoing Discord connection over WebSockets. More... | |
| void | discord_gateway_send_identify (struct discord_gateway *gw, struct discord_identify *event) |
| Trigger the initial handshake with the gateway. More... | |
| void | discord_gateway_send_resume (struct discord_gateway *gw, struct discord_resume *event) |
| Replay missed events when a disconnected client resumes. More... | |
| void | discord_gateway_send_heartbeat (struct discord_gateway *gw, int seq) |
| Maintain an active gateway connection. More... | |
| void | discord_gateway_send_request_guild_members (struct discord_gateway *gw, struct discord_request_guild_members *event) |
| Request all members for a guild or a list of guilds. More... | |
| void | discord_gateway_send_update_voice_state (struct discord_gateway *gw, struct discord_update_voice_state *event) |
| Sent when a client wants to join, move or disconnect from a voice channel. More... | |
| void | discord_gateway_send_presence_update (struct discord_gateway *gw, struct discord_presence_update *event) |
| Send client's presence status update payload. More... | |
| void | discord_gateway_dispatch (struct discord_gateway *gw) |
| Dispatch user callback matched to event. More... | |
Wrapper to the Discord Gateway API.
| typedef void(* discord_ev_event) (struct discord *client, const void *event) |
A generic event callback for casting
| typedef void(* discord_ev_message) (struct discord *client, const struct discord_message *event) |
An event callback for DISCORD_EV_MESSAGE_CREATE
| CCORDcode discord_gateway_init | ( | struct discord_gateway * | gw, |
| const char | token[] | ||
| ) |
| void discord_gateway_cleanup | ( | struct discord_gateway * | gw | ) |
Free a Gateway handle.
| gw | the handle initialized with discord_gateway_init() |
| CCORDcode discord_gateway_start | ( | struct discord_gateway * | gw | ) |
Initialize handle with the new session primitives.
| gw | the handle initialized with discord_gateway_init() |
| bool discord_gateway_end | ( | struct discord_gateway * | gw | ) |
Cleanup and reset gw session primitives.
| ws | the WebSockets handle created with ws_init() |
true if session is over, false if session can be retried for reconnection | CCORDcode discord_gateway_perform | ( | struct discord_gateway * | gw | ) |
| void discord_gateway_shutdown | ( | struct discord_gateway * | gw | ) |
Gracefully shutdown a ongoing Discord connection over WebSockets.
| gw | the handle initialized with discord_gateway_init() |
| void discord_gateway_reconnect | ( | struct discord_gateway * | gw, |
| bool | resume | ||
| ) |
Gracefully reconnect a ongoing Discord connection over WebSockets.
| gw | the handle initialized with discord_gateway_init() |
| resume | true to attempt to resume to previous session, false restart a fresh session |
| void discord_gateway_send_identify | ( | struct discord_gateway * | gw, |
| struct discord_identify * | event | ||
| ) |
Trigger the initial handshake with the gateway.
| gw | the handle initialized with discord_gateway_init() |
| event | provide client identification information |
| void discord_gateway_send_resume | ( | struct discord_gateway * | gw, |
| struct discord_resume * | event | ||
| ) |
Replay missed events when a disconnected client resumes.
| gw | the handle initialized with discord_gateway_init() |
| event | session resume information |
| void discord_gateway_send_heartbeat | ( | struct discord_gateway * | gw, |
| int | seq | ||
| ) |
Maintain an active gateway connection.
| gw | the handle initialized with discord_gateway_init() |
| seq | the last session sequence number |
| void discord_gateway_send_request_guild_members | ( | struct discord_gateway * | gw, |
| struct discord_request_guild_members * | event | ||
| ) |
Request all members for a guild or a list of guilds.
| gw | the handle initialized with discord_gateway_init() |
| event | request guild members information |
| void discord_gateway_send_update_voice_state | ( | struct discord_gateway * | gw, |
| struct discord_update_voice_state * | event | ||
| ) |
Sent when a client wants to join, move or disconnect from a voice channel.
| gw | the handle initialized with discord_gateway_init() |
| event | request guild members information |
| void discord_gateway_send_presence_update | ( | struct discord_gateway * | gw, |
| struct discord_presence_update * | event | ||
| ) |
Send client's presence status update payload.
| gw | the handle initialized with discord_gateway_init() |
| event | the presence to be set |
| void discord_gateway_dispatch | ( | struct discord_gateway * | gw | ) |
Dispatch user callback matched to event.
| gw | the handle initialized with discord_gateway_init() |