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.json file. 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" |