| Concord - C Discord API library
    A Discord API wrapper library written in C | 
Public functions and datatypes. More...
#include <inttypes.h>#include <stdbool.h>#include "error.h"#include "types.h"#include "concord-once.h"#include "io_poller.h"#include "discord_codecs.h"#include "discord-response.h"#include "audit_log.h"#include "auto_moderation.h"#include "invite.h"#include "channel.h"#include "emoji.h"#include "guild.h"#include "guild_scheduled_event.h"#include "guild_template.h"#include "stage_instance.h"#include "sticker.h"#include "user.h"#include "voice.h"#include "webhook.h"#include "gateway.h"#include "oauth2.h"#include "application_command.h"#include "interaction.h"#include "discord-cache.h"#include "discord-events.h"Go to the source code of this file.
| Data Structures | |
| struct | discord_timer | 
| struct used for modifying, and getting info about a timer  More... | |
| Macros | |
| #define | DISCORD_VERSION "10" | 
| The Discord API version to use.  More... | |
| #define | DISCORD_API_BASE_URL "https://discord.com/api/v" DISCORD_VERSION | 
| #define | DISCORD_GATEWAY_URL_SUFFIX "?v=" DISCORD_VERSION "&encoding=json" | 
| #define | DISCORD_MAX_NAME_LEN 4 * 100 + 1 | 
| #define | DISCORD_MAX_TOPIC_LEN 4 * 1024 + 1 | 
| #define | DISCORD_MAX_DESCRIPTION_LEN 4 * 2048 + 1 | 
| #define | DISCORD_MAX_USERNAME_LEN 4 * 32 + 1 | 
| #define | DISCORD_MAX_DISCRIMINATOR_LEN 4 + 1 | 
| #define | DISCORD_MAX_REASON_LEN 4 * 512 + 1 | 
| #define | DISCORD_MAX_MESSAGE_LEN 4 * 2000 + 1 | 
| #define | DISCORD_MAX_PAYLOAD_LEN 4 * 4096 + 1 | 
| #define | DISCORD_EMBED_TITLE_LEN 4 * 256 + 1 | 
| #define | DISCORD_EMBED_DESCRIPTION_LEN 4 * 4096 + 1 | 
| #define | DISCORD_EMBED_MAX_FIELDS 25 | 
| #define | DISCORD_EMBED_FIELD_NAME_LEN 4 * 256 + 1 | 
| #define | DISCORD_EMBED_FIELD_VALUE_LEN 4 * 1024 + 1 | 
| #define | DISCORD_EMBED_FOOTER_TEXT_LEN 4 * 2048 + 1 | 
| #define | DISCORD_EMBED_AUTHOR_NAME_LEN 4 * 256 + 1 | 
| #define | DISCORD_WEBHOOK_NAME_LEN 4 * 80 + 1 | 
| #define | discord_claim(client, data) (__discord_claim(client, data), data) | 
| Claim ownership of a resource provided by Concord.  More... | |
| Typedefs | |
| typedef void(* | discord_ev_timer) (struct discord *client, struct discord_timer *ev) | 
| callback to be used with struct discord_timer  More... | |
| Enumerations | |
| enum | discord_timer_flags { DISCORD_TIMER_MILLISECONDS = 0 , DISCORD_TIMER_MICROSECONDS = 1 << 0 , DISCORD_TIMER_DELETE = 1 << 1 , DISCORD_TIMER_DELETE_AUTO = 1 << 2 , DISCORD_TIMER_CANCELED = 1 << 3 , DISCORD_TIMER_TICK = 1 << 4 , DISCORD_TIMER_GET = 1 << 5 , DISCORD_TIMER_INTERVAL_FIXED = 1 << 6 } | 
| flags used to change behaviour of timer  More... | |
| Functions | |
| CCORDcode | discord_return_error (struct discord *client, const char error[], CCORDcode code) | 
| Return a Concord's error.  More... | |
| const char * | discord_strerror (CCORDcode code, struct discord *client) | 
| Return the meaning of CCORDcode.  More... | |
| void | __discord_claim (struct discord *client, const void *data) | 
| void | discord_unclaim (struct discord *client, const void *data) | 
| Unclaim ownership of a resource provided by Concord.  More... | |
| struct discord * | discord_init (const char token[]) | 
| Create a Discord Client handle by its token.  More... | |
| struct discord * | discord_config_init (const char config_file[]) | 
| Create a Discord Client handle by a config.jsonfile.  More... | |
| struct ccord_szbuf_readonly | discord_config_get_field (struct discord *client, char *const path[], unsigned depth) | 
| Get the contents from the config file field.  More... | |
| struct discord * | discord_clone (const struct discord *orig) | 
| Clone a discord client.  More... | |
| void | discord_cleanup (struct discord *client) | 
| Free a Discord Client handle.  More... | |
| const struct discord_user * | discord_get_self (struct discord *client) | 
| Get the client's cached user.  More... | |
| CCORDcode | discord_run (struct discord *client) | 
| Start a connection to the Discord Gateway.  More... | |
| void | discord_shutdown (struct discord *client) | 
| Gracefully shutdown an ongoing Discord connection.  More... | |
| void | discord_reconnect (struct discord *client, bool resume) | 
| Gracefully reconnects an ongoing Discord connection.  More... | |
| void * | discord_set_data (struct discord *client, void *data) | 
| Store user arbitrary data that can be retrieved by discord_get_data()  More... | |
| void * | discord_get_data (struct discord *client) | 
| Receive user arbitrary data stored with discord_set_data()  More... | |
| int | discord_get_ping (struct discord *client) | 
| Get the client WebSockets ping.  More... | |
| uint64_t | discord_timestamp (struct discord *client) | 
| Get the current timestamp (in milliseconds)  More... | |
| uint64_t | discord_timestamp_us (struct discord *client) | 
| Get the current timestamp (in microseconds)  More... | |
| struct logconf * | discord_get_logconf (struct discord *client) | 
| Retrieve client's logging module for configuration purposes.  More... | |
| struct io_poller * | discord_get_io_poller (struct discord *client) | 
| get the io_poller used by the discord client  More... | |
| unsigned | discord_timer_ctl (struct discord *client, struct discord_timer *timer) | 
| modifies or creates a timer  More... | |
| unsigned | discord_timer (struct discord *client, discord_ev_timer on_tick_cb, discord_ev_timer on_status_changed_cb, void *data, int64_t delay) | 
| creates a one shot timer that automatically deletes itself upon completion  More... | |
| unsigned | discord_timer_interval (struct discord *client, discord_ev_timer on_tick_cb, discord_ev_timer on_status_changed_cb, void *data, int64_t delay, int64_t interval, int64_t repeat) | 
| creates a repeating timer that automatically deletes itself upon completion  More... | |
| bool | discord_timer_get (struct discord *client, unsigned id, struct discord_timer *timer) | 
| get the data associated with the timer  More... | |
| bool | discord_timer_start (struct discord *client, unsigned id) | 
| starts a timer  More... | |
| bool | discord_timer_stop (struct discord *client, unsigned id) | 
| stops a timer  More... | |
| bool | discord_timer_cancel (struct discord *client, unsigned id) | 
| cancels a timer, this will delete the timer if DISCORD_TIMER_DELETE_AUTO is enabled  More... | |
| bool | discord_timer_delete (struct discord *client, unsigned id) | 
| deletes a timer  More... | |
| bool | discord_timer_cancel_and_delete (struct discord *client, unsigned id) | 
| cancels, and deletes a timer  More... | |
Public functions and datatypes.
These symbols are organized in a intuitive fashion to be easily matched to the official Discord API docs
| #define DISCORD_VERSION "10" | 
The Discord API version to use.
| #define DISCORD_API_BASE_URL "https://discord.com/api/v" DISCORD_VERSION | 
| #define DISCORD_GATEWAY_URL_SUFFIX "?v=" DISCORD_VERSION "&encoding=json" |