diff --git a/.gitignore b/.gitignore index 3b7ec64..7f61d75 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ .env build/ .DS_Store -config.json \ No newline at end of file +config.json +.vscode +.vscode/ diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json deleted file mode 100644 index aa93e71..0000000 --- a/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "configurations": [ - { - "name": "Linux", - "includePath": [ - "${workspaceFolder}/**", - "${workspaceFolder}/include", - "${workspaceFolder}/third_party" - ], - "defines": [], - "compilerPath": "/usr/bin/clang", - "cStandard": "c17", - "intelliSenseMode": "linux-clang-x64" - } - ], - "version": 4 -} \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index fd450f3..faa8a27 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -337,7 +337,14 @@ if(HAMMY_ENABLE_LTO) endif() # --------------------------------------------------------- -# Concord (Discord API wrapper), fetched from the dev branch +# Concord (Discord API wrapper), pinned to the v3.0.1 release +# +# Pinned rather than tracking dev: dev reverted the notifier's portable fcntl +# setup back to ioctl(FIONBIO), cast to int. macOS FIONBIO is 0x8004667E, so the +# cast goes negative, sign-extends into ioctl's unsigned long parameter and the +# call fails -- ccord_global_init() then dies before the client is ever built. +# The release tags still carry the fcntl version. Check that the regression is +# gone before moving this back to a branch. # # Concord ships a hand-written Makefile, not a CMake build, so this is a # two-stage arrangement: FetchContent clones it at configure time (recursively, @@ -358,7 +365,7 @@ include(ExternalProject) FetchContent_Declare( concord GIT_REPOSITORY https://github.com/Cogmasters/concord.git - GIT_TAG dev + GIT_TAG v3.0.1 GIT_SHALLOW TRUE GIT_PROGRESS TRUE ) @@ -395,7 +402,11 @@ else() # absolute paths and name the two failure modes that actually occur. # # The globs run at install time rather than configure time because - # gencodecs/discord_codecs.h does not exist until the build has generated it. + # generated/discord_codecs.h does not exist until the build has emitted it. + # + # Keep the directory list below in step with the `install:` target in + # upstream's Makefile; v3.0.1 renamed gencodecs/ to generated/ and split + # reflect-c.h out into its own directory. set(CONCORD_INSTALL_SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/concord_install.cmake") file(CONFIGURE OUTPUT "${CONCORD_INSTALL_SCRIPT}" @@ -407,7 +418,7 @@ file(MAKE_DIRECTORY "@CONCORD_INCLUDE_DIR@/concord" "@CONCORD_PREFIX@/lib") # them one at a time: a single empty directory is the interesting failure, and a # combined glob would hide it behind whichever siblings still matched. set(_hdrs "") -foreach(_dir include core gencodecs) +foreach(_dir include core generated) file(GLOB _found "@concord_SOURCE_DIR@/${_dir}/*.h") if(NOT _found) message(FATAL_ERROR @@ -416,8 +427,53 @@ foreach(_dir include core gencodecs) endif() list(APPEND _hdrs ${_found}) endforeach() + +# Not part of any of the three directories, but generated/discord_codecs.h +# includes it, so discord.h does not parse without it. +if(NOT EXISTS "@concord_SOURCE_DIR@/reflect-c/reflect-c.h") + message(FATAL_ERROR + "Concord: missing @concord_SOURCE_DIR@/reflect-c/reflect-c.h -- the " + "reflect-c submodule was not cloned; remove build/_deps and reconfigure") +endif() +list(APPEND _hdrs "@concord_SOURCE_DIR@/reflect-c/reflect-c.h") + file(COPY ${_hdrs} DESTINATION "@CONCORD_INCLUDE_DIR@/concord") +# third_party/concord is a checked-in mirror of the headers just installed. It +# exists so an editor has something to resolve against in a fresh +# clone, before anything has been built -- build/ is gitignored, so the copy +# above is not there yet. +# +# It is refreshed from the same file list on every build rather than left to be +# updated by hand, because it also sits FIRST on hammy's include path +# (-isystem third_party precedes the installed headers). A stale mirror would +# not merely confuse the editor, it would be what the compiler actually reads -- +# hammy would build against one version of Concord and link another. Keeping the +# two byte-identical makes the ordering irrelevant. Moving GIT_TAG therefore +# shows up as a diff under third_party/concord; commit it along with the bump. +# +# Prune first: a version bump can retire a header, and one left behind in the +# mirror would still be found by the compiler. Only files that vanished upstream +# are removed -- file(COPY) preserves timestamps and skips files already +# matching, so mirroring costs one stat per header on a build that changed +# nothing. The exception is discord_codecs.h, which Concord's own build +# regenerates every time (BUILD_ALWAYS re-runs make); its mtime moves, so it is +# recopied. That does not add a rebuild -- the regenerated original already +# forces one -- and its contents are deterministic, so git stays clean. +set(_want "") +foreach(_hdr IN LISTS _hdrs) + get_filename_component(_name "${_hdr}" NAME) + list(APPEND _want "${_name}") +endforeach() +file(GLOB _mirrored "@CMAKE_CURRENT_SOURCE_DIR@/third_party/concord/*.h") +foreach(_old IN LISTS _mirrored) + get_filename_component(_name "${_old}" NAME) + if(NOT "${_name}" IN_LIST _want) + file(REMOVE "${_old}") + endif() +endforeach() +file(COPY ${_hdrs} DESTINATION "@CMAKE_CURRENT_SOURCE_DIR@/third_party/concord") + file(GLOB _libs "@concord_SOURCE_DIR@/lib/libdiscord.*") if(NOT _libs) message(FATAL_ERROR "Concord: build produced no library in @concord_SOURCE_DIR@/lib") @@ -559,7 +615,7 @@ message(STATUS "hammy: sanitizers [Debug/Strict] ${HAMMY_SANITIZER_FLAGS}") message(STATUS "hammy: static analyzer [Analyzer] ${HAMMY_ANALYZER_FLAGS}") message(STATUS "hammy: hardening ${HAMMY_ENABLE_HARDENING}") message(STATUS "hammy: LTO ${HAMMY_ENABLE_LTO}") -message(STATUS "hammy: concord ${concord_SOURCE_DIR} (branch dev)") +message(STATUS "hammy: concord ${concord_SOURCE_DIR} (v3.0.1)") if(CMAKE_BUILD_TYPE STREQUAL "Analyzer" AND NOT HAMMY_ANALYZER_FLAGS) message(STATUS "hammy: NOTE - Analyzer config has no static analyzer on " "${CMAKE_C_COMPILER_ID}; use scan-build over this build tree") diff --git a/third_party/concord/all.PRE.h b/third_party/concord/all.PRE.h deleted file mode 100644 index 8c5c804..0000000 --- a/third_party/concord/all.PRE.h +++ /dev/null @@ -1,26 +0,0 @@ -#include "custom.PRE.h" - -#include "application.PRE.h" -#include "audit_log.PRE.h" -#include "auto_moderation.PRE.h" -#include "invite.PRE.h" -#include "channel.PRE.h" -#include "emoji.PRE.h" -#include "guild.PRE.h" -#include "guild_scheduled_event.PRE.h" -#include "guild_template.PRE.h" -#include "stage_instance.PRE.h" -#include "sticker.PRE.h" -#include "user.PRE.h" -#include "voice.PRE.h" -#include "webhook.PRE.h" - -#include "gateway.PRE.h" -#include "oauth2.PRE.h" -#include "permissions.PRE.h" -#include "teams.PRE.h" -#include "voice_connections.PRE.h" - -#include "application_commands.PRE.h" -#include "message_components.PRE.h" -#include "interactions.PRE.h" diff --git a/third_party/concord/discord-internal.h b/third_party/concord/discord-internal.h index 10921a2..dbdb5f0 100644 --- a/third_party/concord/discord-internal.h +++ b/third_party/concord/discord-internal.h @@ -31,59 +31,75 @@ extern "C" { #include "priority_queue.h" #include "attributes.h" -/** @brief Return 1 if string isn't considered empty */ -#define NOT_EMPTY_STR(str) ((str) && *(str)) /** - * @brief Get container `type` from a field `ptr` + * @brief return 1 if string isn't empty * - * @param[in] ptr the field contained in `type` - * @param[in] type the container datatype - * @param[in] path the path to the field from the container POV + * @param[in] _str the string to check */ -#define CONTAINEROF(ptr, type, path) \ - ((type *)((char *)(ptr) - offsetof(type, path))) +#define NOT_EMPTY_STR(_str) ((_str) && *(_str)) +/** + * @brief get container `type` from a field `ptr` + * + * @param[in] _ptr the field contained in `type` + * @param[in] _type the container datatype + * @param[in] _path the path to the field from the container POV + */ +#define CONTAINEROF(_ptr, _type, _path) \ + ((_type *)((char *)(_ptr) - offsetof(_type, _path))) /** @defgroup DiscordInternal Internal implementation details * @brief Documentation useful when developing or debugging Concord itself * @{ */ -/** @brief cet client from its nested field */ -#define CLIENT(ptr, path) CONTAINEROF(ptr, struct discord, path) +/** + * @brief get client from its nested field + * + * @param[in] _ptr the nested field pointer + * @param[in] _path the path to the discord client from the nested field POV + */ +#define CLIENT(_ptr, _path) CONTAINEROF(_ptr, struct discord, _path) /** * @brief log and return `code` if `expect` condition is false * - * @param[in] client the Discord client - * @param[in] expect the expected outcome - * @param[in] code return CCORDcode error code - * @param[in] reason for return + * @param[in] _client the Discord client + * @param[in] _expect the expected outcome + * @param[in] _code return CCORDcode error code + * @param[in] _reason for return * @return the provided @ref CCORDcode `code` parameter */ -#define CCORD_EXPECT(client, expect, code, reason) \ +#define CCORD_EXPECT(_client, _expect, _code, _reason) \ do { \ - if (!(expect)) { \ - logmod_log(ERROR, (client)->logger, \ - "Expected: " #expect " | %s (%s)", \ - discord_strerror(code, client), \ - discord_code_as_string(code)); \ - return code; \ + if (!(_expect)) { \ + logmod_log(ERROR, (_client)->logger, \ + "Expected: " #_expect " | %s (%s)", \ + discord_strerror(_code, _client), \ + discord_code_as_string(_code)); \ + return _code; \ } \ } while (0) /** * @brief log and return `code` if function call doesn't returns @ref CCORD_OK * - * @param[in] client the Discord client - * @param[in] fn the function call that returns CCORDcode + * @param[in] _client the Discord client + * @param[in] _type the datatype to be converted to JSON + * @param[out] _body the JSON body buffer + * @param[in] _params the parameters to be converted to JSON * @return the returned @ref CCORDcode `code` parameter */ -#define CCORD_EXPECT_OK(client, fn) \ +#define CCORD_DATA_TO_JSON(_client, _type, _body, _params) \ do { \ - const CCORDcode code = (fn); \ + struct reflectc_wrap *w_params = \ + reflectc_from_##_type((_client)->registry, _params, NULL); \ + CCORDcode code = discord_data_wrap_to_json(w_params, &(_body)->start, \ + &(_body)->size); \ + reflectc_cleanup((_client)->registry, w_params); \ if (code != CCORD_OK) { \ - logmod_log(ERROR, (client)->logger, \ - "Expected: CCORD_OK == " #fn " | %s (%s)", \ - discord_strerror(code, client), \ + logmod_log(ERROR, (_client)->logger, \ + "Expected: CCORD_OK == discord_data_wrap_to_json | " \ + "%s (%s)", \ + discord_strerror(code, _client), \ discord_code_as_string(code)); \ return code; \ } \ @@ -421,11 +437,9 @@ struct discord_ret_response { /** size of datatype in bytes */ size_t size; /** initializer function for datatype fields */ - void (*init)(void *data); - /** populate datatype with JSON values */ - size_t (*from_json)(const char *json, size_t len, void *data); - /** cleanup function for datatype */ - void (*cleanup)(void *data); + struct reflectc_wrap *(*init)(struct reflectc *registry, + void *data, + struct reflectc_wrap *root); }; /** @@ -1191,6 +1205,12 @@ struct discord_cache { * @see discord_init(), discord_config_init(), discord_cleanup() */ struct discord { + /** + * the registry for all wrapped discord data types + * @note keep as first member for casting to `struct reflectc` + * @see DiscordDataWrap + */ + struct reflectc *registry; /** `DISCORD` logging module */ struct logmod_logger *logger; /** LogMod loggers table */ diff --git a/third_party/concord/discord-request.h b/third_party/concord/discord-request.h index 9d17f5d..78efff3 100644 --- a/third_party/concord/discord-request.h +++ b/third_party/concord/discord-request.h @@ -12,78 +12,59 @@ typedef void (*cast_done_typed)(struct discord *, struct discord_response *, const void *); -typedef void (*cast_init)(void *); -typedef void (*cast_cleanup)(void *); -typedef size_t (*cast_from_json)(const char *, size_t, void *); +typedef struct reflectc_wrap *(*cast_init)(struct reflectc *, + void *, + struct reflectc_wrap *); /* helper typedef for getting sizeof of `struct discord_ret` common fields */ typedef struct { DISCORD_RET_DEFAULT_FIELDS; } discord_ret_default_fields; -#define _RET_COPY_TYPED(dest, src) \ +#define _RET_COPY_TYPED(_dest, _src) \ do { \ - memcpy(&(dest), &(src), sizeof(discord_ret_default_fields)); \ - (dest).has_type = true; \ - (dest).done.typed = (cast_done_typed)(src).done; \ - (dest).sync = (src).sync; \ + memcpy(&(_dest), &(_src), sizeof(discord_ret_default_fields)); \ + (_dest).has_type = true; \ + (_dest).done.typed = (cast_done_typed)(_src).done; \ + (_dest).sync = (_src).sync; \ } while (0) -#define _RET_COPY_TYPELESS(dest, src) \ +#define _RET_COPY_TYPELESS(_dest, _src) \ do { \ - memcpy(&(dest), &(src), sizeof(discord_ret_default_fields)); \ - (dest).has_type = false; \ - (dest).done.typeless = (src).done; \ - (dest).sync = (void *)(src).sync; \ + memcpy(&(_dest), &(_src), sizeof(discord_ret_default_fields)); \ + (_dest).has_type = false; \ + (_dest).done.typeless = (_src).done; \ + (_dest).sync = (void *)(_src).sync; \ } while (0) /** * @brief Helper for setting attributes for a specs-generated return struct * - * @param[out] attr @ref discord_attributes handler to be initialized - * @param[in] type datatype of the struct - * @param[in] ret dispatch attributes + * @param[out] _attr @ref discord_attributes handler to be initialized + * @param[in] _type datatype of the struct + * @param[in] _ret dispatch attributes * @param[in] _reason reason for request (if available) */ -#define DISCORD_ATTR_INIT(attr, type, ret, _reason) \ +#define DISCORD_ATTR_INIT(_attr, _type, _ret, _reason) \ do { \ - (attr).response.size = sizeof(struct type); \ - (attr).response.init = (cast_init)type##_init; \ - (attr).response.from_json = (cast_from_json)type##_from_json; \ - (attr).response.cleanup = (cast_cleanup)type##_cleanup; \ - (attr).reason = _reason; \ - if (ret) _RET_COPY_TYPED(attr.dispatch, *ret); \ + (_attr).response.size = sizeof(struct _type); \ + (_attr).response.init = (cast_init)reflectc_from_##_type; \ + (_attr).reason = _reason; \ + if (_ret) _RET_COPY_TYPED((_attr).dispatch, *(_ret)); \ } while (0) /** - * @brief Helper for setting attributes for a specs-generated list - * - * @param[out] attr @ref discord_attributes handler to be initialized - * @param[in] type datatype of the list - * @param[in] ret dispatch attributes - * @param[in] _reason reason for request (if available) - */ -#define DISCORD_ATTR_LIST_INIT(attr, type, ret, _reason) \ - do { \ - (attr).response.size = sizeof(struct type); \ - (attr).response.from_json = (cast_from_json)type##_from_json; \ - (attr).response.cleanup = (cast_cleanup)type##_cleanup; \ - (attr).reason = _reason; \ - if (ret) _RET_COPY_TYPED(attr.dispatch, *ret); \ - } while (0) - -/** - * @brief Helper for setting attributes for attruests that doensn't expect a + * @brief Helper for setting attributes for attributes that don't have a * response object * - * @param[out] attr @ref discord_attributes handler to be initialized - * @param[in] ret dispatch attributes + * @param[out] _attr @ref discord_attributes handler to be initialized + * @param[in] _ret dispatch attributes * @param[in] _reason reason for request (if available) */ -#define DISCORD_ATTR_BLANK_INIT(attr, ret, _reason) \ +#define DISCORD_ATTR_BLANK_INIT(_attr, _ret, _reason) \ do { \ - (attr).reason = _reason; \ - if (ret) _RET_COPY_TYPELESS(attr.dispatch, *ret); \ + (_attr).reason = _reason; \ + if (_ret) _RET_COPY_TYPELESS((_attr).dispatch, *(_ret)); \ } while (0) /** @@ -91,10 +72,10 @@ typedef struct { * * @param[in,out] attchs a @ref discord_attachments to have its IDs initialized */ -#define DISCORD_ATTACHMENTS_IDS_INIT(attchs) \ +#define DISCORD_ATTACHMENTS_IDS_INIT(_attchs) \ do { \ - for (int i = 0; i < attchs->size; ++i) { \ - attchs->array[i].id = (u64snowflake)i; \ + for (int i = 0; i < (_attchs)->size; ++i) { \ + (_attchs)->array[i].id = (u64snowflake)i; \ } \ } while (0) diff --git a/third_party/concord/discord.h b/third_party/concord/discord.h index 6b5ef03..fd35bb0 100644 --- a/third_party/concord/discord.h +++ b/third_party/concord/discord.h @@ -37,8 +37,17 @@ extern "C" { /* forward declaration */ struct discord; +struct reflectc; /**/ +/** + * @brief Get the reflectc registry from a Discord client + * + * @param client the client created with discord_from_json() or discord_from_token() + * @return the reflectc registry used by the client + */ +struct reflectc *discord_get_registry(struct discord *client); + #include "discord_codecs.h" #include "discord-response.h" @@ -209,6 +218,12 @@ void discord_shutdown_all(void); */ bool discord_shutdown_all_ongoing(void); +/** + * @brief Backwards compatible alias for discord_shutdown_all() + * @deprecated since v3.0.0 + */ +#define ccord_shutdown_async() discord_shutdown_all() + /** * @brief Creates a Discord Client handle from a token * @see discord_get_logmod() to configure logging behavior @@ -235,6 +250,15 @@ struct discord *discord_from_json(const char config_file[]); struct discord_config { /** the bot token */ char *token; + /** + * optional override for the REST API base URL + * (e.g. `"http://127.0.0.1:8080"` for a local test server) + * @note when `NULL` (the default) @ref DISCORD_API_BASE_URL is used + * @note only read during client initialization and copied by the + * User-Agent layer; the client does not take ownership and will + * never free this pointer + */ + char *base_url; struct { /** minimum logging level */ enum logmod_levels level; @@ -427,6 +451,197 @@ struct logmod *discord_get_logmod(struct discord *client); */ struct io_poller *discord_get_io_poller(struct discord *client); +/** @addtogroup DiscordDataWrap Data Wrap + * @brief Helpers for wrapping Discord data types for easier management + * @{ */ + +#define __CAT(_a, _b) _a##_b +#define _CAT(_a, _b) __CAT(_a, _b) +#define _EXPECT_CONTAINER__struct +#define _EXPECT_CONTAINER__union +#define _DISCORD_SYMBOL_WITHOUT_CONTAINER(_symbol) \ + _CAT(_EXPECT_CONTAINER__, _symbol) + +/** + * @brief The Discord data wrap structure + * + * This struct is used to wrap Discord data types for easier management + */ +#define discord_data_wrap reflectc_wrap + +/** + * @brief Wrap a Discord data type into a reflectc_wrap structure + * + * @param _symbol the Discord data type symbol (with struct or union) + * @param _client the client created with discord_from_token() + * @param _data the Discord data type to be wrapped + * @return the @ref discord_data_wrap Discord data type + */ +#define discord_data_wrap_from(_symbol, _client, _data) \ + _CAT(reflectc_from_, _DISCORD_SYMBOL_WITHOUT_CONTAINER(_symbol))( \ + discord_get_registry((_client)), _data, NULL) + +/** + * @brief Cleanup a Discord data type wrapped into a reflectc_wrap structure + * + * Releases everything discord_data_from_json() allocated for `_data` — + * strings, nested objects, list arrays — plus the reflect-c wrap and its + * registry entry. Every non-NULL pointer member is treated as owned: do + * not call this on hand-built structs pointing at literals or stack + * objects. + * + * @param _client the client created with discord_from_token() + * @param _data the Discord data type to be cleaned up + */ +#define discord_data_cleanup(_client, _data) \ + discord_data_free(discord_get_registry((_client)), (_data)) + +/** Function backing @ref discord_data_cleanup; see its contract */ +void discord_data_free(struct reflectc *registry, void *data); + +/** + * @brief Drop the wrap cached for `_data` without touching its contents + * + * discord_data_to_json() caches a reflect-c wrap keyed by `_data`'s + * address; release it with this once done encoding a caller-owned + * struct (e.g. stack-built params). Without it the stale registry entry + * would be wrongly reused by a future object at the same address. + * Decoded structs don't need this — discord_data_cleanup() releases + * both the data and the wrap. + * + * @param _client the client created with discord_from_token() + * @param _data the encoded Discord data type to drop the wrap for + */ +#define discord_data_unwrap(_client, _data) \ + discord_data_release(discord_get_registry((_client)), (_data)) + +/** Function backing @ref discord_data_unwrap */ +void discord_data_release(struct reflectc *registry, void *data); + +/** @addtogroup DiscordDataWrapJSON JSON Conversion + * @brief Helpers for converting Discord data types to/from JSON + * @{ */ + +/* forward declaration */ +struct jsmnf_pair; +struct jsonb; + +/** + * @brief Transform a wrapped Discord data type into a JSON string + * + * @param member the wrapped Discord data type + * @param p_buf pointer to the JSON buffer + * @param p_bufsize pointer to the JSON buffer size + * @CCORD_return + */ +CCORDcode discord_data_wrap_to_json(const struct discord_data_wrap *member, + char *p_buf[], + size_t *p_bufsize); + +/** + * @brief Transform a Discord data type into a JSON string + * + * @param _symbol the Discord data type symbol (with struct or union) + * @param _client the client created with discord_from_token() + * @param _data the Discord data type to be transformed + * @param _p_buf pointer to the JSON buffer + * @param _p_bufsize pointer to the JSON buffer size + * @CCORD_return + */ +#define discord_data_to_json(_symbol, _client, _data, _p_buf, _p_bufsize) \ + discord_data_wrap_to_json( \ + discord_data_wrap_from(_symbol, _client, _data), _p_buf, _p_bufsize) + +/** + * @brief Transform a wrapped Discord data type into a jsonb handle + * + * @param jb the jsonb handle + * @param member the wrapped Discord data type + * @param p_buf pointer to the JSON buffer + * @param p_bufsize pointer to the JSON buffer size + * @CCORD_return + */ +CCORDcode discord_data_wrap_to_jsonb(struct jsonb *jb, + const struct discord_data_wrap *member, + char *p_buf[], + size_t *p_bufsize); + +/** + * @brief Transform a Discord data type into a jsonb handle + * + * @param _symbol the Discord data type symbol (with struct or union) + * @param _client the client created with discord_from_token() + * @param _jb the jsonb handle + * @param _data the Discord data type to be transformed + * @param _p_buf pointer to the JSON buffer + * @param _p_bufsize pointer to the JSON buffer size + * @CCORD_return + */ +#define discord_data_to_jsonb(_symbol, _client, _jb, _data, _p_buf, \ + _p_bufsize) \ + discord_data_wrap_to_jsonb( \ + _jb, discord_data_wrap_from(_symbol, _client, _data), _p_buf, \ + _p_bufsize) + +/** + * @brief Parse a JSON string and fill a wrapped Discord data type + * + * @param json the JSON string + * @param len length of @ref json + * @param root the root wrapped Discord data type + * @CCORD_return + */ +CCORDcode discord_data_wrap_from_json(const char *json, + size_t len, + struct discord_data_wrap *root); + +/** + * @brief Parse a JSON string and fill a Discord data type + * + * @param _symbol the Discord data type symbol (with struct or union) + * @param _client the client created with discord_from_token() + * @param _json the JSON string + * @param _len length of @ref json + * @param _data the Discord data type to be filled + * @CCORD_return + */ +#define discord_data_from_json(_symbol, _client, _json, _len, _data) \ + discord_data_wrap_from_json( \ + _json, _len, discord_data_wrap_from(_symbol, _client, _data)) + +/** + * @brief Parse a jsmnf_pair and fill a wrapped Discord data type + * + * @param p the jsmnf_pair + * @param json the JSON string + * @param length length of @ref json + * @param member the wrapped Discord data type + * @CCORD_return + */ +CCORDcode discord_data_wrap_from_jsmnf(const struct jsmnf_pair *p, + const char *json, + size_t length, + const struct discord_data_wrap *member); + +/** + * @brief Parse a jsmnf_pair and fill a Discord data type + * + * @param _client the client created with discord_from_token() + * @param _p the jsmnf_pair + * @param _json the JSON string + * @param _length length of @ref json + * @param _type the Discord data type symbol (without struct/union) + * @param _data the Discord data type to be filled + * @CCORD_return + */ +#define discord_data_from_jsmnf(_client, _p, _json, _length, _type, _data) \ + discord_data_wrap_from_jsmnf( \ + _p, _json, _length, discord_data_wrap_from(_type, _client, _data)) + +/** @} DiscordDataWrapJSON */ + +/** @} DiscordDataWrap */ + /** @addtogroup DiscordTimer Timer * @brief Schedule callbacks to be called in the future * @{ */ diff --git a/third_party/concord/discord_codecs.PRE.h b/third_party/concord/discord_codecs.PRE.h deleted file mode 100644 index a93b9f4..0000000 --- a/third_party/concord/discord_codecs.PRE.h +++ /dev/null @@ -1,74 +0,0 @@ -#include "gencodecs.h" - -#ifdef GENCODECS_HEADER -PP_INCLUDE() -PP_INCLUDE("carray.h") -PP_INCLUDE("cog-utils.h") -PP_INCLUDE("types.h") -PP_INCLUDE("concord-error.h") -#endif - -/* Custom JSON encoding macros */ -#define GENCODECS_JSON_ENCODER_PTR_json_char(b, buf, size, _var, _type) \ - if (0 > (code = jsonb_token_auto(b, buf, size, _var, \ - _var ? strlen(_var) : 0))) \ - return code -#define GENCODECS_JSON_ENCODER_size_t(b, buf, size, _var, _type) \ - { \ - char tok[64]; \ - int toklen; \ - toklen = sprintf(tok, "%zu", _var); \ - if (0 > (code = jsonb_token_auto(b, buf, size, tok, toklen))) \ - return code; \ - } -#define GENCODECS_JSON_ENCODER_uint64_t(b, buf, size, _var, _type) \ - { \ - char tok[64]; \ - int toklen; \ - toklen = sprintf(tok, "%" PRIu64, _var); \ - if (0 > (code = jsonb_string_auto(b, buf, size, tok, toklen))) \ - return code; \ - } -#define GENCODECS_JSON_ENCODER_u64snowflake GENCODECS_JSON_ENCODER_uint64_t -#define GENCODECS_JSON_ENCODER_u64bitmask GENCODECS_JSON_ENCODER_uint64_t -#define GENCODECS_JSON_ENCODER_u64unix_ms(b, buf, size, _var, _type) \ - { \ - char tok[64]; \ - int toklen = cog_unix_ms_to_iso8601(tok, sizeof(tok), _var); \ - if (0 > (code = jsonb_string_auto(b, buf, size, tok, toklen))) \ - return code; \ - } - -/* Custom JSON decoding macros */ -#define GENCODECS_JSON_DECODER_PTR_json_char(_f, _js, _var, _type) \ - if (_f) { \ - _var = _gc_strndup(js + _f->v->start, _f->v->end - _f->v->start); \ - ret += _f->v->end - _f->v->start; \ - } -#define GENCODECS_JSON_DECODER_size_t(_f, _js, _var, _type) \ - if (_f && _f->v->type == JSMN_PRIMITIVE) \ - _var = (size_t)strtoull(_js + _f->v->start, NULL, 10) -#define GENCODECS_JSON_DECODER_uint64_t(_f, _js, _var, _type) \ - if (_f) sscanf(_js + _f->v->start, "%" SCNu64, &_var) -#define GENCODECS_JSON_DECODER_u64snowflake GENCODECS_JSON_DECODER_uint64_t -#define GENCODECS_JSON_DECODER_u64bitmask GENCODECS_JSON_DECODER_uint64_t -#define GENCODECS_JSON_DECODER_u64unix_ms(_f, _js, _var, _type) \ - if (_f && _f->v->type == JSMN_STRING) \ - cog_iso8601_to_unix_ms(_js + _f->v->start, _f->v->end - _f->v->start, &_var) - -/* Custom field macros */ -#define FIELD_SNOWFLAKE(_name) \ - FIELD_PRINTF(_name, u64snowflake, "\"%" PRIu64 "\"", "%" SCNu64) -#define FIELD_BITMASK(_name) \ - FIELD_PRINTF(_name, u64bitmask, "\"%" PRIu64 "\"", "%" SCNu64) -#define FIELD_TIMESTAMP(_name) \ - FIELD_CUSTOM(_name, #_name, u64unix_ms, DECOR_BLANK, INIT_BLANK, \ - CLEANUP_BLANK, GENCODECS_JSON_ENCODER_u64unix_ms, \ - GENCODECS_JSON_DECODER_u64unix_ms, (u64unix_ms)0) - -/* if GENCODECS_READ is not specified then generate for all files */ -#ifndef GENCODECS_READ -#define GENCODECS_READ "all.PRE.h" -#endif - -#include "gencodecs-process.PRE.h" diff --git a/third_party/concord/discord_codecs.h b/third_party/concord/discord_codecs.h index 58b8e4d..6d99a64 100644 --- a/third_party/concord/discord_codecs.h +++ b/third_party/concord/discord_codecs.h @@ -1,10530 +1,1582 @@ -#ifndef DISCORD_CODECS_H -#define DISCORD_CODECS_H -#include -#include +#ifndef REFLECT_C_GENERATED_H +#define REFLECT_C_GENERATED_H + + + + +#define DISCORD_APPLICATION_GATEWAY_PRESENCE (1 << 12) +#define DISCORD_APPLICATION_GATEWAY_PRESENCE_LIMITED (1 << 13) +#define DISCORD_APPLICATION_GATEWAY_GUILD_MEMBERS (1 << 14) +#define DISCORD_APPLICATION_GATEWAY_GUILD_MEMBERS_LIMITED (1 << 15) +#define DISCORD_APPLICATION_VERIFICATION_PENDING_GUILD_LIMIT (1 << 16) +#define DISCORD_APPLICATION_EMBEDDED (1 << 17) +#define DISCORD_APPLICATION_GATEWAY_MESSAGE_CONTENT (1 << 18) +#define DISCORD_APPLICATION_GATEWAY_MESSAGE_CONTENT_LIMITED (1 << 19) + + + + +#define DISCORD_CHANNEL_PINNED (1 << 1) +#define DISCORD_CHANNEL_REQUIRE_TAG (1 << 4) +#define DISCORD_CHANNEL_HIDE_MEDIA_DOWNLOAD_OPTIONS (1 << 5) +#define DISCORD_MESSAGE_CROSSPOSTED (1 << 0) +#define DISCORD_MESSAGE_IS_CROSSPOST (1 << 1) +#define DISCORD_MESSAGE_SUPPRESS_EMBEDS (1 << 2) +#define DISCORD_MESSAGE_SOURCE_MESSAGE_DELETED (1 << 3) +#define DISCORD_MESSAGE_URGENT (1 << 4) +#define DISCORD_MESSAGE_HAS_THREAD (1 << 5) +#define DISCORD_MESSAGE_EPHEMERAL (1 << 6) +#define DISCORD_MESSAGE_LOADING (1 << 7) +#define DISCORD_MESSAGE_FAILED_TO_MENTION_SOME_ROLES_IN_THREAD (1 << 8) +#define DISCORD_MESSAGE_SUPPRESS_NOTIFICATIONS (1 << 12) +#define DISCORD_MESSAGE_IS_VOICE_MESSAGE (1 << 13) +#define DISCORD_MESSAGE_HAS_COMPONENTS_V2 (1 << 15) +#define DISCORD_ATTACHMENT_IS_REMIX (1 << 2) + + + + #include +#include #include "carray.h" #include "cog-utils.h" #include "types.h" #include "concord-error.h" -struct strings { int size; - char * * array; -int realsize; }; -struct json_values { int size; - json_char * * array; -int realsize; }; -struct snowflakes { int size; - u64snowflake *array; -int realsize; }; -struct bitmasks { int size; - u64bitmask *array; -int realsize; }; -struct integers { int size; - int *array; -int realsize; }; -#define DISCORD_APPLICATION_GATEWAY_PRESENCE 1 << 12 -#define DISCORD_APPLICATION_GATEWAY_PRESENCE_LIMITED 1 << 13 -#define DISCORD_APPLICATION_GATEWAY_GUILD_MEMBERS 1 << 14 -#define DISCORD_APPLICATION_GATEWAY_GUILD_MEMBERS_LIMITED 1 << 15 -#define DISCORD_APPLICATION_VERIFICATION_PENDING_GUILD_LIMIT 1 << 16 -#define DISCORD_APPLICATION_EMBEDDED 1 << 17 -#define DISCORD_APPLICATION_GATEWAY_MESSAGE_CONTENT 1 << 18 -#define DISCORD_APPLICATION_GATEWAY_MESSAGE_CONTENT_LIMITED 1 << 19 -struct discord_application { - u64snowflake id; - char * name; - char * icon; - char * description; - - struct strings * rpc_origins; - - bool bot_public; - bool bot_require_code_grant; - char * terms_of_service_url; - char * privacy_policy_url; - - struct discord_user * owner; - - char * summary; - char * verify_key; - - struct discord_team * team; - - u64snowflake guild_id; - u64snowflake primary_sku_id; - char * slug; - char * cover_image; - u64bitmask flags; -}; -struct discord_install_params { - struct strings * scopes; - u64bitmask permissions; -}; -enum discord_audit_log_events { - DISCORD_AUDIT_LOG_GUILD_UPDATE = 1, - DISCORD_AUDIT_LOG_CHANNEL_CREATE = 10, - DISCORD_AUDIT_LOG_CHANNEL_UPDATE = 11, - DISCORD_AUDIT_LOG_CHANNEL_DELETE = 12, - DISCORD_AUDIT_LOG_CHANNEL_OVERWRITE_CREATE = 13, - DISCORD_AUDIT_LOG_CHANNEL_OVERWRITE_UPDATE = 14, - DISCORD_AUDIT_LOG_CHANNEL_OVERWRITE_DELETE = 15, - DISCORD_AUDIT_LOG_MEMBER_KICK = 20, - DISCORD_AUDIT_LOG_MEMBER_PRUNE = 21, - DISCORD_AUDIT_LOG_MEMBER_BAN_ADD = 22, - DISCORD_AUDIT_LOG_MEMBER_BAN_REMOVE = 23, - DISCORD_AUDIT_LOG_MEMBER_UPDATE = 24, - DISCORD_AUDIT_LOG_MEMBER_ROLE_UPDATE = 25, - DISCORD_AUDIT_LOG_MEMBER_MOVE = 26, - DISCORD_AUDIT_LOG_MEMBER_DISCONNECT = 27, - DISCORD_AUDIT_LOG_BOT_ADD = 28, - DISCORD_AUDIT_LOG_ROLE_CREATE = 30, - DISCORD_AUDIT_LOG_ROLE_UPDATE = 31, - DISCORD_AUDIT_LOG_ROLE_DELETE = 32, - DISCORD_AUDIT_LOG_INVITE_CREATE = 40, - DISCORD_AUDIT_LOG_INVITE_UPDATE = 41, - DISCORD_AUDIT_LOG_INVITE_DELETE = 42, - DISCORD_AUDIT_LOG_WEBHOOK_CREATE = 50, - DISCORD_AUDIT_LOG_WEBHOOK_UPDATE = 51, - DISCORD_AUDIT_LOG_WEBHOOK_DELETE = 52, - DISCORD_AUDIT_LOG_EMOJI_CREATE = 60, - DISCORD_AUDIT_LOG_EMOJI_UPDATE = 61, - DISCORD_AUDIT_LOG_EMOJI_DELETE = 62, - DISCORD_AUDIT_LOG_MESSAGE_DELETE = 72, - DISCORD_AUDIT_LOG_MESSAGE_BULK_DELETE = 73, - DISCORD_AUDIT_LOG_MESSAGE_PIN = 74, - DISCORD_AUDIT_LOG_MESSAGE_UNPIN = 75, - DISCORD_AUDIT_LOG_INTEGRATION_CREATE = 80, - DISCORD_AUDIT_LOG_INTEGRATION_UPDATE = 81, - DISCORD_AUDIT_LOG_INTEGRATION_DELETE = 82, - DISCORD_AUDIT_LOG_STAGE_INSTANCE_CREATE = 83, - DISCORD_AUDIT_LOG_STAGE_INSTANCE_UPDATE = 84, - DISCORD_AUDIT_LOG_STAGE_INSTANCE_DELETE = 85, - DISCORD_AUDIT_LOG_STICKER_CREATE = 90, - DISCORD_AUDIT_LOG_STICKER_UPDATE = 91, - DISCORD_AUDIT_LOG_STICKER_DELETE = 92, - DISCORD_AUDIT_LOG_GUILD_SCHEDULED_EVENT_CREATE = 100, - DISCORD_AUDIT_LOG_GUILD_SCHEDULED_EVENT_UPDATE = 101, - DISCORD_AUDIT_LOG_GUILD_SCHEDULED_EVENT_DELETE = 102, - DISCORD_AUDIT_LOG_THREAD_CREATE = 110, - DISCORD_AUDIT_LOG_THREAD_UPDATE = 111, - DISCORD_AUDIT_LOG_THREAD_DELETE = 112, - DISCORD_AUDIT_LOG_APPLICATION_COMMAND_PERMISSION_UPDATE = 121, - DISCORD_AUDIT_LOG_AUTO_MODERATION_RULE_CREATE = 140, - DISCORD_AUDIT_LOG_AUTO_MODERATION_RULE_UPDATE = 141, - DISCORD_AUDIT_LOG_AUTO_MODERATION_RULE_DELETE = 142, - DISCORD_AUDIT_LOG_AUTO_MODERATION_BLOCK_MESSAGE = 143 -}; -struct discord_audit_log { - - struct discord_audit_log_entries * audit_log_entries; - - - struct discord_guild_scheduled_events * guild_scheduled_events; - - - struct discord_integrations * integrations; - - - struct discord_channels * threads; - - - struct discord_users * users; - - - struct discord_webhooks * webhooks; - -}; -struct discord_audit_log_entry { - u64snowflake target_id; - - struct discord_audit_log_changes * changes; - - u64snowflake user_id; - u64snowflake id; - - enum discord_audit_log_events action_type; - - - struct discord_optional_audit_entry_infos * options; - - char * reason; -}; -struct discord_audit_log_entries { int size; - struct discord_audit_log_entry *array; -int realsize; }; -struct discord_optional_audit_entry_info { - u64snowflake channel_id; - char * count; - char * delete_member_days; - u64snowflake id; - char * members_removed; - u64snowflake message_id; - char * role_name; - char * type; -}; -struct discord_optional_audit_entry_infos { int size; - struct discord_optional_audit_entry_info *array; -int realsize; }; -struct discord_audit_log_change { - json_char * new_value; - json_char * old_value; - char * key; -}; -struct discord_audit_log_changes { int size; - struct discord_audit_log_change *array; -int realsize; }; -struct discord_get_guild_audit_log { - u64snowflake user_id; - int action_type; - u64snowflake before; - - int limit; - -}; -enum discord_auto_moderation_trigger_types { - DISCORD_AUTO_MODERATION_KEYWORD = 1, - DISCORD_AUTO_MODERATION_HARMFUL_LINK = 2, - DISCORD_AUTO_MODERATION_SPAM = 3, - DISCORD_AUTO_MODERATION_KEYWORD_PRESET = 4 -}; -enum discord_auto_moderation_keyword_preset_types { - DISCORD_AUTO_MODERATION_PROFANITY = 1, - DISCORD_AUTO_MODERATION_SEXUAL_CONTENT = 2, - DISCORD_AUTO_MODERATION_SLURS = 3 -}; -enum discord_auto_moderation_event_types { - DISCORD_AUTO_MODERATION_MESSAGE_SEND = 1 -}; -enum discord_auto_moderation_action_types { - DISCORD_AUTO_MODERATION_ACTION_BLOCK_MESSAGE = 1, - DISCORD_AUTO_MODERATION_ACTION_SEND_ALERT_MESSAGE = 2, - DISCORD_AUTO_MODERATION_ACTION_TIMEOUT = 3 -}; -struct discord_auto_moderation_trigger_metadata { - struct strings * keyword_filter; - struct integers * presets; -}; -struct discord_auto_moderation_action { - - enum discord_auto_moderation_action_types type; - - - struct discord_auto_moderation_action_metadata * metadata; - -}; -struct discord_auto_moderation_actions { int size; - struct discord_auto_moderation_action *array; -int realsize; }; -struct discord_auto_moderation_action_metadata { - - u64snowflake channel_id; - - - int duration_seconds; - -}; -struct discord_auto_moderation_rule { - u64snowflake id; - u64snowflake guild_id; - char * name; - u64snowflake creator_id; - - enum discord_auto_moderation_event_types event_type; - - - enum discord_auto_moderation_trigger_types trigger_type; - - struct discord_auto_moderation_actions * actions; - struct discord_auto_moderation_trigger_metadata * trigger_metadata; - bool enabled; - struct snowflakes * exempt_roles; - struct snowflakes * exempt_channels; -}; -struct discord_auto_moderation_rules { int size; - struct discord_auto_moderation_rule *array; -int realsize; }; -struct discord_create_auto_moderation_rule { - char * reason; - char * name; - - enum discord_auto_moderation_event_types event_type; - - - enum discord_auto_moderation_trigger_types trigger_type; - - - struct discord_auto_moderation_actions * actions; - - - struct discord_auto_moderation_trigger_metadata * trigger_metadata; - - bool enabled; - - struct snowflakes * exempt_roles; - - - struct snowflakes * exempt_channels; - -}; -struct discord_modify_auto_moderation_rule { - char * reason; - - char * name; - - - enum discord_auto_moderation_event_types event_type; - - - struct discord_auto_moderation_trigger_metadata * trigger_metadata; - - - struct discord_auto_moderation_actions * actions; - - bool enabled; - - struct snowflakes * exempt_roles; - - - struct snowflakes * exempt_channels; - -}; -struct discord_delete_auto_moderation_rule { - char * reason; -}; -enum discord_invite_target_types { - DISCORD_INVITE_TARGET_STREAM = 1, - DISCORD_INVITE_TARGET_EMBEDDED_APPLICATION = 2 -}; -struct discord_invite { - char * code; - - struct discord_guild * guild; - - struct discord_channel * channel; - - struct discord_user * inviter; - - - enum discord_invite_target_types target_type; - - - struct discord_user * target_user; - - - struct discord_application * target_application; - - int approximate_presence_count; - int approximate_member_count; - - u64unix_ms expires_at; - - - struct discord_invite_stage_instance * stage_instance; - - - struct discord_guild_scheduled_event * guild_scheduled_event; - -}; -struct discord_invites { int size; - struct discord_invite *array; -int realsize; }; -struct discord_invite_metadata { - int uses; - int max_uses; - int max_age; - bool temporary; - - u64unix_ms created_at; - -}; -struct discord_invite_stage_instance { - - struct discord_guild_members * members; - - int participant_count; - int speaker_count; - char * topic; -}; -struct discord_get_invite { - bool with_counts; - bool with_expiration; - - u64snowflake guild_scheduled_event_id; - -}; -struct discord_delete_invite { - char * reason; -}; -enum discord_channel_types { - DISCORD_CHANNEL_GUILD_TEXT = 0, - DISCORD_CHANNEL_DM = 1, - DISCORD_CHANNEL_GUILD_VOICE = 2, - DISCORD_CHANNEL_GROUP_DM = 3, - DISCORD_CHANNEL_GUILD_CATEGORY = 4, - DISCORD_CHANNEL_GUILD_ANNOUNCEMENT = 5, - DISCORD_CHANNEL_GUILD_NEWS = DISCORD_CHANNEL_GUILD_ANNOUNCEMENT, - DISCORD_CHANNEL_GUILD_STORE = 6, - DISCORD_CHANNEL_ANNOUNCEMENT_THREAD = 10, - DISCORD_CHANNEL_GUILD_NEWS_THREAD = DISCORD_CHANNEL_ANNOUNCEMENT_THREAD, - DISCORD_CHANNEL_GUILD_PUBLIC_THREAD = 11, - DISCORD_CHANNEL_GUILD_PRIVATE_THREAD = 12, - DISCORD_CHANNEL_GUILD_STAGE_VOICE = 13, - DISCORD_CHANNEL_GUILD_DIRECTORY = 14, - DISCORD_CHANNEL_GUILD_FORUM = 15, - DISCORD_CHANNEL_GUILD_MEDIA = 16 -}; -enum discord_video_quality_modes { - DISCORD_VIDEO_QUALITY_AUTO = 1, - DISCORD_VIDEO_QUALITY_FULL = 2 -}; -#define DISCORD_CHANNEL_PINNED 1 << 1 -#define DISCORD_CHANNEL_REQUIRE_TAG 1 << 4 -#define DISCORD_CHANNEL_HIDE_MEDIA_DOWNLOAD_OPTIONS 1 << 5 -enum discord_sort_order_types { - DISCORD_SORT_ORDER_LATEST_ACTIVITY = 0, - DISCORD_SORT_ORDER_CREATION_DATE = 1 -}; -enum discord_forum_layout_types { - DISCORD_FORUM_LAYOUT_NOT_SET = 0, - DISCORD_FORUM_LAYOUT_LIST_VIEW = 1, - DISCORD_FORUM_LAYOUT_GALLERY_VIEW = 1 -}; -struct discord_channel { - u64snowflake id; - enum discord_channel_types type; - - u64snowflake guild_id; - - int position; - struct discord_overwrites * permission_overwrites; - char * name; - char * topic; - bool nsfw; - u64snowflake last_message_id; - int bitrate; - int user_limit; - int rate_limit_per_user; - struct discord_users * recipients; - char * icon; - u64snowflake owner_id; - u64snowflake application_id; - bool managed; - u64snowflake parent_id; - u64unix_ms last_pin_timestamp; - char * rtc_region; - int voice_quality_mode; - int message_count; - int member_count; - struct discord_thread_metadata * thread_metadata; - struct discord_thread_member * member; - int default_auto_archive_duration; - u64bitmask permissions; - u64bitmask flags; - int total_message_sent; - struct discord_thread_tags * available_tags; - struct snowflakes * applied_tags; - struct discord_thread_default_reaction * default_reaction_emoji; - int default_thread_rate_limit_per_user; - enum discord_sort_order_types default_sort_order; - enum discord_forum_layout_types default_forum_layout; -}; -struct discord_channels { int size; - struct discord_channel *array; -int realsize; }; -enum discord_message_types { - DISCORD_MESSAGE_DEFAULT = 0, - DISCORD_MESSAGE_RECIPIENT_ADD = 1, - DISCORD_MESSAGE_RECIPIENT_REMOVE = 2, - DISCORD_MESSAGE_CALL = 3, - DISCORD_MESSAGE_CHANNEL_NAME_CHANGE = 4, - DISCORD_MESSAGE_CHANNEL_ICON_CHANGE = 5, - DISCORD_MESSAGE_CHANNEL_PINNED_MESSAGE = 6, - DISCORD_MESSAGE_GUILD_MEMBER_JOIN = 7, - DISCORD_MESSAGE_USER_PREMIUM_GUILD_SUBSCRIPTION = 8, - DISCORD_MESSAGE_USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_1 = 9, - DISCORD_MESSAGE_USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_2 = 10, - DISCORD_MESSAGE_USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_3 = 11, - DISCORD_MESSAGE_CHANNEL_FOLLOW_ADD = 12, - DISCORD_MESSAGE_GUILD_DISCOVERY_DISQUALIFIED = 14, - DISCORD_MESSAGE_GUILD_DISCOVERY_REQUALIFIED = 15, - DISCORD_MESSAGE_GUILD_DISCOVERY_GRACE_PERIOD_INITIAL_WARNING = 16, - DISCORD_MESSAGE_GUILD_DISCOVERY_GRACE_PERIOD_FINAL_WARNING = 17, - DISCORD_MESSAGE_THREAD_CREATED = 18, - DISCORD_MESSAGE_REPLY = 19, - DISCORD_MESSAGE_CHAT_INPUT_COMMAND = 20, - DISCORD_MESSAGE_THREAD_STARTER_MESSAGE = 21, - DISCORD_MESSAGE_GUILD_INVITE_REMINDER = 22, - DISCORD_MESSAGE_CONTEXT_MENU_COMMAND = 23, - DISCORD_MESSAGE_AUTO_MODERATION_ACTION = 24, - DISCORD_MESSAGE_ROLE_SUBSCRIPTION_PURCHASE = 25, - DISCORD_MESSAGE_INTERACTION_PREMIUM_UPSELL = 26, - DISCORD_MESSAGE_STAGE_START = 27, - DISCORD_MESSAGE_STAGE_END = 28, - DISCORD_MESSAGE_STAGE_SPEAKER = 29, - DISCORD_MESSAGE_STAGE_TOPIC = 31, - DISCORD_MESSAGE_GUILD_APPLICATION_PREMIUM_SUBSCRIPTION = 32 -}; -enum discord_message_activity_types { - DISCORD_MESSAGE_ACTIVITY_JOIN = 1, - DISCORD_MESSAGE_ACTIVITY_SPECTATE = 2, - DISCORD_MESSAGE_ACTIVITY_LISTEN = 3, - DISCORD_MESSAGE_ACTIVITY_JOIN_REQUEST = 5 -}; -struct discord_message_activity { - enum discord_message_activity_types type; - char * party_id; -}; -#define DISCORD_MESSAGE_CROSSPOSTED 1 << 0 -#define DISCORD_MESSAGE_IS_CROSSPOST 1 << 1 -#define DISCORD_MESSAGE_SUPPRESS_EMBEDS 1 << 2 -#define DISCORD_MESSAGE_SOURCE_MESSAGE_DELETED 1 << 3 -#define DISCORD_MESSAGE_URGENT 1 << 4 -#define DISCORD_MESSAGE_HAS_THREAD 1 << 5 -#define DISCORD_MESSAGE_EPHEMERAL 1 << 6 -#define DISCORD_MESSAGE_LOADING 1 << 7 -#define DISCORD_MESSAGE_FAILED_TO_MENTION_SOME_ROLES_IN_THREAD 1 << 8 -#define DISCORD_MESSAGE_SUPPRESS_NOTIFICATIONS 1 << 12 -#define DISCORD_MESSAGE_IS_VOICE_MESSAGE 1 << 13 -#define DISCORD_MESSAGE_HAS_COMPONENTS_V2 1 << 15 -struct discord_message_reference { - u64snowflake message_id; - u64snowflake channel_id; - u64snowflake guild_id; - bool fail_if_not_exists; -}; -struct discord_message { - u64snowflake id; - u64snowflake channel_id; - u64snowflake guild_id; - struct discord_user * author; - struct discord_guild_member * member; - char * content; - u64unix_ms timestamp; - - u64unix_ms edited_timestamp; - - bool tts; - bool mention_everyone; - struct discord_users * mentions; - struct snowflakes * mention_roles; - struct discord_channels * mention_channels; - struct discord_attachments * attachments; - struct discord_embeds * embeds; - struct discord_reactions * reactions; - json_char * nonce; - bool pinned; - u64snowflake webhook_id; - enum discord_message_types type; - struct discord_message_activity * activity; - struct discord_application * application; - u64snowflake application_id; - struct discord_message_reference * message_reference; - u64bitmask flags; - struct discord_message * referenced_message; - struct discord_message_interaction * interaction; - struct discord_channel * thread; - struct discord_components * components; - struct discord_sticker_items * sticker_items; - struct discord_stickers * stickers; - int position; - struct discord_role_subscription_data * role_subscription_data; - struct discord_resolved_data * resolved; -}; -struct discord_messages { int size; - struct discord_message *array; -int realsize; }; -struct discord_followed_channel { - u64snowflake channel_id; - u64snowflake webhook_id; -}; -struct discord_reaction_count_details { - int burst; - int normal; -}; -struct discord_reaction { - int count; - struct discord_reaction_count_details * count_details; - bool me; - bool me_burst; - struct discord_emoji * emoji; - char * burst_colors; -}; -struct discord_reactions { int size; - struct discord_reaction *array; -int realsize; }; -struct discord_overwrite { - u64snowflake id; - int type; - u64bitmask allow; - u64bitmask deny; -}; -struct discord_overwrites { int size; - struct discord_overwrite *array; -int realsize; }; -struct discord_thread_metadata { - bool archived; - int auto_archive_duration; - u64unix_ms archive_timestamp; - bool locked; - bool invitable; - u64unix_ms create_timestamp; -}; -struct discord_thread_member { - u64snowflake id; - u64snowflake user_id; - u64unix_ms join_timestamp; - u64bitmask flags; - struct discord_guild_member * member; - u64snowflake guild_id; -}; -struct discord_thread_members { int size; - struct discord_thread_member *array; -int realsize; }; -struct discord_thread_default_reaction { - u64snowflake emoji_id; - char * emoji_name; -}; -struct discord_thread_tag { - u64snowflake id; - char * name; - bool moderated; - u64snowflake emoji_id; - char * emoji_name; -}; -struct discord_thread_tags { int size; - struct discord_thread_tag *array; -int realsize; }; -struct discord_embed_thumbnail { - char * url; - - char * proxy_url; - - - int height; - - - int width; - -}; -struct discord_embed_video { - - char * url; - - - char * proxy_url; - - - int height; - - - int width; - -}; -struct discord_embed_image { - char * url; - - char * proxy_url; - - - int height; - - - int width; - -}; -struct discord_embed_provider { - - char * name; - - - char * url; - -}; -struct discord_embed_author { - char * name; - - char * url; - - - char * icon_url; - - - char * proxy_icon_url; - -}; -struct discord_embed_footer { - char * text; - - char * icon_url; - - - char * proxy_icon_url; - -}; -struct discord_embed_field { - char * name; - char * value; - bool Inline; -}; -struct discord_embed_fields { int size; - struct discord_embed_field *array; -int realsize; }; -struct discord_embed { - char * title; - char * type; - char * description; - char * url; - - u64unix_ms timestamp; - - int color; - - struct discord_embed_footer * footer; - - - struct discord_embed_image * image; - - - struct discord_embed_thumbnail * thumbnail; - - - struct discord_embed_video * video; - - - struct discord_embed_provider * provider; - - - struct discord_embed_author * author; - - - struct discord_embed_fields * fields; - -}; -struct discord_embeds { int size; - struct discord_embed *array; -int realsize; }; -#define DISCORD_ATTACHMENT_IS_REMIX 1 << 2 -struct discord_attachment { - char * content; - u64snowflake id; - char * filename; - char * description; - - char * content_type; - - size_t size; - char * url; - char * proxy_url; - - int height; - - - int width; - - bool ephemeral; - - int duration_secs; - - - char * waveform; - - - u64bitmask flags; - -}; -struct discord_attachments { int size; - struct discord_attachment *array; -int realsize; }; -struct discord_channel_mention { - u64snowflake id; - u64snowflake guild_id; - enum discord_channel_types type; - char * name; -}; -struct discord_allowed_mention { - struct strings * parse; - struct snowflakes * roles; - struct snowflakes * users; - bool replied_user; -}; -struct discord_role_subscription_data { - u64snowflake role_subscription_listing_id; - char * tier_name; - int total_months_subscribed; - bool is_renewal; -}; -struct discord_thread_response_body { - struct discord_channels * threads; - struct discord_thread_members * members; - bool has_more; -}; -struct discord_modify_channel { - char * reason; - char * name; - - enum discord_channel_types type; - - - int position; - - - char * topic; - - - bool nsfw; - - - int rate_limit_per_user; - - - int user_limit; - - - struct discord_overwrites * permission_overwrites; - - - u64snowflake parent_id; - - - char * rtc_region; - - - int video_quality_mode; - - - int default_auto_archive_duration; - - bool archived; - - int auto_archive_duration; - - bool locked; - bool invitable; -}; -struct discord_delete_channel { - char * reason; -}; -struct discord_get_channel_messages { - - u64snowflake around; - - - u64snowflake before; - - - u64snowflake after; - - - int limit; - -}; -struct discord_create_message { - char * content; - - bool tts; - - struct discord_embeds * embeds; - - struct discord_allowed_mention * allowed_mentions; - - - struct discord_message_reference * message_reference; - - - struct discord_components * components; - - - struct snowflakes * sticker_ids; - - - struct discord_attachments * attachments; - - - u64bitmask flags; - - - bool enforce_nonce; - -}; -struct discord_get_reactions { - - u64snowflake after; - - - int limit; - -}; -struct discord_edit_message { - char * content; - struct discord_embeds * embeds; - - u64bitmask flags; - - - struct discord_allowed_mention * allowed_mentions; - - - struct discord_components * components; - - - struct discord_attachments * attachments; - -}; -struct discord_delete_message { - char * reason; -}; -struct discord_bulk_delete_messages { - char * reason; - struct snowflakes * messages; -}; -struct discord_edit_channel_permissions { - char * reason; - - u64bitmask allow; - - - u64bitmask deny; - - int type; -}; -struct discord_create_channel_invite { - char * reason; - - int max_age; - - - int max_uses; - - - bool temporary; - - - bool unique; - - - enum discord_invite_target_types target_type; - - - u64snowflake target_user_id; - - - u64snowflake target_application_id; - -}; -struct discord_delete_channel_permission { - char * reason; -}; -struct discord_follow_news_channel { - - u64snowflake webhook_channel_id; - -}; -struct discord_pin_message { - char * reason; -}; -struct discord_unpin_message { - char * reason; -}; -struct discord_group_dm_add_recipient { - char * access_token; - char * nick; -}; -struct discord_start_thread_with_message { - char * reason; - char * name; - - int auto_archive_duration; - - - int rate_limit_per_user; - -}; -struct discord_start_thread_without_message { - char * reason; - char * name; - - int auto_archive_duration; - - enum discord_channel_types type; - bool invitable; - - int rate_limit_per_user; - -}; -struct discord_list_active_threads { - - struct discord_channels * threads; - - - struct discord_thread_members * members; - - bool has_more; -}; -struct discord_emoji { - u64snowflake id; - char * name; - - struct snowflakes * roles; - - - struct discord_user * user; - - bool require_colons; - bool managed; - bool animated; - bool available; -}; -struct discord_emojis { int size; - struct discord_emoji *array; -int realsize; }; -struct discord_create_guild_emoji { - char * reason; - char * name; - char * image; - - struct snowflakes * roles; - -}; -struct discord_modify_guild_emoji { - char * reason; - char * name; - char * image; - - struct snowflakes * roles; - -}; -struct discord_delete_guild_emoji { - char * reason; -}; -#define DISCORD_SYSTEM_SUPPRESS_JOIN_NOTIFICATIONS 1 << 0 -#define DISCORD_SYSTEM_SUPPRESS_PREMIUM_NOTIFICATIONS 1 << 1 -#define DISCORD_SYSTEM_SUPPRESS_GUILD_REMINDER_NOTIFICATIONS 1 << 2 -#define DISCORD_SYSTEM_SUPPRESS_JOIN_NOTIFICATION_REPLIES 1 << 3 -enum discord_message_notification_level { - DISCORD_MESSAGE_NOTIFICATION_ALL_MESSAGES = 0, - DISCORD_MESSAGE_NOTIFICATION_ONLY_MESSAGES = 1 -}; -enum discord_explicit_content_filter_level { - DISCORD_EXPLICIT_CONTENT_DISABLED = 0, - DISCORD_EXPLICIT_CONTENT_MEMBERS_WITHOUT_ROLES = 1, - DISCORD_MESSAGE_NOTIFICATION_ALL_MEMBERS = 2 -}; -enum discord_mfa_level { - DISCORD_MFA_NONE = 0, - DISCORD_MFA_ELEVATED = 1 -}; -enum discord_verification_level { - DISCORD_VERIFICATION_NONE = 0, - DISCORD_VERIFICATION_LOW = 1, - DISCORD_VERIFICATION_MEDIUM = 2, - DISCORD_VERIFICATION_HIGH = 3, - DISCORD_VERIFICATION_VERY_HIGH = 4 -}; -enum discord_guild_nsfw_level { - DISCORD_GUILD_NSFW_DEFAULT = 0, - DISCORD_GUILD_NSFW_EXPLICIT = 1, - DISCORD_GUILD_NSFW_SAFE = 2, - DISCORD_GUILD_NSFW_AGE_RESTRICTED = 3 -}; -enum discord_premium_tier { - DISCORD_PREMIUM_TIER_NONE = 0, - DISCORD_PREMIUM_TIER_1 = 1, - DISCORD_PREMIUM_TIER_2 = 2, - DISCORD_PREMIUM_TIER_3 = 3 -}; -enum discord_integration_expire_behaviors { - DISCORD_INTEGRATION_REMOVE_ROLE = 0, - DISCORD_INTEGRATION_KICK = 1 -}; -struct discord_guild { - u64snowflake id; - char * name; - char * icon; - - char * icon_hash; - - char * splash; - char * discovery_splash; - bool owner; - u64snowflake owner_id; - - u64bitmask permissions; - - u64snowflake afk_channel_id; - int afk_timeout; - bool widget_enabled; - u64snowflake widget_channel_id; - enum discord_verification_level verification_level; - enum discord_message_notification_level default_message_notifications; - enum discord_explicit_content_filter_level explicit_content_filter; - struct discord_roles * roles; - struct discord_emojis * emojis; - struct strings * features; - enum discord_mfa_level mfa_level; - u64snowflake application_id; - u64snowflake system_channel_id; - u64bitmask system_channel_flags; - u64snowflake rules_channel_id; - - u64unix_ms joined_at; - - bool large; - bool unavailable; - int member_count; - - struct discord_voice_states * voice_states; - - - struct discord_guild_members * members; - - - struct discord_channels * channels; - - - struct discord_channels * threads; - - - struct discord_presence_updates * presences; - - - int max_presences; - - - int max_members; - - char * vanity_url_code; - char * description; - char * banner; - enum discord_premium_tier premium_tier; - int premium_subscription_count; - char * preferred_locale; - u64snowflake public_updates_channel_id; - - int max_video_channel_users; - - - int approximate_member_count; - - - int approximate_presence_count; - - - struct discord_welcome_screen * welcome_screen; - - enum discord_guild_nsfw_level nsfw_level; - - struct discord_stage_instances * stage_instances; - - - struct discord_stickers * stickers; - - - struct discord_guild_scheduled_events * guild_scheduled_events; - - bool premium_progress_bar_enabled; -}; -struct discord_guilds { int size; - struct discord_guild *array; -int realsize; }; -struct discord_guild_preview { - u64snowflake id; - char * name; - char * icon; - char * splash; - char * discovery_splash; - struct discord_emojis * emojis; - struct strings * features; - int approximate_member_count; - int approximate_presence_count; - char * description; - struct discord_stickers * stickers; -}; -struct discord_guild_widget_settings { - char * reason; - bool enabled; - u64snowflake channel_id; -}; -struct discord_guild_widget { - u64snowflake id; - char * name; - char * instant_invite; - struct discord_channels * channels; - struct discord_users * members; - int presence_count; -}; -struct discord_guild_member { - - struct discord_user * user; - - - char * nick; - - - char * avatar; - - struct snowflakes * roles; - u64unix_ms joined_at; - - u64unix_ms premium_since; - - bool deaf; - bool muted; - bool pending; - - u64bitmask permissions; - - u64unix_ms communication_disabled_until; - u64snowflake guild_id; -}; -struct discord_guild_members { int size; - struct discord_guild_member *array; -int realsize; }; -struct discord_integration { - u64snowflake id; - char * name; - char * type; - bool enabled; - bool syncing; - u64snowflake role_id; - bool enable_emoticons; - enum discord_integration_expire_behaviors expire_behavior; - int expire_grace_period; - struct discord_user * user; - struct discord_integration_account * account; - u64unix_ms synced_at; - int subscriber_count; - bool revoked; - struct discord_integration_application * application; - u64snowflake guild_id; -}; -struct discord_integrations { int size; - struct discord_integration *array; -int realsize; }; -struct discord_integration_account { - char * id; - char * name; -}; -struct discord_integration_application { - u64snowflake id; - char * name; - char * icon; - char * description; - char * summary; - - struct discord_user * bot; - -}; -struct discord_ban { - char * reason; - struct discord_user * user; -}; -struct discord_bans { int size; - struct discord_ban *array; -int realsize; }; -struct discord_welcome_screen { - char * description; - - struct discord_welcome_screen_channels * welcome_channels; - -}; -struct discord_welcome_screen_channel { - u64snowflake channel_id; - char * description; - u64snowflake emoji_id; - char * emoji_name; -}; -struct discord_welcome_screen_channels { int size; - struct discord_welcome_screen_channel *array; -int realsize; }; -struct discord_prune_count { - int pruned; -}; -struct discord_create_guild { - char * reason; - char * name; - - char * region; - - - char * icon; - - enum discord_verification_level verification_level; - enum discord_message_notification_level default_message_notifications; - enum discord_explicit_content_filter_level explicit_content_filter; - - struct discord_roles * roles; - - - struct discord_channels * channels; - - - u64snowflake afk_channel_id; - - int afk_timeout; - u64snowflake system_channel_id; - u64bitmask system_channel_flags; -}; -struct discord_modify_guild { - char * reason; - char * name; - enum discord_verification_level verification_level; - enum discord_message_notification_level default_message_notifications; - enum discord_explicit_content_filter_level explicit_content_filter; - u64snowflake afk_channel_id; - int afk_timeout; - char * icon; - u64snowflake owner_id; - char * splash; - char * discovery_splash; - char * banner; - u64snowflake system_channel_id; - u64bitmask system_channel_flags; - u64snowflake rules_channel_id; - u64snowflake public_updates_channel_id; - char * preferred_locale; - struct strings * features; - char * description; - bool premium_progress_bar_enabled; -}; -struct discord_create_guild_channel { - char * reason; - char * name; - enum discord_channel_types type; - char * topic; - - int bitrate; - - - int user_limit; - - int rate_limit_per_user; - int position; - struct discord_overwrites * permission_overwrites; - - u64snowflake parent_id; - - bool nsfw; -}; -struct discord_modify_guild_channel_position { - u64snowflake id; - - int position; - - bool lock_category; - - u64snowflake parent_id; - -}; -struct discord_modify_guild_channel_positions { int size; - struct discord_modify_guild_channel_position *array; -int realsize; }; -struct discord_list_active_guild_threads { - struct discord_channels * threads; - struct discord_thread_members * members; -}; -struct discord_list_guild_members { - int limit; - u64snowflake after; -}; -struct discord_search_guild_members { - char * query; - int limit; -}; -struct discord_add_guild_member { - char * access_token; - char * nick; - struct snowflakes * roles; - bool mute; - bool deaf; -}; -struct discord_modify_guild_member { - char * reason; - - char * nick; - - - struct snowflakes * roles; - - - bool mute; - - - bool deaf; - - - u64snowflake channel_id; - - - u64unix_ms communication_disabled_until; - -}; -struct discord_modify_current_member { - char * reason; - - char * nick; - -}; -struct discord_modify_current_user_nick { - char * reason; - - char * nick; - -}; -struct discord_add_guild_member_role { - char * reason; -}; -struct discord_remove_guild_member_role { - char * reason; -}; -struct discord_remove_guild_member { - char * reason; -}; -struct discord_create_guild_ban { - char * reason; - - int delete_message_days; - -}; -struct discord_remove_guild_ban { - char * reason; -}; -struct discord_create_guild_role { - char * reason; - char * name; - u64bitmask permissions; - int color; - bool hoist; - char * icon; - char * unicode_emoji; - bool mentionable; -}; -struct discord_modify_guild_role_position { - u64snowflake id; - - int position; - -}; -struct discord_modify_guild_role_positions { int size; - struct discord_modify_guild_role_position *array; -int realsize; }; -struct discord_modify_guild_role { - char * reason; - char * name; - u64bitmask permissions; - int color; - bool hoist; - char * icon; - char * unicode_emoji; - bool mentionable; -}; -struct discord_delete_guild_role { - char * reason; -}; -struct discord_get_guild_prune_count { - - int days; - - struct snowflakes * include_roles; -}; -struct discord_begin_guild_prune { - char * reason; - - int days; - - bool compute_prune_count; - struct snowflakes * include_roles; -}; -struct discord_delete_guild_integrations { - char * reason; - - int days; - - struct snowflakes * include_roles; -}; -struct discord_get_guild_widget_image { - - char * style; - -}; -struct discord_modify_guild_welcome_screen { - char * reason; - bool enabled; - struct discord_welcome_screen_channels * welcome_channels; - - char * description; - -}; -struct discord_modify_current_user_voice_state { - u64snowflake channel_id; - bool suppress; - - u64unix_ms request_to_speak_timestamp; - -}; -struct discord_modify_user_voice_state { - u64snowflake channel_id; - bool suppress; -}; -enum discord_guild_scheduled_event_privacy_level { - DISCORD_GUILD_SCHEDULED_EVENT_GUILD_ONLY = 2 -}; -enum discord_guild_scheduled_event_entity_types { - DISCORD_GUILD_SCHEDULED_EVENT_ENTITY_STAGE_INSTANCE = 1, - DISCORD_GUILD_SCHEDULED_EVENT_ENTITY_VOICE = 2, - DISCORD_GUILD_SCHEDULED_EVENT_ENTITY_EXTERNAL = 3 -}; -enum discord_guild_scheduled_event_status { - DISCORD_GUILD_SCHEDULED_EVENT_SCHEDULED = 1, - DISCORD_GUILD_SCHEDULED_EVENT_ACTIVE = 2, - DISCORD_GUILD_SCHEDULED_EVENT_COMPLETED = 3, - DISCORD_GUILD_SCHEDULED_EVENT_CANCELED = 4 -}; -struct discord_guild_scheduled_event { - u64snowflake id; - u64snowflake guild_id; - u64snowflake channel_id; - u64snowflake creator_id; - char * name; - char * description; - u64unix_ms scheduled_start_time; - u64unix_ms scheduled_end_time; - - enum discord_guild_scheduled_event_privacy_level privacy_level; - - - enum discord_guild_scheduled_event_status status; - - - enum discord_guild_scheduled_event_entity_types entity_type; - - u64snowflake entity_id; - - struct discord_guild_scheduled_event_entity_metadata * entity_metadata; - - - struct discord_user * creator; - - int user_count; - char * image; -}; -struct discord_guild_scheduled_event_entity_metadata { - - char * location; - -}; -struct discord_guild_scheduled_events { int size; - struct discord_guild_scheduled_event *array; -int realsize; }; -struct discord_guild_scheduled_event_user { - u64snowflake guild_scheduled_event_id; - - struct discord_user * user; - - - struct discord_guild_member * member; - -}; -struct discord_guild_scheduled_event_users { int size; - struct discord_guild_scheduled_event_user *array; -int realsize; }; -struct discord_list_guild_scheduled_events { - bool with_user_count; -}; -struct discord_create_guild_scheduled_event { - char * reason; - - u64snowflake channel_id; - - - struct discord_guild_scheduled_event_entity_metadata * entity_metadata; - - char * name; - - enum discord_guild_scheduled_event_privacy_level privacy_level; - - - u64unix_ms scheduled_start_time; - - - u64unix_ms scheduled_end_time; - - - char * description; - - - enum discord_guild_scheduled_event_entity_types entity_type; - - - char * image; - -}; -struct discord_get_guild_scheduled_event { - bool with_user_count; -}; -struct discord_modify_guild_scheduled_event { - char * reason; - - u64snowflake channel_id; - - - struct discord_guild_scheduled_event_entity_metadata * entity_metadata; - - char * name; - - u64unix_ms scheduled_start_time; - - - u64unix_ms scheduled_end_time; - - - char * description; - - - enum discord_guild_scheduled_event_entity_types entity_type; - - - enum discord_guild_scheduled_event_status status; - - - char * image; - -}; -struct discord_get_guild_scheduled_event_users { - int limit; - bool with_member; - - u64snowflake before; - - - u64snowflake after; - -}; -struct discord_guild_template { - char * code; - char * name; - char * description; - int usage_count; - u64snowflake creator_id; - struct discord_user * creator; - u64unix_ms created_at; - u64unix_ms updated_at; - u64snowflake source_guild_id; - struct discord_guild * serialized_source_guild; - bool is_dirty; -}; -struct discord_guild_templates { int size; - struct discord_guild_template *array; -int realsize; }; -struct discord_create_guild_from_guild_template { - char * name; - - char * icon; - -}; -struct discord_create_guild_template { - char * name; - - char * description; - -}; -struct discord_modify_guild_template { - - char * name; - - - char * description; - -}; -enum discord_privacy_level { - DISCORD_PRIVACY_PUBLIC = 1, - DISCORD_PRIVACY_GUILD_ONLY = 2 -}; -struct discord_stage_instance { - u64snowflake id; - u64snowflake guild_id; - u64snowflake channel_id; - char * topic; - - enum discord_privacy_level privacy_level; - - bool discoverable_disabled; -}; -struct discord_stage_instances { int size; - struct discord_stage_instance *array; -int realsize; }; -struct discord_create_stage_instance { - char * reason; - u64snowflake channel_id; - char * topic; - - enum discord_privacy_level privacy_level; - -}; -struct discord_modify_stage_instance { - char * reason; - char * topic; - - enum discord_privacy_level privacy_level; - -}; -struct discord_delete_stage_instance { - char * reason; -}; -enum discord_sticker_types { - DISCORD_STICKER_STANDARD = 1, - DISCORD_STICKER_GUILD = 2 -}; -enum discord_sticker_format_types { - DISCORD_STICKER_FORMAT_PNG = 1, - DISCORD_STICKER_FORMAT_APNG = 2, - DISCORD_STICKER_FORMAT_LOTTIE = 3 -}; -struct discord_sticker { - u64snowflake id; - - u64snowflake pack_id; - - char * name; - char * description; - char * tags; - - enum discord_sticker_types type; - - - enum discord_sticker_format_types format_type; - - bool available; - - u64snowflake guild_id; - - - struct discord_user * user; - - int sort_value; -}; -struct discord_stickers { int size; - struct discord_sticker *array; -int realsize; }; -struct discord_sticker_item { - u64snowflake id; - char * name; - - enum discord_sticker_format_types format_type; - -}; -struct discord_sticker_items { int size; - struct discord_sticker_item *array; -int realsize; }; -struct discord_sticker_pack { - u64snowflake id; - - struct discord_stickers * stickers; - - char * name; - u64snowflake sku_id; - - u64snowflake cover_sticker_id; - - char * description; - - u64snowflake banner_asset_id; - -}; -struct discord_sticker_packs { int size; - struct discord_sticker_pack *array; -int realsize; }; -struct discord_list_nitro_sticker_packs { - struct discord_sticker_packs * sticker_packs; -}; -struct discord_create_guild_sticker { - char * reason; - char * name; - char * description; - char * tags; - struct discord_attachment * file; -}; -struct discord_modify_guild_sticker { - char * reason; - char * name; - char * description; - char * tags; -}; -struct discord_delete_guild_sticker { - char * reason; -}; -#define DISCORD_USER_NONE 0 -#define DISCORD_USER_STAFF 1 << 0 -#define DISCORD_USER_PARTNER 1 << 1 -#define DISCORD_USER_HYPESQUAD 1 << 2 -#define DISCORD_USER_BUG_HUNTER_LEVEL_1 1 << 3 -#define DISCORD_USER_HYPESQUAD_ONLINE_HOUSE_1 1 << 6 -#define DISCORD_USER_HYPESQUAD_ONLINE_HOUSE_2 1 << 7 -#define DISCORD_USER_HYPESQUAD_ONLINE_HOUSE_3 1 << 8 -#define DISCORD_USER_PREMIUM_EARLY_SUPPORTER 1 << 9 -#define DISCORD_USER_TEAM_PSEUDO_USER 1 << 10 -#define DISCORD_USER_BUG_HUNTER_LEVEL_2 1 << 14 -#define DISCORD_USER_VERIFIED_BOT 1 << 16 -#define DISCORD_USER_VERIFIED_DEVELOPER 1 << 17 -#define DISCORD_USER_CERTIFIED_MODERATOR 1 << 18 -#define DISCORD_USER_BOT_HTTP_INTERACTIONS 1 << 19 -enum discord_premium_types { - DISCORD_PREMIUM_NONE = 0, - DISCORD_PREMIUM_NITRO_CLASSIC = 1, - DISCORD_PREMIUM_NITRO = 2 -}; -enum discord_visibility_types { - DISCORD_VISIBILITY_NONE = 0, - DISCORD_VISIBILITY_EVERYONE = 1 -}; -struct discord_user { - u64snowflake id; - char * username; - char * discriminator; - char * avatar; - bool bot; - bool System; - bool mfa_enabled; - char * banner; - int accent_color; - char * locale; - bool verified; - char * email; - u64bitmask flags; - enum discord_premium_types premium_type; - u64bitmask public_flags; -}; -struct discord_users { int size; - struct discord_user *array; -int realsize; }; -struct discord_connection { - u64snowflake id; - char * name; - char * type; - bool revoked; - - struct discord_integrations * integrations; - - bool verified; - bool friend_sync; - bool show_activity; - enum discord_visibility_types visibility; -}; -struct discord_connections { int size; - struct discord_connection *array; -int realsize; }; -struct discord_modify_current_user { - - char * username; - - - char * avatar; - -}; -struct discord_get_current_user_guilds { - - u64snowflake before; - - - u64snowflake after; - - - int limit; - -}; -struct discord_create_dm { - - u64snowflake recipient_id; - -}; -struct discord_create_group_dm { - - struct snowflakes * access_tokens; - - - struct strings * nicks; - -}; -struct discord_voice_state { - u64snowflake guild_id; - u64snowflake channel_id; - u64snowflake user_id; - struct discord_guild_member * member; - char * session_id; - bool deaf; - bool mute; - bool self_deaf; - bool self_mute; - bool self_stream; - bool self_video; - bool suppress; - - u64unix_ms request_to_speak_timestamp; - -}; -struct discord_voice_states { int size; - struct discord_voice_state *array; -int realsize; }; -struct discord_voice_region { - char * id; - char * name; - bool optimal; - bool deprecated; - bool custom; -}; -struct discord_voice_regions { int size; - struct discord_voice_region *array; -int realsize; }; -enum discord_webhook_types { - DISCORD_WEBHOOK_INCOMING = 1, - DISCORD_WEBHOOK_CHANNEL_FOLLOWER = 2, - DISCORD_WEBHOOK_APPLICATION = 3 -}; -struct discord_webhook { - u64snowflake id; - - enum discord_webhook_types type; - - u64snowflake guild_id; - u64snowflake channel_id; - - struct discord_user * user; - - char * name; - char * token; - u64snowflake application_id; - - struct discord_channel * source_channel; - - char * url; -}; -struct discord_webhooks { int size; - struct discord_webhook *array; -int realsize; }; -struct discord_create_webhook { - char * reason; - char * name; - - char * avatar; - -}; -struct discord_modify_webhook { - char * reason; - char * name; - - char * avatar; - - u64snowflake channel_id; -}; -struct discord_delete_webhook { - char * reason; -}; -struct discord_modify_webhook_with_token { - char * name; - - char * avatar; - -}; -struct discord_execute_webhook { - bool wait; - u64snowflake thread_id; - char * content; - char * username; - char * avatar_url; - bool tts; - - struct discord_embeds * embeds; - - - struct discord_allowed_mention * allowed_mentions; - - - struct discord_components * components; - - - struct discord_attachments * attachments; - - - u64bitmask flags; - -}; -struct discord_get_webhook_message { - - u64snowflake thread_id; - -}; -struct discord_edit_webhook_message { - u64snowflake thread_id; - char * content; - - struct discord_embeds * embeds; - - - struct discord_allowed_mention * allowed_mentions; - - - struct discord_components * components; - - - struct discord_attachments * attachments; - -}; -struct discord_delete_webhook_message { - - u64snowflake thread_id; - -}; -#define DISCORD_GATEWAY_GUILDS 1 << 0 -#define DISCORD_GATEWAY_GUILD_MEMBERS 1 << 1 -#define DISCORD_GATEWAY_GUILD_BANS 1 << 2 -#define DISCORD_GATEWAY_GUILD_EMOJIS_AND_STICKERS 1 << 3 -#define DISCORD_GATEWAY_GUILD_INTEGRATIONS 1 << 4 -#define DISCORD_GATEWAY_GUILD_WEBHOOKS 1 << 5 -#define DISCORD_GATEWAY_GUILD_INVITES 1 << 6 -#define DISCORD_GATEWAY_GUILD_VOICE_STATES 1 << 7 -#define DISCORD_GATEWAY_GUILD_PRESENCES 1 << 8 -#define DISCORD_GATEWAY_GUILD_MESSAGES 1 << 9 -#define DISCORD_GATEWAY_GUILD_MESSAGE_REACTIONS 1 << 10 -#define DISCORD_GATEWAY_GUILD_MESSAGE_TYPING 1 << 11 -#define DISCORD_GATEWAY_DIRECT_MESSAGES 1 << 12 -#define DISCORD_GATEWAY_DIRECT_MESSAGE_REACTIONS 1 << 13 -#define DISCORD_GATEWAY_DIRECT_MESSAGE_TYPING 1 << 14 -#define DISCORD_GATEWAY_MESSAGE_CONTENT 1 << 15 -#define DISCORD_GATEWAY_GUILD_SCHEDULED_EVENTS 1 << 16 -#define DISCORD_GATEWAY_AUTO_MODERATION_CONFIGURATION 1 << 20 -#define DISCORD_GATEWAY_AUTO_MODERATION_EXECUTION 1 << 21 -#define DISCORD_ACTIVITY_INSTANCE 1 << 0 -#define DISCORD_ACTIVITY_JOIN 1 << 1 -#define DISCORD_ACTIVITY_SPECTATE 1 << 2 -#define DISCORD_ACTIVITY_JOIN_REQUEST 1 << 3 -#define DISCORD_ACTIVITY_SYNC 1 << 4 -#define DISCORD_ACTIVITY_PLAY 1 << 5 -#define DISCORD_ACTIVITY_PARTY_PRIVACY_FRIENDS 1 << 6 -#define DISCORD_ACTIVITY_PARTY_PRIVACY_VOICE_CHANNEL 1 << 7 -#define DISCORD_ACTIVITY_EMBEDDED 1 << 8 -enum discord_gateway_close_opcodes { - DISCORD_GATEWAY_CLOSE_REASON_UNKNOWN_ERROR = 4000, - DISCORD_GATEWAY_CLOSE_REASON_UNKNOWN_OPCODE = 4001, - DISCORD_GATEWAY_CLOSE_REASON_DECODE_ERROR = 4002, - DISCORD_GATEWAY_CLOSE_REASON_NOT_AUTHENTICATED = 4003, - DISCORD_GATEWAY_CLOSE_REASON_AUTHENTICATION_FAILED = 4004, - DISCORD_GATEWAY_CLOSE_REASON_ALREADY_AUTHENTICATED = 4005, - DISCORD_GATEWAY_CLOSE_REASON_INVALID_SEQUENCE = 4007, - DISCORD_GATEWAY_CLOSE_REASON_RATE_LIMITED = 4008, - DISCORD_GATEWAY_CLOSE_REASON_SESSION_TIMED_OUT = 4009, - DISCORD_GATEWAY_CLOSE_REASON_INVALID_SHARD = 4010, - DISCORD_GATEWAY_CLOSE_REASON_SHARDING_REQUIRED = 4011, - DISCORD_GATEWAY_CLOSE_REASON_INVALID_API_VERSION = 4012, - DISCORD_GATEWAY_CLOSE_REASON_INVALID_INTENTS = 4013, - DISCORD_GATEWAY_CLOSE_REASON_DISALLOWED_INTENTS = 4014, - DISCORD_GATEWAY_CLOSE_REASON_RECONNECT = 4900 -}; -enum discord_gateway_opcodes { - DISCORD_GATEWAY_DISPATCH = 0, - DISCORD_GATEWAY_HEARTBEAT = 1, - DISCORD_GATEWAY_IDENTIFY = 2, - DISCORD_GATEWAY_PRESENCE_UPDATE = 3, - DISCORD_GATEWAY_VOICE_STATE_UPDATE = 4, - DISCORD_GATEWAY_RESUME = 6, - DISCORD_GATEWAY_RECONNECT = 7, - DISCORD_GATEWAY_REQUEST_GUILD_MEMBERS = 8, - DISCORD_GATEWAY_INVALID_SESSION = 9, - DISCORD_GATEWAY_HELLO = 10, - DISCORD_GATEWAY_HEARTBEAT_ACK = 11 -}; -enum discord_activity_types { - DISCORD_ACTIVITY_GAME = 0, - DISCORD_ACTIVITY_STREAMING = 1, - DISCORD_ACTIVITY_LISTENING = 2, - DISCORD_ACTIVITY_WATCHING = 3, - DISCORD_ACTIVITY_CUSTOM = 4, - DISCORD_ACTIVITY_COMPETING = 5 -}; -struct discord_activity { - - char * name; - - enum discord_activity_types type; - - char * url; - - - u64unix_ms created_at; - - - struct discord_activity_timestamps * timestamps; - - - u64snowflake application_id; - - - char * details; - - - char * state; - - - struct discord_activity_emoji * emoji; - - - struct discord_activity_party * party; - - - struct discord_activity_assets * assets; - - - struct discord_activity_secrets * secrets; - - bool instance; - u64bitmask flags; - - struct discord_activity_buttons * buttons; - -}; -struct discord_activities { int size; - struct discord_activity *array; -int realsize; }; -struct discord_activity_timestamps { - u64unix_ms start; - u64unix_ms end; -}; -struct discord_activity_emoji { - char * name; - u64snowflake id; - bool animated; -}; -struct discord_activity_party { - char * id; - struct integers * size; -}; -struct discord_activity_assets { - char * large_image; - char * large_text; - char * small_image; - char * small_text; -}; -struct discord_activity_secrets { - char * join; - char * spectate; - char * match; -}; -struct discord_activity_button { - char * label; - char * url; -}; -struct discord_activity_buttons { int size; - struct discord_activity_button *array; -int realsize; }; -struct discord_presence_update { - - struct discord_user * user; - - - u64snowflake guild_id; - - - char * status; - - - struct discord_client_status * client_status; - - - struct discord_activities * activities; - - - u64unix_ms since; - - bool afk; -}; -struct discord_client_status { - char * desktop; - char * mobile; - char * web; -}; -struct discord_presence_updates { int size; - struct discord_presence_update *array; -int realsize; }; -struct discord_identify { - char * token; - struct discord_identify_connection * properties; - bool compress; - int large_threshold; - - struct integers * shard; - - - struct discord_presence_update * presence; - - u64bitmask intents; -}; -struct discord_identify_connection { - char * os; - char * browser; - char * device; -}; -struct discord_resume { - char * token; - char * session_id; - int seq; -}; -struct discord_request_guild_members { - u64snowflake guild_id; - char * query; - int limit; - bool presences; - - struct snowflakes * user_ids; - - - char * nonce; - -}; -struct discord_update_voice_state { - u64snowflake guild_id; - u64snowflake channel_id; - bool self_mute; - bool self_deaf; -}; -struct discord_ready { - int v; - struct discord_user * user; - struct discord_guilds * guilds; - char * session_id; - struct integers * shard; - struct discord_application * application; -}; -struct discord_auto_moderation_action_execution { - u64snowflake guild_id; - struct discord_auto_moderation_action * action; - enum discord_auto_moderation_trigger_types rule_trigger_type; - u64snowflake user_id; - u64snowflake channel_id; - u64snowflake message_id; - u64snowflake alert_system_message_id; - char * content; - char * matched_keyword; - char * matched_content; -}; -struct discord_thread_list_sync { - u64snowflake guild_id; - struct snowflakes * channel_ids; - struct discord_channels * threads; - struct discord_thread_members * members; -}; -struct discord_thread_members_update { - u64snowflake id; - u64snowflake guild_id; - int member_count; - struct discord_thread_members * added_members; - struct snowflakes * removed_member_ids; -}; -struct discord_channel_pins_update { - u64snowflake guild_id; - u64snowflake channel_id; - u64unix_ms last_pin_timestamp; -}; -struct discord_guild_ban_add { - u64snowflake guild_id; - struct discord_user * user; -}; -struct discord_guild_ban_remove { - u64snowflake guild_id; - struct discord_user * user; -}; -struct discord_guild_emojis_update { - u64snowflake guild_id; - struct discord_emojis * emojis; -}; -struct discord_guild_stickers_update { - u64snowflake guild_id; - struct discord_stickers * stickers; -}; -struct discord_guild_integrations_update { - u64snowflake guild_id; -}; -struct discord_guild_member_remove { - u64snowflake guild_id; - struct discord_user * user; -}; -struct discord_guild_member_update { - u64snowflake guild_id; - struct snowflakes * roles; - struct discord_user * user; - char * nick; - char * avatar; - u64unix_ms joined_at; - u64unix_ms premium_since; - bool deaf; - bool mute; - bool pending; - u64unix_ms communication_disabled_until; -}; -struct discord_guild_members_chunk { - u64snowflake guild_id; - struct discord_guild_members * members; - int chunk_index; - int chunk_count; - struct snowflakes * not_found; - struct discord_presence_updates * presences; - char * nonce; -}; -struct discord_guild_role_create { - u64snowflake guild_id; - struct discord_role * role; -}; -struct discord_guild_role_update { - u64snowflake guild_id; - struct discord_role * role; -}; -struct discord_guild_role_delete { - u64snowflake guild_id; - u64snowflake role_id; -}; -struct discord_guild_scheduled_event_user_add { - u64snowflake guild_scheduled_event_id; - u64snowflake user_id; - u64snowflake guild_id; -}; -struct discord_guild_scheduled_event_user_remove { - u64snowflake guild_scheduled_event_id; - u64snowflake user_id; - u64snowflake guild_id; -}; -struct discord_integration_delete { - u64snowflake id; - u64snowflake guild_id; - u64snowflake application_id; -}; -struct discord_invite_create { - u64snowflake channel_id; - char * code; - u64unix_ms created_at; - u64snowflake guild_id; - struct discord_user * inviter; - int max_age; - int max_uses; - enum discord_invite_target_types target_type; - struct discord_user * target_user; - struct discord_application * target_application; - bool temporary; - int uses; -}; -struct discord_invite_delete { - u64snowflake channel_id; - u64snowflake guild_id; - char * code; -}; -struct discord_message_delete { - u64snowflake id; - u64snowflake channel_id; - u64snowflake guild_id; -}; -struct discord_message_delete_bulk { - struct snowflakes * ids; - u64snowflake channel_id; - u64snowflake guild_id; -}; -struct discord_message_reaction_add { - u64snowflake user_id; - u64snowflake channel_id; - u64snowflake message_id; - u64snowflake guild_id; - struct discord_guild_member * member; - struct discord_emoji * emoji; -}; -struct discord_message_reaction_remove { - u64snowflake user_id; - u64snowflake channel_id; - u64snowflake message_id; - u64snowflake guild_id; - struct discord_emoji * emoji; -}; -struct discord_message_reaction_remove_all { - u64snowflake channel_id; - u64snowflake message_id; - u64snowflake guild_id; -}; -struct discord_message_reaction_remove_emoji { - u64snowflake channel_id; - u64snowflake guild_id; - u64snowflake message_id; - struct discord_emoji * emoji; -}; -struct discord_typing_start { - u64snowflake channel_id; - u64snowflake guild_id; - u64snowflake user_id; - u64unix_ms timestamp; - struct discord_guild_member * member; -}; -struct discord_voice_server_update { - char * token; - u64snowflake guild_id; - char * endpoint; -}; -struct discord_webhooks_update { - u64snowflake guild_id; - u64snowflake channel_id; -}; -struct discord_session_start_limit { - int total; - int remaining; - int reset_after; - int max_concurrency; -}; -struct discord_auth_response { - struct discord_application * application; - struct strings * scopes; - u64unix_ms expires; - struct discord_user * user; -}; -#define DISCORD_PERM_CREATE_INSTANT_INVITE 1 << 0 -#define DISCORD_PERM_KICK_MEMBERS 1 << 1 -#define DISCORD_PERM_BAN_MEMBERS 1 << 2 -#define DISCORD_PERM_ADMINISTRATOR 1 << 3 -#define DISCORD_PERM_MANAGE_CHANNELS 1 << 4 -#define DISCORD_PERM_MANAGE_GUILD 1 << 5 -#define DISCORD_PERM_ADD_REACTIONS 1 << 6 -#define DISCORD_PERM_VIEW_AUDIT_LOG 1 << 7 -#define DISCORD_PERM_PRIORITY_SPEAKER 1 << 8 -#define DISCORD_PERM_STREAM 1 << 9 -#define DISCORD_PERM_VIEW_CHANNEL 1 << 10 -#define DISCORD_PERM_SEND_MESSAGES 1 << 11 -#define DISCORD_PERM_SEND_TTS_MESSAGES 1 << 12 -#define DISCORD_PERM_MANAGE_MESSAGES 1 << 13 -#define DISCORD_PERM_EMBED_LINKS 1 << 14 -#define DISCORD_PERM_ATTACH_FILES 1 << 15 -#define DISCORD_PERM_READ_MESSAGE_HISTORY 1 << 16 -#define DISCORD_PERM_MENTION_EVERYONE 1 << 17 -#define DISCORD_PERM_USE_EXTERNAL_EMOJIS 1 << 18 -#define DISCORD_PERM_VIEW_GUILD_INSIGHTS 1 << 19 -#define DISCORD_PERM_CONNECT 1 << 20 -#define DISCORD_PERM_SPEAK 1 << 21 -#define DISCORD_PERM_MUTE_MEMBERS 1 << 22 -#define DISCORD_PERM_DEAFEN_MEMBERS 1 << 23 -#define DISCORD_PERM_MOVE_MEMBERS 1 << 24 -#define DISCORD_PERM_USE_VAD 1 << 25 -#define DISCORD_PERM_CHANGE_NICKNAME 1 << 26 -#define DISCORD_PERM_MANAGE_NICKNAMES 1 << 27 -#define DISCORD_PERM_MANAGE_ROLES 1 << 28 -#define DISCORD_PERM_MANAGE_WEBHOOKS 1 << 29 -#define DISCORD_PERM_MANAGE_EMOJIS_AND_STICKERS 1 << 30 -#define DISCORD_PERM_USE_APPLICATION_COMMANDS 1 << 31 -#define DISCORD_PERM_REQUEST_TO_SPEAK 1 << 32 -#define DISCORD_PERM_MANAGE_EVENTS 1 << 33 -#define DISCORD_PERM_MANAGE_THREADS 1 << 34 -#define DISCORD_PERM_CREATE_PUBLIC_THREADS 1 << 35 -#define DISCORD_PERM_CREATE_PRIVATE_THREADS 1 << 36 -#define DISCORD_PERM_USE_EXTERNAL_STICKERS 1 << 37 -#define DISCORD_PERM_SEND_MESSAGES_IN_THREADS 1 << 38 -#define DISCORD_PERM_START_EMBEDDED_ACTIVITIES 1 << 39 -#define DISCORD_PERM_MODERATE_MEMBERS 1 << 40 -struct discord_role { - u64snowflake id; - char * name; - int color; - bool hoist; - - char * icon; - - - char * unicode_emoji; - - int position; - u64bitmask permissions; - bool managed; - bool mentionable; - - struct discord_role_tag * tags; - -}; -struct discord_roles { int size; - struct discord_role *array; -int realsize; }; -struct discord_role_tag { - - u64snowflake bot_id; - - - u64snowflake integration_id; - - bool premium_subscribe; -}; -enum discord_membership_state { - DISCORD_MEMBERSHIP_INVITED = 1, - DISCORD_MEMBERSHIP_ACCEPTED = 2 -}; -struct discord_team { - char * icon; - u64snowflake id; - - struct discord_team_members * members; - - char * name; - u64snowflake owner_user_id; -}; -struct discord_team_member { - enum discord_membership_state membership_state; - - struct bitmasks * permissions; - - u64snowflake team_id; - - struct discord_user * user; - -}; -struct discord_team_members { int size; - struct discord_team_member *array; -int realsize; }; -#define DISCORD_VOICE_MICROPHONE 1 << 0 -#define DISCORD_VOICE_SOUNDSHARE 1 << 1 -#define DISCORD_VOICE_PRIORITY 1 << 2 -enum discord_voice_close_opcodes { - DISCORD_VOICE_CLOSE_REASON_UNKNOWN_OPCODE = 4001, - DISCORD_VOICE_CLOSE_REASON_DECODE_ERROR = 4002, - DISCORD_VOICE_CLOSE_REASON_NOT_AUTHENTICATED = 4003, - DISCORD_VOICE_CLOSE_REASON_AUTHENTICATION_FAILED = 4004, - DISCORD_VOICE_CLOSE_REASON_ALREADY_AUTHENTICATED = 4005, - DISCORD_VOICE_CLOSE_REASON_INVALID_SESSION = 4006, - DISCORD_VOICE_CLOSE_REASON_SESSION_TIMED_OUT = 4009, - DISCORD_VOICE_CLOSE_REASON_SERVER_NOT_FOUND = 4011, - DISCORD_VOICE_CLOSE_REASON_UNKNOWN_PROTOCOL = 4012, - DISCORD_VOICE_CLOSE_REASON_DISCONNECTED = 4014, - DISCORD_VOICE_CLOSE_REASON_SERVER_CRASH = 4015, - DISCORD_VOICE_CLOSE_REASON_UNKNOWN_ENCRYPTION_MODE = 4016 -}; -enum discord_voice_opcodes { - DISCORD_VOICE_IDENTIFY = 0, - DISCORD_VOICE_SELECT_PROTOCOL = 1, - DISCORD_VOICE_READY = 2, - DISCORD_VOICE_HEARTBEAT = 3, - DISCORD_VOICE_SESSION_DESCRIPTION = 4, - DISCORD_VOICE_SPEAKING = 5, - DISCORD_VOICE_HEARTBEAT_ACK = 6, - DISCORD_VOICE_RESUME = 7, - DISCORD_VOICE_HELLO = 8, - DISCORD_VOICE_RESUMED = 9, - DISCORD_VOICE_CLIENT_DISCONNECT = 13, - DISCORD_VOICE_CODEC = 14 -}; -enum discord_application_command_types { - DISCORD_APPLICATION_CHAT_INPUT = 1, - DISCORD_APPLICATION_USER = 2, - DISCORD_APPLICATION_MESSAGE = 3 -}; -enum discord_application_command_option_types { - DISCORD_APPLICATION_OPTION_SUB_COMMAND = 1, - DISCORD_APPLICATION_OPTION_SUB_COMMAND_GROUP = 2, - DISCORD_APPLICATION_OPTION_STRING = 3, - DISCORD_APPLICATION_OPTION_INTEGER = 4, - DISCORD_APPLICATION_OPTION_BOOLEAN = 5, - DISCORD_APPLICATION_OPTION_USER = 6, - DISCORD_APPLICATION_OPTION_CHANNEL = 7, - DISCORD_APPLICATION_OPTION_ROLE = 8, - DISCORD_APPLICATION_OPTION_MENTIONABLE = 9, - DISCORD_APPLICATION_OPTION_NUMBER = 10, - DISCORD_APPLICATION_OPTION_ATTACHMENT = 11 -}; -enum discord_application_command_permission_types { - DISCORD_APPLICATION_PERMISSION_ROLE = 1, - DISCORD_APPLICATION_PERMISSION_USER = 2, - DISCORD_APPLICATION_PERMISSION_CHANNEL = 3 -}; -struct discord_application_command { - - u64snowflake id; - - - enum discord_application_command_types type; - - - u64snowflake application_id; - - - u64snowflake guild_id; - - - char * name; - - - char * description; - - - struct discord_application_command_options * options; - - - u64bitmask default_member_permissions; - - - bool dm_permission; - - - bool default_permission; - - - u64snowflake version; - -}; -struct discord_application_commands { int size; - struct discord_application_command *array; -int realsize; }; -struct discord_application_command_option { - enum discord_application_command_option_types type; - char * name; - char * description; - - bool required; - - - struct discord_application_command_option_choices * choices; - - - struct discord_application_command_options * options; - - - struct integers * channel_types; - - - char * min_value; - - - char * max_value; - - - bool autocomplete; - -}; -struct discord_application_command_options { int size; - struct discord_application_command_option *array; -int realsize; }; -struct discord_application_command_option_choice { - char * name; - json_char * value; -}; -struct discord_application_command_option_choices { int size; - struct discord_application_command_option_choice *array; -int realsize; }; -struct discord_application_command_interaction_data_option { - char * name; - enum discord_application_command_option_types type; - - json_char * value; - - - struct discord_application_command_interaction_data_options * options; - - bool focused; -}; -struct discord_application_command_interaction_data_options { int size; - struct discord_application_command_interaction_data_option *array; -int realsize; }; -struct discord_guild_application_command_permission { - u64snowflake id; - u64snowflake application_id; - u64snowflake guild_id; - struct discord_application_command_permissions * permissions; -}; -struct discord_guild_application_command_permissions { int size; - struct discord_guild_application_command_permission *array; -int realsize; }; -struct discord_application_command_permission { - u64snowflake id; - enum discord_application_command_permission_types type; - bool permission; -}; -struct discord_application_command_permissions { int size; - struct discord_application_command_permission *array; -int realsize; }; -struct discord_create_global_application_command { - char * name; - char * description; - - struct discord_application_command_options * options; - - - u64bitmask default_member_permissions; - - bool dm_permission; - bool default_permission; - - enum discord_application_command_types type; - -}; -struct discord_edit_global_application_command { - char * name; - char * description; - - struct discord_application_command_options * options; - - - u64bitmask default_member_permissions; - - bool dm_permission; - bool default_permission; -}; -struct discord_create_guild_application_command { - char * name; - char * description; - - struct discord_application_command_options * options; - - - u64bitmask default_member_permissions; - - bool dm_permission; - bool default_permission; - - enum discord_application_command_types type; - -}; -struct discord_edit_guild_application_command { - char * name; - char * description; - - struct discord_application_command_options * options; - - - u64bitmask default_member_permissions; - - bool default_permission; -}; -struct discord_bulk_overwrite_guild_application_commands { - u64snowflake id; - char * name; - struct strings * name_localizations; - char * description; - struct strings * description_localizations; - - struct discord_application_command_options * options; - - - u64bitmask default_member_permissions; - - bool dm_permission; - - enum discord_application_command_types type; - -}; -enum discord_component_types { - DISCORD_COMPONENT_ACTION_ROW = 1, - DISCORD_COMPONENT_BUTTON = 2, - DISCORD_COMPONENT_SELECT_MENU = 3, - DISCORD_COMPONENT_TEXT_INPUT = 4, - DISCORD_COMPONENT_USER_SELECT = 5, - DISCORD_COMPONENT_ROLE_SELECT = 6, - DISCORD_COMPONENT_MENTION_SELECT = 7, - DISCORD_COMPONENT_CHANNEL_SELECT = 8, - DISCORD_COMPONENT_SECTION = 9, - DISCORD_COMPONENT_TEXT_DISPLAY = 10, - DISCORD_COMPONENT_THUMBNAIL = 11, - DISCORD_COMPONENT_MEDIA_GALLERY = 12, - DISCORD_COMPONENT_FILE = 13, - DISCORD_COMPONENT_SEPARATOR = 14, - DISCORD_COMPONENT_CONTENT_INVENTORY_ENTRY = 16, - DISCORD_COMPONENT_CONTAINER = 17 -}; -enum discord_component_styles { - DISCORD_BUTTON_PRIMARY = 1, - DISCORD_BUTTON_SECONDARY = 2, - DISCORD_BUTTON_SUCCESS = 3, - DISCORD_BUTTON_DANGER = 4, - DISCORD_BUTTON_LINK = 5, - DISCORD_TEXT_SHORT = 1, - DISCORD_TEXT_PARAGRAPH = 2 -}; -enum discord_component_spacing { - DISCORD_COMPONENT_SPACING_SMALL = 1, - DISCORD_COMPONENT_SPACING_LARGE = 2 -}; -struct discord_component { - - u64snowflake id; - - - enum discord_component_types type; - - char * custom_id; - - u64snowflake sku_id; - - - enum discord_component_styles style; - - char * label; - - struct discord_emoji * emoji; - - char * url; - - struct discord_select_options * options; - - char * placeholder; - - int min_values; - - - int max_values; - - - struct discord_components * components; - - int min_length; - int max_length; - bool required; - char * value; - - bool disabled; - - - struct discord_component * accessory; - - - struct discord_component_media * media; - - - char * content; - - - char * description; - - bool spoiler; - - struct discord_component_items * items; - - - struct discord_component_media * file; - - - bool divider; - - enum discord_component_spacing spacing; - - int color; - -}; -struct discord_components { int size; - struct discord_component *array; -int realsize; }; -struct discord_select_option { - char * label; - char * value; - char * description; - - struct discord_emoji * emoji; - - bool Default; -}; -struct discord_select_options { int size; - struct discord_select_option *array; -int realsize; }; -struct discord_component_media { - char * url; -}; -struct discord_component_item { - - struct discord_component_media * media; - - - char * description; - - bool spoiler; -}; -struct discord_component_items { int size; - struct discord_component_item *array; -int realsize; }; -enum discord_interaction_types { - DISCORD_INTERACTION_PING = 1, - DISCORD_INTERACTION_APPLICATION_COMMAND = 2, - DISCORD_INTERACTION_MESSAGE_COMPONENT = 3, - DISCORD_INTERACTION_APPLICATION_COMMAND_AUTOCOMPLETE = 4, - DISCORD_INTERACTION_MODAL_SUBMIT = 5 -}; -enum discord_interaction_callback_types { - DISCORD_INTERACTION_PONG = 1, - DISCORD_INTERACTION_CHANNEL_MESSAGE_WITH_SOURCE = 4, - DISCORD_INTERACTION_DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE = 5, - DISCORD_INTERACTION_DEFERRED_UPDATE_MESSAGE = 6, - DISCORD_INTERACTION_UPDATE_MESSAGE = 7, - DISCORD_INTERACTION_APPLICATION_COMMAND_AUTOCOMPLETE_RESULT = 8, - DISCORD_INTERACTION_MODAL = 9 -}; -struct discord_interaction { - u64snowflake id; - u64snowflake application_id; - enum discord_interaction_types type; - struct discord_interaction_data * data; - u64snowflake guild_id; - u64snowflake channel_id; - struct discord_guild_member * member; - struct discord_user * user; - char * token; - int version; - struct discord_message * message; - char * locale; - char * guild_locale; -}; -struct discord_interaction_data { - u64snowflake id; - char * name; - enum discord_application_command_types type; - struct discord_resolved_data * resolved; - struct discord_application_command_interaction_data_options * options; - char * custom_id; - enum discord_component_types component_type; - struct strings * values; - u64snowflake target_id; - struct discord_components * components; -}; -struct discord_resolved_data { - json_char * users; - json_char * members; - json_char * roles; - json_char * channels; - json_char * messages; - json_char * attachments; -}; -struct discord_message_interaction { - u64snowflake id; - enum discord_interaction_types type; - char * name; - struct discord_user * user; - struct discord_guild_member * member; -}; -struct discord_interaction_response { - enum discord_interaction_callback_types type; - - struct discord_interaction_callback_data * data; - -}; -struct discord_interaction_callback_data { - - struct discord_components * components; - - - bool tts; - - - char * content; - - - struct discord_embeds * embeds; - - - u64bitmask flags; - - - struct discord_attachments * attachments; - - struct discord_application_command_option_choices * choices; - char * custom_id; - char * title; -}; -struct discord_edit_original_interaction_response { - u64snowflake thread_id; - char * content; - - struct discord_embeds * embeds; - - - struct discord_allowed_mention * allowed_mentions; - - - struct discord_components * components; - - - struct discord_attachments * attachments; - -}; -struct discord_create_followup_message { - bool wait; - u64snowflake thread_id; - char * avatar_url; - bool tts; - - struct discord_embeds * embeds; - - - struct discord_allowed_mention * allowed_mentions; - - - struct discord_components * components; - - - struct discord_attachments * attachments; - - - u64bitmask flags; - -}; -struct discord_edit_followup_message { - u64snowflake thread_id; - char * content; - - struct discord_embeds * embeds; - - - struct discord_allowed_mention * allowed_mentions; - - - struct discord_components * components; - - - struct discord_attachments * attachments; - -}; -#include -#include -#define JSMN_STRICT -#define JSMN_HEADER -#include "jsmn.h" -#include "jsmn-find.h" -#define JSONB_HEADER -#include "json-build.h" -#include -#include "carray.h" -#include "cog-utils.h" -#include "types.h" -#include "concord-error.h" -void strings_cleanup(struct strings *self); - - -void json_values_cleanup(struct json_values *self); - - -void snowflakes_cleanup(struct snowflakes *self); - - -void bitmasks_cleanup(struct bitmasks *self); - - -void integers_cleanup(struct integers *self); - - - - - - - - - - -void discord_application_init(struct discord_application *self); void discord_application_cleanup(struct discord_application *self); - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_install_params_init(struct discord_install_params *self); void discord_install_params_cleanup(struct discord_install_params *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_audit_log_init(struct discord_audit_log *self); void discord_audit_log_cleanup(struct discord_audit_log *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_auto_moderation_rule_init(struct discord_auto_moderation_rule *self); void discord_auto_moderation_rule_cleanup(struct discord_auto_moderation_rule *self); - - - - - - - - - - - - - - - - -void discord_auto_moderation_rules_cleanup(struct discord_auto_moderation_rules *self); - - -void discord_create_auto_moderation_rule_init(struct discord_create_auto_moderation_rule *self); void discord_create_auto_moderation_rule_cleanup(struct discord_create_auto_moderation_rule *self); - - - - - - - - - - - - - - - - - - - - - - -void discord_modify_auto_moderation_rule_init(struct discord_modify_auto_moderation_rule *self); void discord_modify_auto_moderation_rule_cleanup(struct discord_modify_auto_moderation_rule *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_invite_init(struct discord_invite *self); void discord_invite_cleanup(struct discord_invite *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_invites_cleanup(struct discord_invites *self); - - - - - - - - - - - - - - - - - - - -void discord_get_invite_init(struct discord_get_invite *self); void discord_get_invite_cleanup(struct discord_get_invite *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_channel_init(struct discord_channel *self); void discord_channel_cleanup(struct discord_channel *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_channels_cleanup(struct discord_channels *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_message_init(struct discord_message *self); void discord_message_cleanup(struct discord_message *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_messages_cleanup(struct discord_messages *self); - - -void discord_followed_channel_init(struct discord_followed_channel *self); void discord_followed_channel_cleanup(struct discord_followed_channel *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_thread_member_init(struct discord_thread_member *self); void discord_thread_member_cleanup(struct discord_thread_member *self); - - - - - - - -void discord_thread_members_cleanup(struct discord_thread_members *self); - - - - - - - - - - - - - -void discord_thread_tags_cleanup(struct discord_thread_tags *self); - - -void discord_embed_thumbnail_init(struct discord_embed_thumbnail *self); void discord_embed_thumbnail_cleanup(struct discord_embed_thumbnail *self); - - - - - - - - - - - -void discord_embed_video_init(struct discord_embed_video *self); void discord_embed_video_cleanup(struct discord_embed_video *self); - - - - - - - - - - - - - -void discord_embed_image_init(struct discord_embed_image *self); void discord_embed_image_cleanup(struct discord_embed_image *self); - - - - - - - - - - - -void discord_embed_provider_init(struct discord_embed_provider *self); void discord_embed_provider_cleanup(struct discord_embed_provider *self); - - - - - - - -void discord_embed_author_init(struct discord_embed_author *self); void discord_embed_author_cleanup(struct discord_embed_author *self); - - - - - - - - - - - -void discord_embed_footer_init(struct discord_embed_footer *self); void discord_embed_footer_cleanup(struct discord_embed_footer *self); - - - - - - - - -void discord_embed_field_init(struct discord_embed_field *self); void discord_embed_field_cleanup(struct discord_embed_field *self); - - - - -void discord_embed_fields_cleanup(struct discord_embed_fields *self); - - -void discord_embed_init(struct discord_embed *self); void discord_embed_cleanup(struct discord_embed *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_embeds_cleanup(struct discord_embeds *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_attachments_cleanup(struct discord_attachments *self); - - - - - - - - - - - - - - - - - - - - -void discord_thread_response_body_init(struct discord_thread_response_body *self); void discord_thread_response_body_cleanup(struct discord_thread_response_body *self); - - - - -void discord_modify_channel_init(struct discord_modify_channel *self); void discord_modify_channel_cleanup(struct discord_modify_channel *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_create_message_init(struct discord_create_message *self); void discord_create_message_cleanup(struct discord_create_message *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_edit_message_init(struct discord_edit_message *self); void discord_edit_message_cleanup(struct discord_edit_message *self); - - - - - - - - - - - - - - - - - - -void discord_bulk_delete_messages_init(struct discord_bulk_delete_messages *self); void discord_bulk_delete_messages_cleanup(struct discord_bulk_delete_messages *self); - - - -void discord_edit_channel_permissions_init(struct discord_edit_channel_permissions *self); void discord_edit_channel_permissions_cleanup(struct discord_edit_channel_permissions *self); - - - - - - - - - -void discord_create_channel_invite_init(struct discord_create_channel_invite *self); void discord_create_channel_invite_cleanup(struct discord_create_channel_invite *self); - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_follow_news_channel_init(struct discord_follow_news_channel *self); void discord_follow_news_channel_cleanup(struct discord_follow_news_channel *self); - - - - - - - - - - -void discord_group_dm_add_recipient_init(struct discord_group_dm_add_recipient *self); void discord_group_dm_add_recipient_cleanup(struct discord_group_dm_add_recipient *self); - - - -void discord_start_thread_with_message_init(struct discord_start_thread_with_message *self); void discord_start_thread_with_message_cleanup(struct discord_start_thread_with_message *self); - - - - - - - - - -void discord_start_thread_without_message_init(struct discord_start_thread_without_message *self); void discord_start_thread_without_message_cleanup(struct discord_start_thread_without_message *self); - - - - - - - - - - - -void discord_list_active_threads_init(struct discord_list_active_threads *self); void discord_list_active_threads_cleanup(struct discord_list_active_threads *self); - - - - - - - - -void discord_emoji_init(struct discord_emoji *self); void discord_emoji_cleanup(struct discord_emoji *self); - - - - - - - - - - - - - -void discord_emojis_cleanup(struct discord_emojis *self); - - -void discord_create_guild_emoji_init(struct discord_create_guild_emoji *self); void discord_create_guild_emoji_cleanup(struct discord_create_guild_emoji *self); - - - - - - - -void discord_modify_guild_emoji_init(struct discord_modify_guild_emoji *self); void discord_modify_guild_emoji_cleanup(struct discord_modify_guild_emoji *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_guild_init(struct discord_guild *self); void discord_guild_cleanup(struct discord_guild *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_guilds_cleanup(struct discord_guilds *self); - - -void discord_guild_preview_init(struct discord_guild_preview *self); void discord_guild_preview_cleanup(struct discord_guild_preview *self); - - - - - - - - - - - - -void discord_guild_widget_settings_init(struct discord_guild_widget_settings *self); void discord_guild_widget_settings_cleanup(struct discord_guild_widget_settings *self); - - - - -void discord_guild_widget_init(struct discord_guild_widget *self); void discord_guild_widget_cleanup(struct discord_guild_widget *self); - - - - - - - -void discord_guild_member_init(struct discord_guild_member *self); void discord_guild_member_cleanup(struct discord_guild_member *self); - - - - - - - - - - - - - - - - - - - - - - - -void discord_guild_members_cleanup(struct discord_guild_members *self); - - -void discord_integration_init(struct discord_integration *self); void discord_integration_cleanup(struct discord_integration *self); - - - - - - - - - - - - - - - - - -void discord_integrations_cleanup(struct discord_integrations *self); - - - - - - - - - - - - - - - - -void discord_ban_init(struct discord_ban *self); void discord_ban_cleanup(struct discord_ban *self); - - - -void discord_bans_cleanup(struct discord_bans *self); - - -void discord_welcome_screen_init(struct discord_welcome_screen *self); void discord_welcome_screen_cleanup(struct discord_welcome_screen *self); - - - - - - - - - - - - - - -void discord_prune_count_init(struct discord_prune_count *self); void discord_prune_count_cleanup(struct discord_prune_count *self); - - -void discord_create_guild_init(struct discord_create_guild *self); void discord_create_guild_cleanup(struct discord_create_guild *self); - - - - - - - - - - - - - - - - - - - - - - - - -void discord_modify_guild_init(struct discord_modify_guild *self); void discord_modify_guild_cleanup(struct discord_modify_guild *self); - - - - - - - - - - - - - - - - - - - - - -void discord_create_guild_channel_init(struct discord_create_guild_channel *self); void discord_create_guild_channel_cleanup(struct discord_create_guild_channel *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_modify_guild_channel_positions_cleanup(struct discord_modify_guild_channel_positions *self); - - -void discord_list_active_guild_threads_init(struct discord_list_active_guild_threads *self); void discord_list_active_guild_threads_cleanup(struct discord_list_active_guild_threads *self); - - - - - - - - - - - -void discord_add_guild_member_init(struct discord_add_guild_member *self); void discord_add_guild_member_cleanup(struct discord_add_guild_member *self); - - - - - - -void discord_modify_guild_member_init(struct discord_modify_guild_member *self); void discord_modify_guild_member_cleanup(struct discord_modify_guild_member *self); - - - - - - - - - - - - - - - - - - - - -void discord_modify_current_member_init(struct discord_modify_current_member *self); void discord_modify_current_member_cleanup(struct discord_modify_current_member *self); - - - - - -void discord_modify_current_user_nick_init(struct discord_modify_current_user_nick *self); void discord_modify_current_user_nick_cleanup(struct discord_modify_current_user_nick *self); - - - - - - - - - - - - - - -void discord_create_guild_ban_init(struct discord_create_guild_ban *self); void discord_create_guild_ban_cleanup(struct discord_create_guild_ban *self); - - - - - - - - -void discord_create_guild_role_init(struct discord_create_guild_role *self); void discord_create_guild_role_cleanup(struct discord_create_guild_role *self); - - - - - - - - - - - - - - - -void discord_modify_guild_role_positions_cleanup(struct discord_modify_guild_role_positions *self); - - -void discord_modify_guild_role_init(struct discord_modify_guild_role *self); void discord_modify_guild_role_cleanup(struct discord_modify_guild_role *self); - - - - - - - - - - - - - - - - - - -void discord_begin_guild_prune_init(struct discord_begin_guild_prune *self); void discord_begin_guild_prune_cleanup(struct discord_begin_guild_prune *self); - - - - - - - - - - - - - - - - - - - -void discord_modify_guild_welcome_screen_init(struct discord_modify_guild_welcome_screen *self); void discord_modify_guild_welcome_screen_cleanup(struct discord_modify_guild_welcome_screen *self); - - - - - - - -void discord_modify_current_user_voice_state_init(struct discord_modify_current_user_voice_state *self); void discord_modify_current_user_voice_state_cleanup(struct discord_modify_current_user_voice_state *self); - - - - - - -void discord_modify_user_voice_state_init(struct discord_modify_user_voice_state *self); void discord_modify_user_voice_state_cleanup(struct discord_modify_user_voice_state *self); - - - - - - - - - - - - - - - - - -void discord_guild_scheduled_event_init(struct discord_guild_scheduled_event *self); void discord_guild_scheduled_event_cleanup(struct discord_guild_scheduled_event *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_guild_scheduled_events_cleanup(struct discord_guild_scheduled_events *self); - - - - - - - - - - - -void discord_guild_scheduled_event_users_cleanup(struct discord_guild_scheduled_event_users *self); - - - - - -void discord_create_guild_scheduled_event_init(struct discord_create_guild_scheduled_event *self); void discord_create_guild_scheduled_event_cleanup(struct discord_create_guild_scheduled_event *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_modify_guild_scheduled_event_init(struct discord_modify_guild_scheduled_event *self); void discord_modify_guild_scheduled_event_cleanup(struct discord_modify_guild_scheduled_event *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_guild_template_init(struct discord_guild_template *self); void discord_guild_template_cleanup(struct discord_guild_template *self); - - - - - - - - - - - - -void discord_guild_templates_cleanup(struct discord_guild_templates *self); - - -void discord_create_guild_from_guild_template_init(struct discord_create_guild_from_guild_template *self); void discord_create_guild_from_guild_template_cleanup(struct discord_create_guild_from_guild_template *self); - - - - - -void discord_create_guild_template_init(struct discord_create_guild_template *self); void discord_create_guild_template_cleanup(struct discord_create_guild_template *self); - - - - - -void discord_modify_guild_template_init(struct discord_modify_guild_template *self); void discord_modify_guild_template_cleanup(struct discord_modify_guild_template *self); - - - - - - - - - - - -void discord_stage_instance_init(struct discord_stage_instance *self); void discord_stage_instance_cleanup(struct discord_stage_instance *self); - - - - - - - - - - - - -void discord_create_stage_instance_init(struct discord_create_stage_instance *self); void discord_create_stage_instance_cleanup(struct discord_create_stage_instance *self); - - - - - - - -void discord_modify_stage_instance_init(struct discord_modify_stage_instance *self); void discord_modify_stage_instance_cleanup(struct discord_modify_stage_instance *self); - - - - - - - - - - - - - - - - - - -void discord_sticker_init(struct discord_sticker *self); void discord_sticker_cleanup(struct discord_sticker *self); - - - - - - - - - - - - - - - - - - - - - - -void discord_stickers_cleanup(struct discord_stickers *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_sticker_packs_cleanup(struct discord_sticker_packs *self); - - -void discord_list_nitro_sticker_packs_init(struct discord_list_nitro_sticker_packs *self); void discord_list_nitro_sticker_packs_cleanup(struct discord_list_nitro_sticker_packs *self); - - - - - - - - - -void discord_modify_guild_sticker_init(struct discord_modify_guild_sticker *self); void discord_modify_guild_sticker_cleanup(struct discord_modify_guild_sticker *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_user_init(struct discord_user *self); void discord_user_cleanup(struct discord_user *self); - - - - - - - - - - - - - - - - -void discord_users_cleanup(struct discord_users *self); - - - - - - - - - - - - - - - -void discord_connections_cleanup(struct discord_connections *self); - - -void discord_modify_current_user_init(struct discord_modify_current_user *self); void discord_modify_current_user_cleanup(struct discord_modify_current_user *self); - - - - - - - - - - - - - - - - - - -void discord_create_dm_init(struct discord_create_dm *self); void discord_create_dm_cleanup(struct discord_create_dm *self); - - - - -void discord_create_group_dm_init(struct discord_create_group_dm *self); void discord_create_group_dm_cleanup(struct discord_create_group_dm *self); - - - - - - - -void discord_voice_state_init(struct discord_voice_state *self); void discord_voice_state_cleanup(struct discord_voice_state *self); - - - - - - - - - - - - - - - - -void discord_voice_states_cleanup(struct discord_voice_states *self); - - - - - - - - - -void discord_voice_regions_cleanup(struct discord_voice_regions *self); - - - - - - - -void discord_webhook_init(struct discord_webhook *self); void discord_webhook_cleanup(struct discord_webhook *self); - - - - - - - - - - - - - - - - - -void discord_webhooks_cleanup(struct discord_webhooks *self); - - -void discord_create_webhook_init(struct discord_create_webhook *self); void discord_create_webhook_cleanup(struct discord_create_webhook *self); - - - - - - -void discord_modify_webhook_init(struct discord_modify_webhook *self); void discord_modify_webhook_cleanup(struct discord_modify_webhook *self); - - - - - - - - - - -void discord_modify_webhook_with_token_init(struct discord_modify_webhook_with_token *self); void discord_modify_webhook_with_token_cleanup(struct discord_modify_webhook_with_token *self); - - - - - -void discord_execute_webhook_init(struct discord_execute_webhook *self); void discord_execute_webhook_cleanup(struct discord_execute_webhook *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_edit_webhook_message_init(struct discord_edit_webhook_message *self); void discord_edit_webhook_message_cleanup(struct discord_edit_webhook_message *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +#define CONCORD_OPTIONAL (1 << 0ull) +#define CONCORD_NO_JSON (1 << 1ull) + + + + +#define DISCORD_GATEWAY_GUILDS (1 << 0) +#define DISCORD_GATEWAY_GUILD_MEMBERS (1 << 1) +#define DISCORD_GATEWAY_GUILD_BANS (1 << 2) +#define DISCORD_GATEWAY_GUILD_EMOJIS_AND_STICKERS (1 << 3) +#define DISCORD_GATEWAY_GUILD_INTEGRATIONS (1 << 4) +#define DISCORD_GATEWAY_GUILD_WEBHOOKS (1 << 5) +#define DISCORD_GATEWAY_GUILD_INVITES (1 << 6) +#define DISCORD_GATEWAY_GUILD_VOICE_STATES (1 << 7) +#define DISCORD_GATEWAY_GUILD_PRESENCES (1 << 8) +#define DISCORD_GATEWAY_GUILD_MESSAGES (1 << 9) +#define DISCORD_GATEWAY_GUILD_MESSAGE_REACTIONS (1 << 10) +#define DISCORD_GATEWAY_GUILD_MESSAGE_TYPING (1 << 11) +#define DISCORD_GATEWAY_DIRECT_MESSAGES (1 << 12) +#define DISCORD_GATEWAY_DIRECT_MESSAGE_REACTIONS (1 << 13) +#define DISCORD_GATEWAY_DIRECT_MESSAGE_TYPING (1 << 14) +#define DISCORD_GATEWAY_MESSAGE_CONTENT (1 << 15) +#define DISCORD_GATEWAY_GUILD_SCHEDULED_EVENTS (1 << 16) +#define DISCORD_GATEWAY_AUTO_MODERATION_CONFIGURATION (1 << 20) +#define DISCORD_GATEWAY_AUTO_MODERATION_EXECUTION (1 << 21) +#define DISCORD_ACTIVITY_INSTANCE (1 << 0) +#define DISCORD_ACTIVITY_JOIN (1 << 1) +#define DISCORD_ACTIVITY_SPECTATE (1 << 2) +#define DISCORD_ACTIVITY_JOIN_REQUEST (1 << 3) +#define DISCORD_ACTIVITY_SYNC (1 << 4) +#define DISCORD_ACTIVITY_PLAY (1 << 5) +#define DISCORD_ACTIVITY_PARTY_PRIVACY_FRIENDS (1 << 6) +#define DISCORD_ACTIVITY_PARTY_PRIVACY_VOICE_CHANNEL (1 << 7) +#define DISCORD_ACTIVITY_EMBEDDED (1 << 8) +#define DISCORD_SYSTEM_SUPPRESS_JOIN_NOTIFICATIONS (1 << 0) +#define DISCORD_SYSTEM_SUPPRESS_PREMIUM_NOTIFICATIONS (1 << 1) +#define DISCORD_SYSTEM_SUPPRESS_GUILD_REMINDER_NOTIFICATIONS (1 << 2) +#define DISCORD_SYSTEM_SUPPRESS_JOIN_NOTIFICATION_REPLIES (1 << 3) +#define DISCORD_PERM_CREATE_INSTANT_INVITE (1 << 0) +#define DISCORD_PERM_KICK_MEMBERS (1 << 1) +#define DISCORD_PERM_BAN_MEMBERS (1 << 2) +#define DISCORD_PERM_ADMINISTRATOR (1 << 3) +#define DISCORD_PERM_MANAGE_CHANNELS (1 << 4) +#define DISCORD_PERM_MANAGE_GUILD (1 << 5) +#define DISCORD_PERM_ADD_REACTIONS (1 << 6) +#define DISCORD_PERM_VIEW_AUDIT_LOG (1 << 7) +#define DISCORD_PERM_PRIORITY_SPEAKER (1 << 8) +#define DISCORD_PERM_STREAM (1 << 9) +#define DISCORD_PERM_VIEW_CHANNEL (1 << 10) +#define DISCORD_PERM_SEND_MESSAGES (1 << 11) +#define DISCORD_PERM_SEND_TTS_MESSAGES (1 << 12) +#define DISCORD_PERM_MANAGE_MESSAGES (1 << 13) +#define DISCORD_PERM_EMBED_LINKS (1 << 14) +#define DISCORD_PERM_ATTACH_FILES (1 << 15) +#define DISCORD_PERM_READ_MESSAGE_HISTORY (1 << 16) +#define DISCORD_PERM_MENTION_EVERYONE (1 << 17) +#define DISCORD_PERM_USE_EXTERNAL_EMOJIS (1 << 18) +#define DISCORD_PERM_VIEW_GUILD_INSIGHTS (1 << 19) +#define DISCORD_PERM_CONNECT (1 << 20) +#define DISCORD_PERM_SPEAK (1 << 21) +#define DISCORD_PERM_MUTE_MEMBERS (1 << 22) +#define DISCORD_PERM_DEAFEN_MEMBERS (1 << 23) +#define DISCORD_PERM_MOVE_MEMBERS (1 << 24) +#define DISCORD_PERM_USE_VAD (1 << 25) +#define DISCORD_PERM_CHANGE_NICKNAME (1 << 26) +#define DISCORD_PERM_MANAGE_NICKNAMES (1 << 27) +#define DISCORD_PERM_MANAGE_ROLES (1 << 28) +#define DISCORD_PERM_MANAGE_WEBHOOKS (1 << 29) +#define DISCORD_PERM_MANAGE_EMOJIS_AND_STICKERS (1 << 30) +#define DISCORD_PERM_USE_APPLICATION_COMMANDS (1 << 31) +#define DISCORD_PERM_REQUEST_TO_SPEAK (1 << 32) +#define DISCORD_PERM_MANAGE_EVENTS (1 << 33) +#define DISCORD_PERM_MANAGE_THREADS (1 << 34) +#define DISCORD_PERM_CREATE_PUBLIC_THREADS (1 << 35) +#define DISCORD_PERM_CREATE_PRIVATE_THREADS (1 << 36) +#define DISCORD_PERM_USE_EXTERNAL_STICKERS (1 << 37) +#define DISCORD_PERM_SEND_MESSAGES_IN_THREADS (1 << 38) +#define DISCORD_PERM_START_EMBEDDED_ACTIVITIES (1 << 39) +#define DISCORD_PERM_MODERATE_MEMBERS (1 << 40) +#define DISCORD_USER_NONE (0) +#define DISCORD_USER_STAFF (1 << 0) +#define DISCORD_USER_PARTNER (1 << 1) +#define DISCORD_USER_HYPESQUAD (1 << 2) +#define DISCORD_USER_BUG_HUNTER_LEVEL_1 (1 << 3) +#define DISCORD_USER_HYPESQUAD_ONLINE_HOUSE_1 (1 << 6) +#define DISCORD_USER_HYPESQUAD_ONLINE_HOUSE_2 (1 << 7) +#define DISCORD_USER_HYPESQUAD_ONLINE_HOUSE_3 (1 << 8) +#define DISCORD_USER_PREMIUM_EARLY_SUPPORTER (1 << 9) +#define DISCORD_USER_TEAM_PSEUDO_USER (1 << 10) +#define DISCORD_USER_BUG_HUNTER_LEVEL_2 (1 << 14) +#define DISCORD_USER_VERIFIED_BOT (1 << 16) +#define DISCORD_USER_VERIFIED_DEVELOPER (1 << 17) +#define DISCORD_USER_CERTIFIED_MODERATOR (1 << 18) +#define DISCORD_USER_BOT_HTTP_INTERACTIONS (1 << 19) +#define DISCORD_VOICE_MICROPHONE (1 << 0) +#define DISCORD_VOICE_SOUNDSHARE (1 << 1) +#define DISCORD_VOICE_PRIORITY (1 << 2) - - - - - - - - - - - - - - - +#include "reflect-c.h" +#define _ - - - - - - - - - - - + #define REFLECTC_DEFINED__discord_application - - - - - - + #define REFLECTC_DEFINED__discord_install_params + #define REFLECTC_DEFINED__discord_application_command_types - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + #define REFLECTC_DEFINED__discord_application_command_option_types + #define REFLECTC_DEFINED__discord_application_command_permission_types - + #define REFLECTC_DEFINED__discord_application_command + #define REFLECTC_DEFINED__discord_application_commands - - + #define REFLECTC_DEFINED__discord_application_command_option + #define REFLECTC_DEFINED__discord_application_command_options - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_presence_update_init(struct discord_presence_update *self); void discord_presence_update_cleanup(struct discord_presence_update *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_identify_init(struct discord_identify *self); void discord_identify_cleanup(struct discord_identify *self); - - - - - - - - - - - - - - - - - -void discord_resume_init(struct discord_resume *self); void discord_resume_cleanup(struct discord_resume *self); - - - - -void discord_request_guild_members_init(struct discord_request_guild_members *self); void discord_request_guild_members_cleanup(struct discord_request_guild_members *self); - - - - - - - - - - - -void discord_update_voice_state_init(struct discord_update_voice_state *self); void discord_update_voice_state_cleanup(struct discord_update_voice_state *self); - - - - - -void discord_ready_init(struct discord_ready *self); void discord_ready_cleanup(struct discord_ready *self); - - - - - - - -void discord_auto_moderation_action_execution_init(struct discord_auto_moderation_action_execution *self); void discord_auto_moderation_action_execution_cleanup(struct discord_auto_moderation_action_execution *self); - - - - - - - - - - - -void discord_thread_list_sync_init(struct discord_thread_list_sync *self); void discord_thread_list_sync_cleanup(struct discord_thread_list_sync *self); - - - - - -void discord_thread_members_update_init(struct discord_thread_members_update *self); void discord_thread_members_update_cleanup(struct discord_thread_members_update *self); - - - - - - -void discord_channel_pins_update_init(struct discord_channel_pins_update *self); void discord_channel_pins_update_cleanup(struct discord_channel_pins_update *self); - - - - -void discord_guild_ban_add_init(struct discord_guild_ban_add *self); void discord_guild_ban_add_cleanup(struct discord_guild_ban_add *self); - - - -void discord_guild_ban_remove_init(struct discord_guild_ban_remove *self); void discord_guild_ban_remove_cleanup(struct discord_guild_ban_remove *self); - - - -void discord_guild_emojis_update_init(struct discord_guild_emojis_update *self); void discord_guild_emojis_update_cleanup(struct discord_guild_emojis_update *self); - - - -void discord_guild_stickers_update_init(struct discord_guild_stickers_update *self); void discord_guild_stickers_update_cleanup(struct discord_guild_stickers_update *self); - - - -void discord_guild_integrations_update_init(struct discord_guild_integrations_update *self); void discord_guild_integrations_update_cleanup(struct discord_guild_integrations_update *self); - - -void discord_guild_member_remove_init(struct discord_guild_member_remove *self); void discord_guild_member_remove_cleanup(struct discord_guild_member_remove *self); - - - -void discord_guild_member_update_init(struct discord_guild_member_update *self); void discord_guild_member_update_cleanup(struct discord_guild_member_update *self); - - - - - - - - - - - - -void discord_guild_members_chunk_init(struct discord_guild_members_chunk *self); void discord_guild_members_chunk_cleanup(struct discord_guild_members_chunk *self); - - - - - - - - -void discord_guild_role_create_init(struct discord_guild_role_create *self); void discord_guild_role_create_cleanup(struct discord_guild_role_create *self); - - - -void discord_guild_role_update_init(struct discord_guild_role_update *self); void discord_guild_role_update_cleanup(struct discord_guild_role_update *self); - - - -void discord_guild_role_delete_init(struct discord_guild_role_delete *self); void discord_guild_role_delete_cleanup(struct discord_guild_role_delete *self); - - - -void discord_guild_scheduled_event_user_add_init(struct discord_guild_scheduled_event_user_add *self); void discord_guild_scheduled_event_user_add_cleanup(struct discord_guild_scheduled_event_user_add *self); - - - - -void discord_guild_scheduled_event_user_remove_init(struct discord_guild_scheduled_event_user_remove *self); void discord_guild_scheduled_event_user_remove_cleanup(struct discord_guild_scheduled_event_user_remove *self); - - - - -void discord_integration_delete_init(struct discord_integration_delete *self); void discord_integration_delete_cleanup(struct discord_integration_delete *self); - - - - -void discord_invite_create_init(struct discord_invite_create *self); void discord_invite_create_cleanup(struct discord_invite_create *self); - - - - - - - - - - - - - -void discord_invite_delete_init(struct discord_invite_delete *self); void discord_invite_delete_cleanup(struct discord_invite_delete *self); - - - + #define REFLECTC_DEFINED__discord_application_command_option_choice -void discord_message_delete_init(struct discord_message_delete *self); void discord_message_delete_cleanup(struct discord_message_delete *self); - - - + #define REFLECTC_DEFINED__discord_application_command_option_choices -void discord_message_delete_bulk_init(struct discord_message_delete_bulk *self); void discord_message_delete_bulk_cleanup(struct discord_message_delete_bulk *self); - - - + #define REFLECTC_DEFINED__discord_application_command_interaction_data_option -void discord_message_reaction_add_init(struct discord_message_reaction_add *self); void discord_message_reaction_add_cleanup(struct discord_message_reaction_add *self); - - - - - - + #define REFLECTC_DEFINED__discord_application_command_interaction_data_options -void discord_message_reaction_remove_init(struct discord_message_reaction_remove *self); void discord_message_reaction_remove_cleanup(struct discord_message_reaction_remove *self); - - - - - + #define REFLECTC_DEFINED__discord_guild_application_command_permission -void discord_message_reaction_remove_all_init(struct discord_message_reaction_remove_all *self); void discord_message_reaction_remove_all_cleanup(struct discord_message_reaction_remove_all *self); - - - + #define REFLECTC_DEFINED__discord_guild_application_command_permissions -void discord_message_reaction_remove_emoji_init(struct discord_message_reaction_remove_emoji *self); void discord_message_reaction_remove_emoji_cleanup(struct discord_message_reaction_remove_emoji *self); - - - - + #define REFLECTC_DEFINED__discord_application_command_permission -void discord_typing_start_init(struct discord_typing_start *self); void discord_typing_start_cleanup(struct discord_typing_start *self); - - - - - + #define REFLECTC_DEFINED__discord_application_command_permissions -void discord_voice_server_update_init(struct discord_voice_server_update *self); void discord_voice_server_update_cleanup(struct discord_voice_server_update *self); - - - + #define REFLECTC_DEFINED__discord_create_global_application_command -void discord_webhooks_update_init(struct discord_webhooks_update *self); void discord_webhooks_update_cleanup(struct discord_webhooks_update *self); - - + #define REFLECTC_DEFINED__discord_edit_global_application_command -void discord_session_start_limit_init(struct discord_session_start_limit *self); void discord_session_start_limit_cleanup(struct discord_session_start_limit *self); - - - - + #define REFLECTC_DEFINED__discord_create_guild_application_command -void discord_auth_response_init(struct discord_auth_response *self); void discord_auth_response_cleanup(struct discord_auth_response *self); - - - - + #define REFLECTC_DEFINED__discord_edit_guild_application_command + #define REFLECTC_DEFINED__discord_bulk_overwrite_guild_application_command + #define REFLECTC_DEFINED__discord_bulk_overwrite_guild_application_commands + #define REFLECTC_DEFINED__discord_audit_log_events + #define REFLECTC_DEFINED__discord_audit_log + #define REFLECTC_DEFINED__discord_audit_log_entry + #define REFLECTC_DEFINED__discord_audit_log_entries + #define REFLECTC_DEFINED__discord_optional_audit_entry_info + #define REFLECTC_DEFINED__discord_optional_audit_entry_infos + #define REFLECTC_DEFINED__discord_audit_log_change + #define REFLECTC_DEFINED__discord_audit_log_changes + #define REFLECTC_DEFINED__discord_get_guild_audit_log + #define REFLECTC_DEFINED__discord_auto_moderation_trigger_types + #define REFLECTC_DEFINED__discord_auto_moderation_keyword_preset_types + #define REFLECTC_DEFINED__discord_auto_moderation_event_types + #define REFLECTC_DEFINED__discord_auto_moderation_action_types + #define REFLECTC_DEFINED__discord_auto_moderation_trigger_metadata + #define REFLECTC_DEFINED__discord_auto_moderation_action + #define REFLECTC_DEFINED__discord_auto_moderation_actions + #define REFLECTC_DEFINED__discord_auto_moderation_action_metadata + #define REFLECTC_DEFINED__discord_auto_moderation_rule + #define REFLECTC_DEFINED__discord_auto_moderation_rules + #define REFLECTC_DEFINED__discord_create_auto_moderation_rule + #define REFLECTC_DEFINED__discord_modify_auto_moderation_rule + #define REFLECTC_DEFINED__discord_delete_auto_moderation_rule + #define REFLECTC_DEFINED__discord_channel_types + #define REFLECTC_DEFINED__discord_video_quality_modes + #define REFLECTC_DEFINED__discord_sort_order_types + #define REFLECTC_DEFINED__discord_forum_layout_types + #define REFLECTC_DEFINED__discord_message_types + #define REFLECTC_DEFINED__discord_message_activity_types + #define REFLECTC_DEFINED__discord_channel + #define REFLECTC_DEFINED__discord_channels + #define REFLECTC_DEFINED__discord_message_activity + #define REFLECTC_DEFINED__discord_message_reference + #define REFLECTC_DEFINED__discord_message + #define REFLECTC_DEFINED__discord_messages + #define REFLECTC_DEFINED__discord_followed_channel + #define REFLECTC_DEFINED__discord_reaction_count_details + #define REFLECTC_DEFINED__discord_reaction + #define REFLECTC_DEFINED__discord_reactions + #define REFLECTC_DEFINED__discord_overwrite -void discord_role_init(struct discord_role *self); void discord_role_cleanup(struct discord_role *self); - - - - - - - - - - - - - - - - - + #define REFLECTC_DEFINED__discord_overwrites -void discord_roles_cleanup(struct discord_roles *self); - + #define REFLECTC_DEFINED__discord_thread_metadata + #define REFLECTC_DEFINED__discord_thread_member - - - - - - - + #define REFLECTC_DEFINED__discord_thread_members + #define REFLECTC_DEFINED__discord_thread_default_reaction - - + #define REFLECTC_DEFINED__discord_thread_tag -void discord_team_init(struct discord_team *self); void discord_team_cleanup(struct discord_team *self); - - - - - - - + #define REFLECTC_DEFINED__discord_thread_tags + #define REFLECTC_DEFINED__discord_embed_thumbnail - - - - - - - - + #define REFLECTC_DEFINED__discord_embed_video + #define REFLECTC_DEFINED__discord_embed_image - + #define REFLECTC_DEFINED__discord_embed_provider + #define REFLECTC_DEFINED__discord_embed_author + #define REFLECTC_DEFINED__discord_embed_footer + #define REFLECTC_DEFINED__discord_embed_field + #define REFLECTC_DEFINED__discord_embed_fields - - - - - - - - - - - - + #define REFLECTC_DEFINED__discord_embed + #define REFLECTC_DEFINED__discord_embeds - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_application_command_init(struct discord_application_command *self); void discord_application_command_cleanup(struct discord_application_command *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_application_commands_cleanup(struct discord_application_commands *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_guild_application_command_permissions_cleanup(struct discord_guild_application_command_permissions *self); - - -void discord_application_command_permission_init(struct discord_application_command_permission *self); void discord_application_command_permission_cleanup(struct discord_application_command_permission *self); - - - - -void discord_application_command_permissions_cleanup(struct discord_application_command_permissions *self); - - -void discord_create_global_application_command_init(struct discord_create_global_application_command *self); void discord_create_global_application_command_cleanup(struct discord_create_global_application_command *self); - - - - - - - - - - - - - - -void discord_edit_global_application_command_init(struct discord_edit_global_application_command *self); void discord_edit_global_application_command_cleanup(struct discord_edit_global_application_command *self); - - - - - - - - - - - -void discord_create_guild_application_command_init(struct discord_create_guild_application_command *self); void discord_create_guild_application_command_cleanup(struct discord_create_guild_application_command *self); - - - - - - - - - - - - - - -void discord_edit_guild_application_command_init(struct discord_edit_guild_application_command *self); void discord_edit_guild_application_command_cleanup(struct discord_edit_guild_application_command *self); - - - - - - - - - - -void discord_bulk_overwrite_guild_application_commands_init(struct discord_bulk_overwrite_guild_application_commands *self); void discord_bulk_overwrite_guild_application_commands_cleanup(struct discord_bulk_overwrite_guild_application_commands *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_component_init(struct discord_component *self); void discord_component_cleanup(struct discord_component *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_components_cleanup(struct discord_components *self); - - - - - - - - - - - -void discord_select_options_cleanup(struct discord_select_options *self); - - - - - - - - - - - - - - -void discord_component_items_cleanup(struct discord_component_items *self); - - - - - - - - - - - - - - - - - - -void discord_interaction_init(struct discord_interaction *self); void discord_interaction_cleanup(struct discord_interaction *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_interaction_response_init(struct discord_interaction_response *self); void discord_interaction_response_cleanup(struct discord_interaction_response *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void discord_edit_original_interaction_response_init(struct discord_edit_original_interaction_response *self); void discord_edit_original_interaction_response_cleanup(struct discord_edit_original_interaction_response *self); - - - - - - - - - - - - - - - -void discord_create_followup_message_init(struct discord_create_followup_message *self); void discord_create_followup_message_cleanup(struct discord_create_followup_message *self); - - - - - - - - - - - - - - - - - - - - -void discord_edit_followup_message_init(struct discord_edit_followup_message *self); void discord_edit_followup_message_cleanup(struct discord_edit_followup_message *self); - - - - - - - - - - - - - - - -long strings_from_jsmnf(const jsmnf_pair *root, const char *js, struct strings *self); long strings_from_json(const char buf[], size_t size, struct strings *self); - - -long json_values_from_jsmnf(const jsmnf_pair *root, const char *js, struct json_values *self); long json_values_from_json(const char buf[], size_t size, struct json_values *self); - - -long snowflakes_from_jsmnf(const jsmnf_pair *root, const char *js, struct snowflakes *self); long snowflakes_from_json(const char buf[], size_t size, struct snowflakes *self); - - -long bitmasks_from_jsmnf(const jsmnf_pair *root, const char *js, struct bitmasks *self); long bitmasks_from_json(const char buf[], size_t size, struct bitmasks *self); - - -long integers_from_jsmnf(const jsmnf_pair *root, const char *js, struct integers *self); long integers_from_json(const char buf[], size_t size, struct integers *self); - - - - - - - - - - -long discord_application_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_application *self); long discord_application_from_json(const char buf[], size_t size, struct discord_application *self); - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_install_params_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_install_params *self); long discord_install_params_from_json(const char buf[], size_t size, struct discord_install_params *self); - - - -long discord_audit_log_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_audit_log *self); long discord_audit_log_from_json(const char buf[], size_t size, struct discord_audit_log *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_auto_moderation_rule_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_auto_moderation_rule *self); long discord_auto_moderation_rule_from_json(const char buf[], size_t size, struct discord_auto_moderation_rule *self); - - - - - - - - - - - - - - - - -long discord_auto_moderation_rules_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_auto_moderation_rules *self); long discord_auto_moderation_rules_from_json(const char buf[], size_t size, struct discord_auto_moderation_rules *self); - - -long discord_create_auto_moderation_rule_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_create_auto_moderation_rule *self); long discord_create_auto_moderation_rule_from_json(const char buf[], size_t size, struct discord_create_auto_moderation_rule *self); - - - - - - - - - - - - - - - - - - - - - -long discord_modify_auto_moderation_rule_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_auto_moderation_rule *self); long discord_modify_auto_moderation_rule_from_json(const char buf[], size_t size, struct discord_modify_auto_moderation_rule *self); - - - - - - - - - - - - - - - - - - - - -long discord_invite_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_invite *self); long discord_invite_from_json(const char buf[], size_t size, struct discord_invite *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_invites_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_invites *self); long discord_invites_from_json(const char buf[], size_t size, struct discord_invites *self); - - - - - - - - - - - - - - - - - - - -long discord_get_invite_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_get_invite *self); long discord_get_invite_from_json(const char buf[], size_t size, struct discord_get_invite *self); - - - - - - - - - -long discord_channel_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_channel *self); long discord_channel_from_json(const char buf[], size_t size, struct discord_channel *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_channels_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_channels *self); long discord_channels_from_json(const char buf[], size_t size, struct discord_channels *self); - - - - - - - - - - - - - - - - - - - - - - - - -long discord_message_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_message *self); long discord_message_from_json(const char buf[], size_t size, struct discord_message *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_messages_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_messages *self); long discord_messages_from_json(const char buf[], size_t size, struct discord_messages *self); - - -long discord_followed_channel_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_followed_channel *self); long discord_followed_channel_from_json(const char buf[], size_t size, struct discord_followed_channel *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_thread_member_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_thread_member *self); long discord_thread_member_from_json(const char buf[], size_t size, struct discord_thread_member *self); - - - - - - - -long discord_thread_members_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_thread_members *self); long discord_thread_members_from_json(const char buf[], size_t size, struct discord_thread_members *self); - - - - - - - - - - - - - -long discord_thread_tags_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_thread_tags *self); long discord_thread_tags_from_json(const char buf[], size_t size, struct discord_thread_tags *self); - - -long discord_embed_thumbnail_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_embed_thumbnail *self); long discord_embed_thumbnail_from_json(const char buf[], size_t size, struct discord_embed_thumbnail *self); - - - - - - - - - - - -long discord_embed_video_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_embed_video *self); long discord_embed_video_from_json(const char buf[], size_t size, struct discord_embed_video *self); - - - - - - - - - - - - - -long discord_embed_image_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_embed_image *self); long discord_embed_image_from_json(const char buf[], size_t size, struct discord_embed_image *self); - - - - - - - - - - - -long discord_embed_provider_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_embed_provider *self); long discord_embed_provider_from_json(const char buf[], size_t size, struct discord_embed_provider *self); - - - - - - - -long discord_embed_author_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_embed_author *self); long discord_embed_author_from_json(const char buf[], size_t size, struct discord_embed_author *self); - - - - - - - - - - - -long discord_embed_footer_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_embed_footer *self); long discord_embed_footer_from_json(const char buf[], size_t size, struct discord_embed_footer *self); - - - - - - - - -long discord_embed_field_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_embed_field *self); long discord_embed_field_from_json(const char buf[], size_t size, struct discord_embed_field *self); - - - - -long discord_embed_fields_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_embed_fields *self); long discord_embed_fields_from_json(const char buf[], size_t size, struct discord_embed_fields *self); - - -long discord_embed_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_embed *self); long discord_embed_from_json(const char buf[], size_t size, struct discord_embed *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_embeds_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_embeds *self); long discord_embeds_from_json(const char buf[], size_t size, struct discord_embeds *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_attachments_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_attachments *self); long discord_attachments_from_json(const char buf[], size_t size, struct discord_attachments *self); - - - - - - - - - - - - - - - - - - - - -long discord_thread_response_body_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_thread_response_body *self); long discord_thread_response_body_from_json(const char buf[], size_t size, struct discord_thread_response_body *self); - - - - -long discord_modify_channel_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_channel *self); long discord_modify_channel_from_json(const char buf[], size_t size, struct discord_modify_channel *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_create_message_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_create_message *self); long discord_create_message_from_json(const char buf[], size_t size, struct discord_create_message *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_edit_message_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_edit_message *self); long discord_edit_message_from_json(const char buf[], size_t size, struct discord_edit_message *self); - - - - - - - - - - - - - - - -long discord_bulk_delete_messages_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_bulk_delete_messages *self); long discord_bulk_delete_messages_from_json(const char buf[], size_t size, struct discord_bulk_delete_messages *self); - - -long discord_edit_channel_permissions_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_edit_channel_permissions *self); long discord_edit_channel_permissions_from_json(const char buf[], size_t size, struct discord_edit_channel_permissions *self); - - - - - - - - -long discord_create_channel_invite_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_create_channel_invite *self); long discord_create_channel_invite_from_json(const char buf[], size_t size, struct discord_create_channel_invite *self); - - - - - - - - - - - - - - - - - - - - - - -long discord_follow_news_channel_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_follow_news_channel *self); long discord_follow_news_channel_from_json(const char buf[], size_t size, struct discord_follow_news_channel *self); - - - - -long discord_group_dm_add_recipient_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_group_dm_add_recipient *self); long discord_group_dm_add_recipient_from_json(const char buf[], size_t size, struct discord_group_dm_add_recipient *self); - - - -long discord_start_thread_with_message_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_start_thread_with_message *self); long discord_start_thread_with_message_from_json(const char buf[], size_t size, struct discord_start_thread_with_message *self); - - - - - - - - -long discord_start_thread_without_message_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_start_thread_without_message *self); long discord_start_thread_without_message_from_json(const char buf[], size_t size, struct discord_start_thread_without_message *self); - - - - - - - - - - -long discord_list_active_threads_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_list_active_threads *self); long discord_list_active_threads_from_json(const char buf[], size_t size, struct discord_list_active_threads *self); - - - - - - - - -long discord_emoji_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_emoji *self); long discord_emoji_from_json(const char buf[], size_t size, struct discord_emoji *self); - - - - - - - - - - - - - -long discord_emojis_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_emojis *self); long discord_emojis_from_json(const char buf[], size_t size, struct discord_emojis *self); - - -long discord_create_guild_emoji_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_create_guild_emoji *self); long discord_create_guild_emoji_from_json(const char buf[], size_t size, struct discord_create_guild_emoji *self); - - - - - - -long discord_modify_guild_emoji_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_guild_emoji *self); long discord_modify_guild_emoji_from_json(const char buf[], size_t size, struct discord_modify_guild_emoji *self); - - - - - - - - - - -long discord_guild_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild *self); long discord_guild_from_json(const char buf[], size_t size, struct discord_guild *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_guilds_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guilds *self); long discord_guilds_from_json(const char buf[], size_t size, struct discord_guilds *self); - - -long discord_guild_preview_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_preview *self); long discord_guild_preview_from_json(const char buf[], size_t size, struct discord_guild_preview *self); - - - - - - - - - - - - -long discord_guild_widget_settings_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_widget_settings *self); long discord_guild_widget_settings_from_json(const char buf[], size_t size, struct discord_guild_widget_settings *self); - - - -long discord_guild_widget_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_widget *self); long discord_guild_widget_from_json(const char buf[], size_t size, struct discord_guild_widget *self); - - - - - - - -long discord_guild_member_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_member *self); long discord_guild_member_from_json(const char buf[], size_t size, struct discord_guild_member *self); - - - - - - - - - - - - - - - - - - - - - - - -long discord_guild_members_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_members *self); long discord_guild_members_from_json(const char buf[], size_t size, struct discord_guild_members *self); - - -long discord_integration_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_integration *self); long discord_integration_from_json(const char buf[], size_t size, struct discord_integration *self); - - - - - - - - - - - - - - - - - -long discord_integrations_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_integrations *self); long discord_integrations_from_json(const char buf[], size_t size, struct discord_integrations *self); - - - - - - - - - - - - - - - - -long discord_ban_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_ban *self); long discord_ban_from_json(const char buf[], size_t size, struct discord_ban *self); - - - -long discord_bans_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_bans *self); long discord_bans_from_json(const char buf[], size_t size, struct discord_bans *self); - - -long discord_welcome_screen_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_welcome_screen *self); long discord_welcome_screen_from_json(const char buf[], size_t size, struct discord_welcome_screen *self); - - - - - - - - - - - - - - -long discord_prune_count_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_prune_count *self); long discord_prune_count_from_json(const char buf[], size_t size, struct discord_prune_count *self); - - -long discord_create_guild_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_create_guild *self); long discord_create_guild_from_json(const char buf[], size_t size, struct discord_create_guild *self); - - - - - - - - - - - - - - - - - - - - - - - -long discord_modify_guild_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_guild *self); long discord_modify_guild_from_json(const char buf[], size_t size, struct discord_modify_guild *self); - - - - - - - - - - - - - - - - - - - - -long discord_create_guild_channel_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_create_guild_channel *self); long discord_create_guild_channel_from_json(const char buf[], size_t size, struct discord_create_guild_channel *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_modify_guild_channel_positions_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_guild_channel_positions *self); long discord_modify_guild_channel_positions_from_json(const char buf[], size_t size, struct discord_modify_guild_channel_positions *self); - - -long discord_list_active_guild_threads_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_list_active_guild_threads *self); long discord_list_active_guild_threads_from_json(const char buf[], size_t size, struct discord_list_active_guild_threads *self); - - - -long discord_add_guild_member_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_add_guild_member *self); long discord_add_guild_member_from_json(const char buf[], size_t size, struct discord_add_guild_member *self); - - - - - - -long discord_modify_guild_member_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_guild_member *self); long discord_modify_guild_member_from_json(const char buf[], size_t size, struct discord_modify_guild_member *self); - - - - - - - - - - - - - - - - - - - -long discord_modify_current_member_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_current_member *self); long discord_modify_current_member_from_json(const char buf[], size_t size, struct discord_modify_current_member *self); - - - - -long discord_modify_current_user_nick_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_current_user_nick *self); long discord_modify_current_user_nick_from_json(const char buf[], size_t size, struct discord_modify_current_user_nick *self); - - - - -long discord_create_guild_ban_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_create_guild_ban *self); long discord_create_guild_ban_from_json(const char buf[], size_t size, struct discord_create_guild_ban *self); - - - - -long discord_create_guild_role_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_create_guild_role *self); long discord_create_guild_role_from_json(const char buf[], size_t size, struct discord_create_guild_role *self); - - - - - - - - - - - - - - -long discord_modify_guild_role_positions_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_guild_role_positions *self); long discord_modify_guild_role_positions_from_json(const char buf[], size_t size, struct discord_modify_guild_role_positions *self); - - -long discord_modify_guild_role_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_guild_role *self); long discord_modify_guild_role_from_json(const char buf[], size_t size, struct discord_modify_guild_role *self); - - - - - - - - -long discord_begin_guild_prune_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_begin_guild_prune *self); long discord_begin_guild_prune_from_json(const char buf[], size_t size, struct discord_begin_guild_prune *self); - - - - - - -long discord_modify_guild_welcome_screen_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_guild_welcome_screen *self); long discord_modify_guild_welcome_screen_from_json(const char buf[], size_t size, struct discord_modify_guild_welcome_screen *self); - - - - - - -long discord_modify_current_user_voice_state_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_current_user_voice_state *self); long discord_modify_current_user_voice_state_from_json(const char buf[], size_t size, struct discord_modify_current_user_voice_state *self); - - - - - - -long discord_modify_user_voice_state_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_user_voice_state *self); long discord_modify_user_voice_state_from_json(const char buf[], size_t size, struct discord_modify_user_voice_state *self); - - - -long discord_guild_scheduled_event_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_scheduled_event *self); long discord_guild_scheduled_event_from_json(const char buf[], size_t size, struct discord_guild_scheduled_event *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_guild_scheduled_events_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_scheduled_events *self); long discord_guild_scheduled_events_from_json(const char buf[], size_t size, struct discord_guild_scheduled_events *self); - - - - - - - - - - - -long discord_guild_scheduled_event_users_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_scheduled_event_users *self); long discord_guild_scheduled_event_users_from_json(const char buf[], size_t size, struct discord_guild_scheduled_event_users *self); - - -long discord_create_guild_scheduled_event_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_create_guild_scheduled_event *self); long discord_create_guild_scheduled_event_from_json(const char buf[], size_t size, struct discord_create_guild_scheduled_event *self); - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_modify_guild_scheduled_event_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_guild_scheduled_event *self); long discord_modify_guild_scheduled_event_from_json(const char buf[], size_t size, struct discord_modify_guild_scheduled_event *self); - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_guild_template_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_template *self); long discord_guild_template_from_json(const char buf[], size_t size, struct discord_guild_template *self); - - - - - - - - - - - - -long discord_guild_templates_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_templates *self); long discord_guild_templates_from_json(const char buf[], size_t size, struct discord_guild_templates *self); - - -long discord_create_guild_from_guild_template_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_create_guild_from_guild_template *self); long discord_create_guild_from_guild_template_from_json(const char buf[], size_t size, struct discord_create_guild_from_guild_template *self); - - - - - -long discord_create_guild_template_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_create_guild_template *self); long discord_create_guild_template_from_json(const char buf[], size_t size, struct discord_create_guild_template *self); - - - - - -long discord_modify_guild_template_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_guild_template *self); long discord_modify_guild_template_from_json(const char buf[], size_t size, struct discord_modify_guild_template *self); - - - - - - - -long discord_stage_instance_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_stage_instance *self); long discord_stage_instance_from_json(const char buf[], size_t size, struct discord_stage_instance *self); - - - - - - - - - - - - -long discord_create_stage_instance_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_create_stage_instance *self); long discord_create_stage_instance_from_json(const char buf[], size_t size, struct discord_create_stage_instance *self); - - - - - - -long discord_modify_stage_instance_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_stage_instance *self); long discord_modify_stage_instance_from_json(const char buf[], size_t size, struct discord_modify_stage_instance *self); - - - - - -long discord_sticker_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_sticker *self); long discord_sticker_from_json(const char buf[], size_t size, struct discord_sticker *self); - - - - - - - - - - - - - - - - - - - - - - -long discord_stickers_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_stickers *self); long discord_stickers_from_json(const char buf[], size_t size, struct discord_stickers *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_sticker_packs_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_sticker_packs *self); long discord_sticker_packs_from_json(const char buf[], size_t size, struct discord_sticker_packs *self); - - -long discord_list_nitro_sticker_packs_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_list_nitro_sticker_packs *self); long discord_list_nitro_sticker_packs_from_json(const char buf[], size_t size, struct discord_list_nitro_sticker_packs *self); - - -long discord_modify_guild_sticker_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_guild_sticker *self); long discord_modify_guild_sticker_from_json(const char buf[], size_t size, struct discord_modify_guild_sticker *self); - - - - - - - - - - - - - - - - - - - -long discord_user_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_user *self); long discord_user_from_json(const char buf[], size_t size, struct discord_user *self); - - - - - - - - - - - - - - - - -long discord_users_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_users *self); long discord_users_from_json(const char buf[], size_t size, struct discord_users *self); - - - - - - - - - - - - - - - -long discord_connections_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_connections *self); long discord_connections_from_json(const char buf[], size_t size, struct discord_connections *self); - - -long discord_modify_current_user_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_current_user *self); long discord_modify_current_user_from_json(const char buf[], size_t size, struct discord_modify_current_user *self); - - - - - - - -long discord_create_dm_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_create_dm *self); long discord_create_dm_from_json(const char buf[], size_t size, struct discord_create_dm *self); - - - - -long discord_create_group_dm_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_create_group_dm *self); long discord_create_group_dm_from_json(const char buf[], size_t size, struct discord_create_group_dm *self); - - - - - - - -long discord_voice_state_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_voice_state *self); long discord_voice_state_from_json(const char buf[], size_t size, struct discord_voice_state *self); - - - - - - - - - - - - - - - + #define REFLECTC_DEFINED__discord_attachment -long discord_voice_states_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_voice_states *self); long discord_voice_states_from_json(const char buf[], size_t size, struct discord_voice_states *self); - + #define REFLECTC_DEFINED__discord_attachments + #define REFLECTC_DEFINED__discord_channel_mention - - - - - + #define REFLECTC_DEFINED__discord_allowed_mention -long discord_voice_regions_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_voice_regions *self); long discord_voice_regions_from_json(const char buf[], size_t size, struct discord_voice_regions *self); - + #define REFLECTC_DEFINED__discord_role_subscription_data -long discord_webhook_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_webhook *self); long discord_webhook_from_json(const char buf[], size_t size, struct discord_webhook *self); - - - - - - - - - - - - - - - - - -long discord_webhooks_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_webhooks *self); long discord_webhooks_from_json(const char buf[], size_t size, struct discord_webhooks *self); - - -long discord_create_webhook_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_create_webhook *self); long discord_create_webhook_from_json(const char buf[], size_t size, struct discord_create_webhook *self); - - - - - -long discord_modify_webhook_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_webhook *self); long discord_modify_webhook_from_json(const char buf[], size_t size, struct discord_modify_webhook *self); - - - - - - -long discord_modify_webhook_with_token_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_modify_webhook_with_token *self); long discord_modify_webhook_with_token_from_json(const char buf[], size_t size, struct discord_modify_webhook_with_token *self); - - - - - -long discord_execute_webhook_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_execute_webhook *self); long discord_execute_webhook_from_json(const char buf[], size_t size, struct discord_execute_webhook *self); - - - - - - - - - - - - - - - - - - - + #define REFLECTC_DEFINED__discord_thread_response_body -long discord_edit_webhook_message_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_edit_webhook_message *self); long discord_edit_webhook_message_from_json(const char buf[], size_t size, struct discord_edit_webhook_message *self); - - - - - - - - - - - - - + #define REFLECTC_DEFINED__discord_modify_channel + #define REFLECTC_DEFINED__discord_delete_channel + #define REFLECTC_DEFINED__discord_get_channel_messages + #define REFLECTC_DEFINED__discord_create_message + #define REFLECTC_DEFINED__discord_get_reactions + #define REFLECTC_DEFINED__discord_edit_message + #define REFLECTC_DEFINED__discord_delete_message + #define REFLECTC_DEFINED__discord_bulk_delete_messages + #define REFLECTC_DEFINED__discord_edit_channel_permissions + #define REFLECTC_DEFINED__discord_create_channel_invite + #define REFLECTC_DEFINED__discord_delete_channel_permission + #define REFLECTC_DEFINED__discord_follow_news_channel + #define REFLECTC_DEFINED__discord_pin_message + #define REFLECTC_DEFINED__discord_unpin_message + #define REFLECTC_DEFINED__discord_group_dm_add_recipient + #define REFLECTC_DEFINED__discord_start_thread_with_message + #define REFLECTC_DEFINED__discord_start_thread_without_message + #define REFLECTC_DEFINED__discord_list_active_threads + #define REFLECTC_DEFINED__strings + #define REFLECTC_DEFINED__json_values + #define REFLECTC_DEFINED__snowflakes + #define REFLECTC_DEFINED__bitmasks + #define REFLECTC_DEFINED__integers + #define REFLECTC_DEFINED__discord_emoji + #define REFLECTC_DEFINED__discord_emojis + #define REFLECTC_DEFINED__discord_create_guild_emoji + #define REFLECTC_DEFINED__discord_modify_guild_emoji + #define REFLECTC_DEFINED__discord_delete_guild_emoji + #define REFLECTC_DEFINED__discord_gateway_close_opcodes + #define REFLECTC_DEFINED__discord_gateway_opcodes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + #define REFLECTC_DEFINED__discord_activity_types + #define REFLECTC_DEFINED__discord_activity - + #define REFLECTC_DEFINED__discord_activities + #define REFLECTC_DEFINED__discord_activity_timestamps - - + #define REFLECTC_DEFINED__discord_activity_emoji + #define REFLECTC_DEFINED__discord_activity_party - - - + #define REFLECTC_DEFINED__discord_activity_assets + #define REFLECTC_DEFINED__discord_activity_secrets - - + #define REFLECTC_DEFINED__discord_activity_button + #define REFLECTC_DEFINED__discord_activity_buttons - - - - + #define REFLECTC_DEFINED__discord_presence_update + #define REFLECTC_DEFINED__discord_client_status - - - + #define REFLECTC_DEFINED__discord_presence_updates + #define REFLECTC_DEFINED__discord_identify - - + #define REFLECTC_DEFINED__discord_identify_connection + #define REFLECTC_DEFINED__discord_resume - + #define REFLECTC_DEFINED__discord_request_guild_members -long discord_presence_update_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_presence_update *self); long discord_presence_update_from_json(const char buf[], size_t size, struct discord_presence_update *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_ready_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_ready *self); long discord_ready_from_json(const char buf[], size_t size, struct discord_ready *self); - - - - - - - -long discord_auto_moderation_action_execution_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_auto_moderation_action_execution *self); long discord_auto_moderation_action_execution_from_json(const char buf[], size_t size, struct discord_auto_moderation_action_execution *self); - - - - - - - - - - - -long discord_thread_list_sync_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_thread_list_sync *self); long discord_thread_list_sync_from_json(const char buf[], size_t size, struct discord_thread_list_sync *self); - - - - - -long discord_thread_members_update_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_thread_members_update *self); long discord_thread_members_update_from_json(const char buf[], size_t size, struct discord_thread_members_update *self); - - - - - - -long discord_channel_pins_update_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_channel_pins_update *self); long discord_channel_pins_update_from_json(const char buf[], size_t size, struct discord_channel_pins_update *self); - - - - -long discord_guild_ban_add_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_ban_add *self); long discord_guild_ban_add_from_json(const char buf[], size_t size, struct discord_guild_ban_add *self); - - - -long discord_guild_ban_remove_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_ban_remove *self); long discord_guild_ban_remove_from_json(const char buf[], size_t size, struct discord_guild_ban_remove *self); - - - -long discord_guild_emojis_update_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_emojis_update *self); long discord_guild_emojis_update_from_json(const char buf[], size_t size, struct discord_guild_emojis_update *self); - - - -long discord_guild_stickers_update_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_stickers_update *self); long discord_guild_stickers_update_from_json(const char buf[], size_t size, struct discord_guild_stickers_update *self); - - - -long discord_guild_integrations_update_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_integrations_update *self); long discord_guild_integrations_update_from_json(const char buf[], size_t size, struct discord_guild_integrations_update *self); - - -long discord_guild_member_remove_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_member_remove *self); long discord_guild_member_remove_from_json(const char buf[], size_t size, struct discord_guild_member_remove *self); - - - -long discord_guild_member_update_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_member_update *self); long discord_guild_member_update_from_json(const char buf[], size_t size, struct discord_guild_member_update *self); - - - - - - - - - - - - -long discord_guild_members_chunk_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_members_chunk *self); long discord_guild_members_chunk_from_json(const char buf[], size_t size, struct discord_guild_members_chunk *self); - - - - - - - - -long discord_guild_role_create_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_role_create *self); long discord_guild_role_create_from_json(const char buf[], size_t size, struct discord_guild_role_create *self); - - - -long discord_guild_role_update_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_role_update *self); long discord_guild_role_update_from_json(const char buf[], size_t size, struct discord_guild_role_update *self); - - - -long discord_guild_role_delete_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_role_delete *self); long discord_guild_role_delete_from_json(const char buf[], size_t size, struct discord_guild_role_delete *self); - - - -long discord_guild_scheduled_event_user_add_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_scheduled_event_user_add *self); long discord_guild_scheduled_event_user_add_from_json(const char buf[], size_t size, struct discord_guild_scheduled_event_user_add *self); - - - - -long discord_guild_scheduled_event_user_remove_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_scheduled_event_user_remove *self); long discord_guild_scheduled_event_user_remove_from_json(const char buf[], size_t size, struct discord_guild_scheduled_event_user_remove *self); - - - - -long discord_integration_delete_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_integration_delete *self); long discord_integration_delete_from_json(const char buf[], size_t size, struct discord_integration_delete *self); - - - - -long discord_invite_create_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_invite_create *self); long discord_invite_create_from_json(const char buf[], size_t size, struct discord_invite_create *self); - - - - - - - - - - - - + #define REFLECTC_DEFINED__discord_update_voice_state -long discord_invite_delete_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_invite_delete *self); long discord_invite_delete_from_json(const char buf[], size_t size, struct discord_invite_delete *self); - - - + #define REFLECTC_DEFINED__discord_ready -long discord_message_delete_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_message_delete *self); long discord_message_delete_from_json(const char buf[], size_t size, struct discord_message_delete *self); - - - + #define REFLECTC_DEFINED__discord_auto_moderation_action_execution -long discord_message_delete_bulk_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_message_delete_bulk *self); long discord_message_delete_bulk_from_json(const char buf[], size_t size, struct discord_message_delete_bulk *self); - - - + #define REFLECTC_DEFINED__discord_thread_list_sync -long discord_message_reaction_add_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_message_reaction_add *self); long discord_message_reaction_add_from_json(const char buf[], size_t size, struct discord_message_reaction_add *self); - - - - - - + #define REFLECTC_DEFINED__discord_thread_members_update -long discord_message_reaction_remove_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_message_reaction_remove *self); long discord_message_reaction_remove_from_json(const char buf[], size_t size, struct discord_message_reaction_remove *self); - - - - - + #define REFLECTC_DEFINED__discord_channel_pins_update -long discord_message_reaction_remove_all_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_message_reaction_remove_all *self); long discord_message_reaction_remove_all_from_json(const char buf[], size_t size, struct discord_message_reaction_remove_all *self); - - - + #define REFLECTC_DEFINED__discord_guild_ban_add -long discord_message_reaction_remove_emoji_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_message_reaction_remove_emoji *self); long discord_message_reaction_remove_emoji_from_json(const char buf[], size_t size, struct discord_message_reaction_remove_emoji *self); - - - - + #define REFLECTC_DEFINED__discord_guild_ban_remove -long discord_typing_start_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_typing_start *self); long discord_typing_start_from_json(const char buf[], size_t size, struct discord_typing_start *self); - - - - - + #define REFLECTC_DEFINED__discord_guild_emojis_update -long discord_voice_server_update_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_voice_server_update *self); long discord_voice_server_update_from_json(const char buf[], size_t size, struct discord_voice_server_update *self); - - - + #define REFLECTC_DEFINED__discord_guild_stickers_update -long discord_webhooks_update_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_webhooks_update *self); long discord_webhooks_update_from_json(const char buf[], size_t size, struct discord_webhooks_update *self); - - + #define REFLECTC_DEFINED__discord_guild_integrations_update -long discord_session_start_limit_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_session_start_limit *self); long discord_session_start_limit_from_json(const char buf[], size_t size, struct discord_session_start_limit *self); - - - - + #define REFLECTC_DEFINED__discord_guild_member_remove -long discord_auth_response_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_auth_response *self); long discord_auth_response_from_json(const char buf[], size_t size, struct discord_auth_response *self); - - - - + #define REFLECTC_DEFINED__discord_guild_member_update + #define REFLECTC_DEFINED__discord_guild_members_chunk + #define REFLECTC_DEFINED__discord_guild_role_create + #define REFLECTC_DEFINED__discord_guild_role_update + #define REFLECTC_DEFINED__discord_guild_role_delete + #define REFLECTC_DEFINED__discord_guild_scheduled_event_user_add + #define REFLECTC_DEFINED__discord_guild_scheduled_event_user_remove + #define REFLECTC_DEFINED__discord_integration_delete + #define REFLECTC_DEFINED__discord_invite_create + #define REFLECTC_DEFINED__discord_invite_delete + #define REFLECTC_DEFINED__discord_message_delete + #define REFLECTC_DEFINED__discord_message_delete_bulk + #define REFLECTC_DEFINED__discord_message_reaction_add + #define REFLECTC_DEFINED__discord_message_reaction_remove + #define REFLECTC_DEFINED__discord_message_reaction_remove_all + #define REFLECTC_DEFINED__discord_message_reaction_remove_emoji + #define REFLECTC_DEFINED__discord_typing_start + #define REFLECTC_DEFINED__discord_voice_server_update + #define REFLECTC_DEFINED__discord_webhooks_update + #define REFLECTC_DEFINED__discord_session_start_limit + #define REFLECTC_DEFINED__discord_message_notification_level + #define REFLECTC_DEFINED__discord_explicit_content_filter_level + #define REFLECTC_DEFINED__discord_mfa_level + #define REFLECTC_DEFINED__discord_verification_level + #define REFLECTC_DEFINED__discord_guild_nsfw_level + #define REFLECTC_DEFINED__discord_premium_tier + #define REFLECTC_DEFINED__discord_integration_expire_behaviors + #define REFLECTC_DEFINED__discord_guild + #define REFLECTC_DEFINED__discord_guilds + #define REFLECTC_DEFINED__discord_guild_preview + #define REFLECTC_DEFINED__discord_guild_widget_settings + #define REFLECTC_DEFINED__discord_guild_widget + #define REFLECTC_DEFINED__discord_guild_member + #define REFLECTC_DEFINED__discord_guild_members + #define REFLECTC_DEFINED__discord_integration + #define REFLECTC_DEFINED__discord_integrations + #define REFLECTC_DEFINED__discord_integration_account + #define REFLECTC_DEFINED__discord_integration_application + #define REFLECTC_DEFINED__discord_ban + #define REFLECTC_DEFINED__discord_bans + #define REFLECTC_DEFINED__discord_welcome_screen + #define REFLECTC_DEFINED__discord_welcome_screen_channel -long discord_role_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_role *self); long discord_role_from_json(const char buf[], size_t size, struct discord_role *self); - - - - - - - - - - - - - - - - - + #define REFLECTC_DEFINED__discord_welcome_screen_channels -long discord_roles_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_roles *self); long discord_roles_from_json(const char buf[], size_t size, struct discord_roles *self); - + #define REFLECTC_DEFINED__discord_prune_count + #define REFLECTC_DEFINED__discord_create_guild - - - - - - - + #define REFLECTC_DEFINED__discord_modify_guild -long discord_team_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_team *self); long discord_team_from_json(const char buf[], size_t size, struct discord_team *self); - - - - - - - + #define REFLECTC_DEFINED__discord_create_guild_channel + #define REFLECTC_DEFINED__discord_modify_guild_channel_position - - - - - - - - + #define REFLECTC_DEFINED__discord_modify_guild_channel_positions + #define REFLECTC_DEFINED__discord_list_active_guild_threads - + #define REFLECTC_DEFINED__discord_list_guild_members + #define REFLECTC_DEFINED__discord_search_guild_members + #define REFLECTC_DEFINED__discord_add_guild_member + #define REFLECTC_DEFINED__discord_modify_guild_member -long discord_application_command_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_application_command *self); long discord_application_command_from_json(const char buf[], size_t size, struct discord_application_command *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_application_commands_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_application_commands *self); long discord_application_commands_from_json(const char buf[], size_t size, struct discord_application_commands *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_guild_application_command_permissions_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_guild_application_command_permissions *self); long discord_guild_application_command_permissions_from_json(const char buf[], size_t size, struct discord_guild_application_command_permissions *self); - - -long discord_application_command_permission_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_application_command_permission *self); long discord_application_command_permission_from_json(const char buf[], size_t size, struct discord_application_command_permission *self); - - - - -long discord_application_command_permissions_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_application_command_permissions *self); long discord_application_command_permissions_from_json(const char buf[], size_t size, struct discord_application_command_permissions *self); - - -long discord_create_global_application_command_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_create_global_application_command *self); long discord_create_global_application_command_from_json(const char buf[], size_t size, struct discord_create_global_application_command *self); - - - - - - - - - - - - - - -long discord_edit_global_application_command_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_edit_global_application_command *self); long discord_edit_global_application_command_from_json(const char buf[], size_t size, struct discord_edit_global_application_command *self); - - - - - - - - - - - -long discord_create_guild_application_command_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_create_guild_application_command *self); long discord_create_guild_application_command_from_json(const char buf[], size_t size, struct discord_create_guild_application_command *self); - - - - - - - - - - - - - - -long discord_edit_guild_application_command_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_edit_guild_application_command *self); long discord_edit_guild_application_command_from_json(const char buf[], size_t size, struct discord_edit_guild_application_command *self); - - - - - - - - - - -long discord_bulk_overwrite_guild_application_commands_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_bulk_overwrite_guild_application_commands *self); long discord_bulk_overwrite_guild_application_commands_from_json(const char buf[], size_t size, struct discord_bulk_overwrite_guild_application_commands *self); - - - - - - - - - - - - - - - - -long discord_component_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_component *self); long discord_component_from_json(const char buf[], size_t size, struct discord_component *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_components_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_components *self); long discord_components_from_json(const char buf[], size_t size, struct discord_components *self); - - - - - - - - - - - -long discord_select_options_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_select_options *self); long discord_select_options_from_json(const char buf[], size_t size, struct discord_select_options *self); - - - - - - - - - - - - - - -long discord_component_items_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_component_items *self); long discord_component_items_from_json(const char buf[], size_t size, struct discord_component_items *self); - - -long discord_interaction_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_interaction *self); long discord_interaction_from_json(const char buf[], size_t size, struct discord_interaction *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_interaction_response_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_interaction_response *self); long discord_interaction_response_from_json(const char buf[], size_t size, struct discord_interaction_response *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - -long discord_edit_original_interaction_response_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_edit_original_interaction_response *self); long discord_edit_original_interaction_response_from_json(const char buf[], size_t size, struct discord_edit_original_interaction_response *self); - - - - - - - - - - - - - - -long discord_create_followup_message_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_create_followup_message *self); long discord_create_followup_message_from_json(const char buf[], size_t size, struct discord_create_followup_message *self); - - - - - - - - - - - - - - - - - - -long discord_edit_followup_message_from_jsmnf(const jsmnf_pair *root, const char *js, struct discord_edit_followup_message *self); long discord_edit_followup_message_from_json(const char buf[], size_t size, struct discord_edit_followup_message *self); - - - - - - - - - - - - - - -jsonbcode strings_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct strings *self); CCORDcode strings_to_json(char *buf[], size_t *size, const struct strings *self); - - -jsonbcode json_values_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct json_values *self); CCORDcode json_values_to_json(char *buf[], size_t *size, const struct json_values *self); - - -jsonbcode snowflakes_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct snowflakes *self); CCORDcode snowflakes_to_json(char *buf[], size_t *size, const struct snowflakes *self); - - -jsonbcode bitmasks_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct bitmasks *self); CCORDcode bitmasks_to_json(char *buf[], size_t *size, const struct bitmasks *self); - - -jsonbcode integers_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct integers *self); CCORDcode integers_to_json(char *buf[], size_t *size, const struct integers *self); - - - - - - - - - - -jsonbcode discord_application_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_application *self); CCORDcode discord_application_to_json(char *buf[], size_t *size, const struct discord_application *self); - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_install_params_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_install_params *self); CCORDcode discord_install_params_to_json(char *buf[], size_t *size, const struct discord_install_params *self); - - - -jsonbcode discord_audit_log_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_audit_log *self); CCORDcode discord_audit_log_to_json(char *buf[], size_t *size, const struct discord_audit_log *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_create_auto_moderation_rule_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_create_auto_moderation_rule *self); CCORDcode discord_create_auto_moderation_rule_to_json(char *buf[], size_t *size, const struct discord_create_auto_moderation_rule *self); - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_modify_auto_moderation_rule_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_auto_moderation_rule *self); CCORDcode discord_modify_auto_moderation_rule_to_json(char *buf[], size_t *size, const struct discord_modify_auto_moderation_rule *self); - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_invite_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_invite *self); CCORDcode discord_invite_to_json(char *buf[], size_t *size, const struct discord_invite *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_invites_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_invites *self); CCORDcode discord_invites_to_json(char *buf[], size_t *size, const struct discord_invites *self); - - - - - - - - - - - - - - - - - - - -jsonbcode discord_get_invite_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_get_invite *self); CCORDcode discord_get_invite_to_json(char *buf[], size_t *size, const struct discord_get_invite *self); - - - - - - - - - -jsonbcode discord_channel_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_channel *self); CCORDcode discord_channel_to_json(char *buf[], size_t *size, const struct discord_channel *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_channels_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_channels *self); CCORDcode discord_channels_to_json(char *buf[], size_t *size, const struct discord_channels *self); - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_message_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_message *self); CCORDcode discord_message_to_json(char *buf[], size_t *size, const struct discord_message *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_messages_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_messages *self); CCORDcode discord_messages_to_json(char *buf[], size_t *size, const struct discord_messages *self); - - -jsonbcode discord_followed_channel_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_followed_channel *self); CCORDcode discord_followed_channel_to_json(char *buf[], size_t *size, const struct discord_followed_channel *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_thread_member_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_thread_member *self); CCORDcode discord_thread_member_to_json(char *buf[], size_t *size, const struct discord_thread_member *self); - - - - - - - -jsonbcode discord_thread_members_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_thread_members *self); CCORDcode discord_thread_members_to_json(char *buf[], size_t *size, const struct discord_thread_members *self); - - - - - - - - - - - - - -jsonbcode discord_thread_tags_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_thread_tags *self); CCORDcode discord_thread_tags_to_json(char *buf[], size_t *size, const struct discord_thread_tags *self); - - -jsonbcode discord_embed_thumbnail_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_embed_thumbnail *self); CCORDcode discord_embed_thumbnail_to_json(char *buf[], size_t *size, const struct discord_embed_thumbnail *self); - - - - - - - - - - - -jsonbcode discord_embed_video_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_embed_video *self); CCORDcode discord_embed_video_to_json(char *buf[], size_t *size, const struct discord_embed_video *self); - - - - - - - - - - - - - -jsonbcode discord_embed_image_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_embed_image *self); CCORDcode discord_embed_image_to_json(char *buf[], size_t *size, const struct discord_embed_image *self); - - - - - - - - - - - -jsonbcode discord_embed_provider_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_embed_provider *self); CCORDcode discord_embed_provider_to_json(char *buf[], size_t *size, const struct discord_embed_provider *self); - - - - - - - -jsonbcode discord_embed_author_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_embed_author *self); CCORDcode discord_embed_author_to_json(char *buf[], size_t *size, const struct discord_embed_author *self); - - - - - - - - - - - -jsonbcode discord_embed_footer_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_embed_footer *self); CCORDcode discord_embed_footer_to_json(char *buf[], size_t *size, const struct discord_embed_footer *self); - - - - - - - - -jsonbcode discord_embed_field_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_embed_field *self); CCORDcode discord_embed_field_to_json(char *buf[], size_t *size, const struct discord_embed_field *self); - - - - -jsonbcode discord_embed_fields_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_embed_fields *self); CCORDcode discord_embed_fields_to_json(char *buf[], size_t *size, const struct discord_embed_fields *self); - - -jsonbcode discord_embed_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_embed *self); CCORDcode discord_embed_to_json(char *buf[], size_t *size, const struct discord_embed *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_embeds_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_embeds *self); CCORDcode discord_embeds_to_json(char *buf[], size_t *size, const struct discord_embeds *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_attachments_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_attachments *self); CCORDcode discord_attachments_to_json(char *buf[], size_t *size, const struct discord_attachments *self); - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_thread_response_body_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_thread_response_body *self); CCORDcode discord_thread_response_body_to_json(char *buf[], size_t *size, const struct discord_thread_response_body *self); - - - - -jsonbcode discord_modify_channel_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_channel *self); CCORDcode discord_modify_channel_to_json(char *buf[], size_t *size, const struct discord_modify_channel *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_create_message_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_create_message *self); CCORDcode discord_create_message_to_json(char *buf[], size_t *size, const struct discord_create_message *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_edit_message_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_edit_message *self); CCORDcode discord_edit_message_to_json(char *buf[], size_t *size, const struct discord_edit_message *self); - - - - - - - - - - - - - - - -jsonbcode discord_bulk_delete_messages_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_bulk_delete_messages *self); CCORDcode discord_bulk_delete_messages_to_json(char *buf[], size_t *size, const struct discord_bulk_delete_messages *self); - - -jsonbcode discord_edit_channel_permissions_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_edit_channel_permissions *self); CCORDcode discord_edit_channel_permissions_to_json(char *buf[], size_t *size, const struct discord_edit_channel_permissions *self); - - - - - - - - -jsonbcode discord_create_channel_invite_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_create_channel_invite *self); CCORDcode discord_create_channel_invite_to_json(char *buf[], size_t *size, const struct discord_create_channel_invite *self); - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_follow_news_channel_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_follow_news_channel *self); CCORDcode discord_follow_news_channel_to_json(char *buf[], size_t *size, const struct discord_follow_news_channel *self); - - - - -jsonbcode discord_group_dm_add_recipient_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_group_dm_add_recipient *self); CCORDcode discord_group_dm_add_recipient_to_json(char *buf[], size_t *size, const struct discord_group_dm_add_recipient *self); - - - -jsonbcode discord_start_thread_with_message_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_start_thread_with_message *self); CCORDcode discord_start_thread_with_message_to_json(char *buf[], size_t *size, const struct discord_start_thread_with_message *self); - - - - - - - - -jsonbcode discord_start_thread_without_message_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_start_thread_without_message *self); CCORDcode discord_start_thread_without_message_to_json(char *buf[], size_t *size, const struct discord_start_thread_without_message *self); - - - - - - - - - - -jsonbcode discord_list_active_threads_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_list_active_threads *self); CCORDcode discord_list_active_threads_to_json(char *buf[], size_t *size, const struct discord_list_active_threads *self); - - - - - - - - -jsonbcode discord_emoji_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_emoji *self); CCORDcode discord_emoji_to_json(char *buf[], size_t *size, const struct discord_emoji *self); - - - - - - - - - - - - - -jsonbcode discord_emojis_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_emojis *self); CCORDcode discord_emojis_to_json(char *buf[], size_t *size, const struct discord_emojis *self); - - -jsonbcode discord_create_guild_emoji_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_create_guild_emoji *self); CCORDcode discord_create_guild_emoji_to_json(char *buf[], size_t *size, const struct discord_create_guild_emoji *self); - - - - - - -jsonbcode discord_modify_guild_emoji_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_guild_emoji *self); CCORDcode discord_modify_guild_emoji_to_json(char *buf[], size_t *size, const struct discord_modify_guild_emoji *self); - - - - - - - - - - -jsonbcode discord_guild_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_guild *self); CCORDcode discord_guild_to_json(char *buf[], size_t *size, const struct discord_guild *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_guilds_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_guilds *self); CCORDcode discord_guilds_to_json(char *buf[], size_t *size, const struct discord_guilds *self); - - -jsonbcode discord_guild_preview_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_guild_preview *self); CCORDcode discord_guild_preview_to_json(char *buf[], size_t *size, const struct discord_guild_preview *self); - - - - - - - - - - - - -jsonbcode discord_guild_widget_settings_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_guild_widget_settings *self); CCORDcode discord_guild_widget_settings_to_json(char *buf[], size_t *size, const struct discord_guild_widget_settings *self); - - - -jsonbcode discord_guild_widget_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_guild_widget *self); CCORDcode discord_guild_widget_to_json(char *buf[], size_t *size, const struct discord_guild_widget *self); - - - - - - - -jsonbcode discord_guild_member_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_guild_member *self); CCORDcode discord_guild_member_to_json(char *buf[], size_t *size, const struct discord_guild_member *self); - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_guild_members_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_guild_members *self); CCORDcode discord_guild_members_to_json(char *buf[], size_t *size, const struct discord_guild_members *self); - - -jsonbcode discord_integration_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_integration *self); CCORDcode discord_integration_to_json(char *buf[], size_t *size, const struct discord_integration *self); - - - - - - - - - - - - - - - - - -jsonbcode discord_integrations_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_integrations *self); CCORDcode discord_integrations_to_json(char *buf[], size_t *size, const struct discord_integrations *self); - - - - - - - - - - - - - - - - -jsonbcode discord_ban_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_ban *self); CCORDcode discord_ban_to_json(char *buf[], size_t *size, const struct discord_ban *self); - - - -jsonbcode discord_bans_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_bans *self); CCORDcode discord_bans_to_json(char *buf[], size_t *size, const struct discord_bans *self); - - -jsonbcode discord_welcome_screen_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_welcome_screen *self); CCORDcode discord_welcome_screen_to_json(char *buf[], size_t *size, const struct discord_welcome_screen *self); - - - - - - - - - - - - - - -jsonbcode discord_prune_count_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_prune_count *self); CCORDcode discord_prune_count_to_json(char *buf[], size_t *size, const struct discord_prune_count *self); - - -jsonbcode discord_create_guild_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_create_guild *self); CCORDcode discord_create_guild_to_json(char *buf[], size_t *size, const struct discord_create_guild *self); - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_modify_guild_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_guild *self); CCORDcode discord_modify_guild_to_json(char *buf[], size_t *size, const struct discord_modify_guild *self); - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_create_guild_channel_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_create_guild_channel *self); CCORDcode discord_create_guild_channel_to_json(char *buf[], size_t *size, const struct discord_create_guild_channel *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_modify_guild_channel_positions_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_guild_channel_positions *self); CCORDcode discord_modify_guild_channel_positions_to_json(char *buf[], size_t *size, const struct discord_modify_guild_channel_positions *self); - - -jsonbcode discord_list_active_guild_threads_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_list_active_guild_threads *self); CCORDcode discord_list_active_guild_threads_to_json(char *buf[], size_t *size, const struct discord_list_active_guild_threads *self); - - - -jsonbcode discord_add_guild_member_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_add_guild_member *self); CCORDcode discord_add_guild_member_to_json(char *buf[], size_t *size, const struct discord_add_guild_member *self); - - - - - - -jsonbcode discord_modify_guild_member_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_guild_member *self); CCORDcode discord_modify_guild_member_to_json(char *buf[], size_t *size, const struct discord_modify_guild_member *self); - - - - - - - - - - - - - - - - - - - -jsonbcode discord_modify_current_member_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_current_member *self); CCORDcode discord_modify_current_member_to_json(char *buf[], size_t *size, const struct discord_modify_current_member *self); - - - - -jsonbcode discord_modify_current_user_nick_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_current_user_nick *self); CCORDcode discord_modify_current_user_nick_to_json(char *buf[], size_t *size, const struct discord_modify_current_user_nick *self); - - - - -jsonbcode discord_create_guild_ban_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_create_guild_ban *self); CCORDcode discord_create_guild_ban_to_json(char *buf[], size_t *size, const struct discord_create_guild_ban *self); - - - - -jsonbcode discord_create_guild_role_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_create_guild_role *self); CCORDcode discord_create_guild_role_to_json(char *buf[], size_t *size, const struct discord_create_guild_role *self); - - - - - - - - - - - - - - -jsonbcode discord_modify_guild_role_positions_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_guild_role_positions *self); CCORDcode discord_modify_guild_role_positions_to_json(char *buf[], size_t *size, const struct discord_modify_guild_role_positions *self); - - -jsonbcode discord_modify_guild_role_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_guild_role *self); CCORDcode discord_modify_guild_role_to_json(char *buf[], size_t *size, const struct discord_modify_guild_role *self); - - - - - - - - -jsonbcode discord_begin_guild_prune_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_begin_guild_prune *self); CCORDcode discord_begin_guild_prune_to_json(char *buf[], size_t *size, const struct discord_begin_guild_prune *self); - - - - - - -jsonbcode discord_modify_guild_welcome_screen_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_guild_welcome_screen *self); CCORDcode discord_modify_guild_welcome_screen_to_json(char *buf[], size_t *size, const struct discord_modify_guild_welcome_screen *self); - - - - - - -jsonbcode discord_modify_current_user_voice_state_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_current_user_voice_state *self); CCORDcode discord_modify_current_user_voice_state_to_json(char *buf[], size_t *size, const struct discord_modify_current_user_voice_state *self); - - - - - - -jsonbcode discord_modify_user_voice_state_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_user_voice_state *self); CCORDcode discord_modify_user_voice_state_to_json(char *buf[], size_t *size, const struct discord_modify_user_voice_state *self); - - - -jsonbcode discord_guild_scheduled_event_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_guild_scheduled_event *self); CCORDcode discord_guild_scheduled_event_to_json(char *buf[], size_t *size, const struct discord_guild_scheduled_event *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_guild_scheduled_events_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_guild_scheduled_events *self); CCORDcode discord_guild_scheduled_events_to_json(char *buf[], size_t *size, const struct discord_guild_scheduled_events *self); - - - - - - - - - - - -jsonbcode discord_guild_scheduled_event_users_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_guild_scheduled_event_users *self); CCORDcode discord_guild_scheduled_event_users_to_json(char *buf[], size_t *size, const struct discord_guild_scheduled_event_users *self); - - -jsonbcode discord_create_guild_scheduled_event_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_create_guild_scheduled_event *self); CCORDcode discord_create_guild_scheduled_event_to_json(char *buf[], size_t *size, const struct discord_create_guild_scheduled_event *self); - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_modify_guild_scheduled_event_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_guild_scheduled_event *self); CCORDcode discord_modify_guild_scheduled_event_to_json(char *buf[], size_t *size, const struct discord_modify_guild_scheduled_event *self); - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_guild_template_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_guild_template *self); CCORDcode discord_guild_template_to_json(char *buf[], size_t *size, const struct discord_guild_template *self); - - - - - - - - - - - - -jsonbcode discord_guild_templates_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_guild_templates *self); CCORDcode discord_guild_templates_to_json(char *buf[], size_t *size, const struct discord_guild_templates *self); - - -jsonbcode discord_create_guild_from_guild_template_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_create_guild_from_guild_template *self); CCORDcode discord_create_guild_from_guild_template_to_json(char *buf[], size_t *size, const struct discord_create_guild_from_guild_template *self); - - - - - -jsonbcode discord_create_guild_template_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_create_guild_template *self); CCORDcode discord_create_guild_template_to_json(char *buf[], size_t *size, const struct discord_create_guild_template *self); - - - - - -jsonbcode discord_modify_guild_template_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_guild_template *self); CCORDcode discord_modify_guild_template_to_json(char *buf[], size_t *size, const struct discord_modify_guild_template *self); - - - - - - - -jsonbcode discord_stage_instance_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_stage_instance *self); CCORDcode discord_stage_instance_to_json(char *buf[], size_t *size, const struct discord_stage_instance *self); - - - - - - - - - - - - -jsonbcode discord_create_stage_instance_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_create_stage_instance *self); CCORDcode discord_create_stage_instance_to_json(char *buf[], size_t *size, const struct discord_create_stage_instance *self); - - - - - - -jsonbcode discord_modify_stage_instance_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_stage_instance *self); CCORDcode discord_modify_stage_instance_to_json(char *buf[], size_t *size, const struct discord_modify_stage_instance *self); - - - - - -jsonbcode discord_sticker_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_sticker *self); CCORDcode discord_sticker_to_json(char *buf[], size_t *size, const struct discord_sticker *self); - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_stickers_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_stickers *self); CCORDcode discord_stickers_to_json(char *buf[], size_t *size, const struct discord_stickers *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_sticker_packs_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_sticker_packs *self); CCORDcode discord_sticker_packs_to_json(char *buf[], size_t *size, const struct discord_sticker_packs *self); - - -jsonbcode discord_modify_guild_sticker_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_guild_sticker *self); CCORDcode discord_modify_guild_sticker_to_json(char *buf[], size_t *size, const struct discord_modify_guild_sticker *self); - - - - - - - - - - - - - - - - - - - -jsonbcode discord_user_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_user *self); CCORDcode discord_user_to_json(char *buf[], size_t *size, const struct discord_user *self); - - - - - - - - - - - - - - - - -jsonbcode discord_users_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_users *self); CCORDcode discord_users_to_json(char *buf[], size_t *size, const struct discord_users *self); - - - - - - - - - - - - - - - -jsonbcode discord_connections_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_connections *self); CCORDcode discord_connections_to_json(char *buf[], size_t *size, const struct discord_connections *self); - - -jsonbcode discord_modify_current_user_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_current_user *self); CCORDcode discord_modify_current_user_to_json(char *buf[], size_t *size, const struct discord_modify_current_user *self); - - - - - - - -jsonbcode discord_create_dm_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_create_dm *self); CCORDcode discord_create_dm_to_json(char *buf[], size_t *size, const struct discord_create_dm *self); - - - - -jsonbcode discord_create_group_dm_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_create_group_dm *self); CCORDcode discord_create_group_dm_to_json(char *buf[], size_t *size, const struct discord_create_group_dm *self); - - - - - - - -jsonbcode discord_voice_state_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_voice_state *self); CCORDcode discord_voice_state_to_json(char *buf[], size_t *size, const struct discord_voice_state *self); - - - - - - - - - - - - - - - - -jsonbcode discord_voice_states_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_voice_states *self); CCORDcode discord_voice_states_to_json(char *buf[], size_t *size, const struct discord_voice_states *self); - + #define REFLECTC_DEFINED__discord_modify_current_member + #define REFLECTC_DEFINED__discord_modify_current_user_nick - - - - - + #define REFLECTC_DEFINED__discord_add_guild_member_role -jsonbcode discord_voice_regions_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_voice_regions *self); CCORDcode discord_voice_regions_to_json(char *buf[], size_t *size, const struct discord_voice_regions *self); - + #define REFLECTC_DEFINED__discord_remove_guild_member_role -jsonbcode discord_webhook_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_webhook *self); CCORDcode discord_webhook_to_json(char *buf[], size_t *size, const struct discord_webhook *self); - - - - - - - - - - - - - - - - - -jsonbcode discord_webhooks_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_webhooks *self); CCORDcode discord_webhooks_to_json(char *buf[], size_t *size, const struct discord_webhooks *self); - - -jsonbcode discord_create_webhook_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_create_webhook *self); CCORDcode discord_create_webhook_to_json(char *buf[], size_t *size, const struct discord_create_webhook *self); - - - - - -jsonbcode discord_modify_webhook_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_webhook *self); CCORDcode discord_modify_webhook_to_json(char *buf[], size_t *size, const struct discord_modify_webhook *self); - - - - - - -jsonbcode discord_modify_webhook_with_token_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_modify_webhook_with_token *self); CCORDcode discord_modify_webhook_with_token_to_json(char *buf[], size_t *size, const struct discord_modify_webhook_with_token *self); - - - - - -jsonbcode discord_execute_webhook_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_execute_webhook *self); CCORDcode discord_execute_webhook_to_json(char *buf[], size_t *size, const struct discord_execute_webhook *self); - - - - - - - - - - - - - - - - - - - + #define REFLECTC_DEFINED__discord_remove_guild_member -jsonbcode discord_edit_webhook_message_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_edit_webhook_message *self); CCORDcode discord_edit_webhook_message_to_json(char *buf[], size_t *size, const struct discord_edit_webhook_message *self); - - - - - - - - - - - - - + #define REFLECTC_DEFINED__discord_create_guild_ban + #define REFLECTC_DEFINED__discord_remove_guild_ban + #define REFLECTC_DEFINED__discord_create_guild_role + #define REFLECTC_DEFINED__discord_modify_guild_role_position + #define REFLECTC_DEFINED__discord_modify_guild_role_positions + #define REFLECTC_DEFINED__discord_modify_guild_role + #define REFLECTC_DEFINED__discord_delete_guild_role + #define REFLECTC_DEFINED__discord_get_guild_prune_count + #define REFLECTC_DEFINED__discord_begin_guild_prune + #define REFLECTC_DEFINED__discord_delete_guild_integrations + #define REFLECTC_DEFINED__discord_get_guild_widget_image + #define REFLECTC_DEFINED__discord_modify_guild_welcome_screen + #define REFLECTC_DEFINED__discord_modify_current_user_voice_state + #define REFLECTC_DEFINED__discord_modify_user_voice_state + #define REFLECTC_DEFINED__discord_guild_scheduled_event_privacy_level + #define REFLECTC_DEFINED__discord_guild_scheduled_event_entity_types + #define REFLECTC_DEFINED__discord_guild_scheduled_event_status + #define REFLECTC_DEFINED__discord_guild_scheduled_event + #define REFLECTC_DEFINED__discord_guild_scheduled_event_entity_metadata + #define REFLECTC_DEFINED__discord_guild_scheduled_events + #define REFLECTC_DEFINED__discord_guild_scheduled_event_user + #define REFLECTC_DEFINED__discord_guild_scheduled_event_users + #define REFLECTC_DEFINED__discord_list_guild_scheduled_events + #define REFLECTC_DEFINED__discord_create_guild_scheduled_event + #define REFLECTC_DEFINED__discord_get_guild_scheduled_event + #define REFLECTC_DEFINED__discord_modify_guild_scheduled_event + #define REFLECTC_DEFINED__discord_get_guild_scheduled_event_users + #define REFLECTC_DEFINED__discord_guild_template + #define REFLECTC_DEFINED__discord_guild_templates + #define REFLECTC_DEFINED__discord_create_guild_from_guild_template - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + #define REFLECTC_DEFINED__discord_create_guild_template + #define REFLECTC_DEFINED__discord_modify_guild_template - + #define REFLECTC_DEFINED__discord_interaction_types + #define REFLECTC_DEFINED__discord_interaction_callback_types - - + #define REFLECTC_DEFINED__discord_interaction + #define REFLECTC_DEFINED__discord_interaction_data - - - + #define REFLECTC_DEFINED__discord_resolved_data + #define REFLECTC_DEFINED__discord_message_interaction - - + #define REFLECTC_DEFINED__discord_interaction_response + #define REFLECTC_DEFINED__discord_interaction_callback_data - - - - + #define REFLECTC_DEFINED__discord_edit_original_interaction_response + #define REFLECTC_DEFINED__discord_create_followup_message - - - + #define REFLECTC_DEFINED__discord_edit_followup_message + #define REFLECTC_DEFINED__discord_invite_target_types - - + #define REFLECTC_DEFINED__discord_invite + #define REFLECTC_DEFINED__discord_invites - + #define REFLECTC_DEFINED__discord_invite_metadata -jsonbcode discord_presence_update_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_presence_update *self); CCORDcode discord_presence_update_to_json(char *buf[], size_t *size, const struct discord_presence_update *self); - - - - - - - - - - - - - - - - - - - + #define REFLECTC_DEFINED__discord_invite_stage_instance + #define REFLECTC_DEFINED__discord_get_invite - - - + #define REFLECTC_DEFINED__discord_delete_invite + #define REFLECTC_DEFINED__discord_component_types - + #define REFLECTC_DEFINED__discord_component_styles -jsonbcode discord_identify_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_identify *self); CCORDcode discord_identify_to_json(char *buf[], size_t *size, const struct discord_identify *self); - - - - - - - - - - - + #define REFLECTC_DEFINED__discord_component_spacing + #define REFLECTC_DEFINED__discord_component - - - + #define REFLECTC_DEFINED__discord_components -jsonbcode discord_resume_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_resume *self); CCORDcode discord_resume_to_json(char *buf[], size_t *size, const struct discord_resume *self); - - - + #define REFLECTC_DEFINED__discord_select_option -jsonbcode discord_request_guild_members_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_request_guild_members *self); CCORDcode discord_request_guild_members_to_json(char *buf[], size_t *size, const struct discord_request_guild_members *self); - - - - - - - - - - + #define REFLECTC_DEFINED__discord_select_options -jsonbcode discord_update_voice_state_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_update_voice_state *self); CCORDcode discord_update_voice_state_to_json(char *buf[], size_t *size, const struct discord_update_voice_state *self); - - - - + #define REFLECTC_DEFINED__discord_component_media -jsonbcode discord_auth_response_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_auth_response *self); CCORDcode discord_auth_response_to_json(char *buf[], size_t *size, const struct discord_auth_response *self); - - - - + #define REFLECTC_DEFINED__discord_component_item + #define REFLECTC_DEFINED__discord_component_items + #define REFLECTC_DEFINED__discord_auth_response + #define REFLECTC_DEFINED__discord_role + #define REFLECTC_DEFINED__discord_roles + #define REFLECTC_DEFINED__discord_role_tag + #define REFLECTC_DEFINED__discord_privacy_level + #define REFLECTC_DEFINED__discord_stage_instance + #define REFLECTC_DEFINED__discord_stage_instances + #define REFLECTC_DEFINED__discord_create_stage_instance + #define REFLECTC_DEFINED__discord_modify_stage_instance + #define REFLECTC_DEFINED__discord_delete_stage_instance + #define REFLECTC_DEFINED__discord_sticker_types + #define REFLECTC_DEFINED__discord_sticker_format_types + #define REFLECTC_DEFINED__discord_sticker + #define REFLECTC_DEFINED__discord_stickers + #define REFLECTC_DEFINED__discord_sticker_item + #define REFLECTC_DEFINED__discord_sticker_items + #define REFLECTC_DEFINED__discord_sticker_pack + #define REFLECTC_DEFINED__discord_sticker_packs + #define REFLECTC_DEFINED__discord_list_nitro_sticker_packs + #define REFLECTC_DEFINED__discord_create_guild_sticker + #define REFLECTC_DEFINED__discord_modify_guild_sticker + #define REFLECTC_DEFINED__discord_delete_guild_sticker + #define REFLECTC_DEFINED__discord_membership_state + #define REFLECTC_DEFINED__discord_team + #define REFLECTC_DEFINED__discord_team_member + #define REFLECTC_DEFINED__discord_team_members + #define REFLECTC_DEFINED__discord_premium_types + #define REFLECTC_DEFINED__discord_visibility_types + #define REFLECTC_DEFINED__discord_user + #define REFLECTC_DEFINED__discord_users + #define REFLECTC_DEFINED__discord_connection + #define REFLECTC_DEFINED__discord_connections + #define REFLECTC_DEFINED__discord_modify_current_user + #define REFLECTC_DEFINED__discord_get_current_user_guilds + #define REFLECTC_DEFINED__discord_create_dm + #define REFLECTC_DEFINED__discord_create_group_dm + #define REFLECTC_DEFINED__discord_voice_state + #define REFLECTC_DEFINED__discord_voice_states + #define REFLECTC_DEFINED__discord_voice_region + #define REFLECTC_DEFINED__discord_voice_regions -jsonbcode discord_role_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_role *self); CCORDcode discord_role_to_json(char *buf[], size_t *size, const struct discord_role *self); - - - - - - - - - - - - - - - - - + #define REFLECTC_DEFINED__discord_voice_close_opcodes -jsonbcode discord_roles_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_roles *self); CCORDcode discord_roles_to_json(char *buf[], size_t *size, const struct discord_roles *self); - + #define REFLECTC_DEFINED__discord_voice_opcodes + #define REFLECTC_DEFINED__discord_webhook_types - - - - - - - + #define REFLECTC_DEFINED__discord_webhook -jsonbcode discord_team_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_team *self); CCORDcode discord_team_to_json(char *buf[], size_t *size, const struct discord_team *self); - - - - - - - + #define REFLECTC_DEFINED__discord_webhooks + #define REFLECTC_DEFINED__discord_create_webhook - - - - - - - - + #define REFLECTC_DEFINED__discord_modify_webhook + #define REFLECTC_DEFINED__discord_delete_webhook - + #define REFLECTC_DEFINED__discord_modify_webhook_with_token + #define REFLECTC_DEFINED__discord_execute_webhook + #define REFLECTC_DEFINED__discord_get_webhook_message + #define REFLECTC_DEFINED__discord_edit_webhook_message -jsonbcode discord_application_command_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_application_command *self); CCORDcode discord_application_command_to_json(char *buf[], size_t *size, const struct discord_application_command *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_application_commands_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_application_commands *self); CCORDcode discord_application_commands_to_json(char *buf[], size_t *size, const struct discord_application_commands *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_guild_application_command_permissions_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_guild_application_command_permissions *self); CCORDcode discord_guild_application_command_permissions_to_json(char *buf[], size_t *size, const struct discord_guild_application_command_permissions *self); - - -jsonbcode discord_application_command_permission_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_application_command_permission *self); CCORDcode discord_application_command_permission_to_json(char *buf[], size_t *size, const struct discord_application_command_permission *self); - - - - -jsonbcode discord_application_command_permissions_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_application_command_permissions *self); CCORDcode discord_application_command_permissions_to_json(char *buf[], size_t *size, const struct discord_application_command_permissions *self); - - -jsonbcode discord_create_global_application_command_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_create_global_application_command *self); CCORDcode discord_create_global_application_command_to_json(char *buf[], size_t *size, const struct discord_create_global_application_command *self); - - - - - - - - - - - - - - -jsonbcode discord_edit_global_application_command_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_edit_global_application_command *self); CCORDcode discord_edit_global_application_command_to_json(char *buf[], size_t *size, const struct discord_edit_global_application_command *self); - - - - - - - - - - - -jsonbcode discord_create_guild_application_command_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_create_guild_application_command *self); CCORDcode discord_create_guild_application_command_to_json(char *buf[], size_t *size, const struct discord_create_guild_application_command *self); - - - - - - - - - - - - - - -jsonbcode discord_edit_guild_application_command_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_edit_guild_application_command *self); CCORDcode discord_edit_guild_application_command_to_json(char *buf[], size_t *size, const struct discord_edit_guild_application_command *self); - - - - - - - - - - -jsonbcode discord_bulk_overwrite_guild_application_commands_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_bulk_overwrite_guild_application_commands *self); CCORDcode discord_bulk_overwrite_guild_application_commands_to_json(char *buf[], size_t *size, const struct discord_bulk_overwrite_guild_application_commands *self); - - - - - - - - - - - - - - - - -jsonbcode discord_component_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_component *self); CCORDcode discord_component_to_json(char *buf[], size_t *size, const struct discord_component *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_components_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_components *self); CCORDcode discord_components_to_json(char *buf[], size_t *size, const struct discord_components *self); - - - - - - - - - - - -jsonbcode discord_select_options_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_select_options *self); CCORDcode discord_select_options_to_json(char *buf[], size_t *size, const struct discord_select_options *self); - - - - - - - - - - - - - - -jsonbcode discord_component_items_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_component_items *self); CCORDcode discord_component_items_to_json(char *buf[], size_t *size, const struct discord_component_items *self); - - -jsonbcode discord_interaction_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_interaction *self); CCORDcode discord_interaction_to_json(char *buf[], size_t *size, const struct discord_interaction *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_interaction_response_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_interaction_response *self); CCORDcode discord_interaction_response_to_json(char *buf[], size_t *size, const struct discord_interaction_response *self); - - - - - - - - - - - - - - - - - - - - - - - - - - - - -jsonbcode discord_edit_original_interaction_response_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_edit_original_interaction_response *self); CCORDcode discord_edit_original_interaction_response_to_json(char *buf[], size_t *size, const struct discord_edit_original_interaction_response *self); - - - - - - - - - - - - - - -jsonbcode discord_create_followup_message_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_create_followup_message *self); CCORDcode discord_create_followup_message_to_json(char *buf[], size_t *size, const struct discord_create_followup_message *self); - - - - - - - - - - - - - - - - - - -jsonbcode discord_edit_followup_message_to_jsonb(jsonb *b, char *buf[], size_t *size, const struct discord_edit_followup_message *self); CCORDcode discord_edit_followup_message_to_json(char *buf[], size_t *size, const struct discord_edit_followup_message *self); - - - - - - - - - - - - - - -#endif /* DISCORD_CODECS_H */ + #define REFLECTC_DEFINED__discord_delete_webhook_message +enum discord_application_command_types { DISCORD_APPLICATION_CHAT_INPUT = 1, DISCORD_APPLICATION_USER = 2, DISCORD_APPLICATION_MESSAGE = 3, __discord_application_command_types_MAX__ }; +enum discord_application_command_option_types { DISCORD_APPLICATION_OPTION_SUB_COMMAND = 1, DISCORD_APPLICATION_OPTION_SUB_COMMAND_GROUP = 2, DISCORD_APPLICATION_OPTION_STRING = 3, DISCORD_APPLICATION_OPTION_INTEGER = 4, DISCORD_APPLICATION_OPTION_BOOLEAN = 5, DISCORD_APPLICATION_OPTION_USER = 6, DISCORD_APPLICATION_OPTION_CHANNEL = 7, DISCORD_APPLICATION_OPTION_ROLE = 8, DISCORD_APPLICATION_OPTION_MENTIONABLE = 9, DISCORD_APPLICATION_OPTION_NUMBER = 10, DISCORD_APPLICATION_OPTION_ATTACHMENT = 11, __discord_application_command_option_types_MAX__ }; +enum discord_application_command_permission_types { DISCORD_APPLICATION_PERMISSION_ROLE = 1, DISCORD_APPLICATION_PERMISSION_USER = 2, DISCORD_APPLICATION_PERMISSION_CHANNEL = 3, __discord_application_command_permission_types_MAX__ }; +enum discord_audit_log_events { DISCORD_AUDIT_LOG_GUILD_UPDATE = 1, DISCORD_AUDIT_LOG_CHANNEL_CREATE = 10, DISCORD_AUDIT_LOG_CHANNEL_UPDATE = 11, DISCORD_AUDIT_LOG_CHANNEL_DELETE = 12, DISCORD_AUDIT_LOG_CHANNEL_OVERWRITE_CREATE = 13, DISCORD_AUDIT_LOG_CHANNEL_OVERWRITE_UPDATE = 14, DISCORD_AUDIT_LOG_CHANNEL_OVERWRITE_DELETE = 15, DISCORD_AUDIT_LOG_MEMBER_KICK = 20, DISCORD_AUDIT_LOG_MEMBER_PRUNE = 21, DISCORD_AUDIT_LOG_MEMBER_BAN_ADD = 22, DISCORD_AUDIT_LOG_MEMBER_BAN_REMOVE = 23, DISCORD_AUDIT_LOG_MEMBER_UPDATE = 24, DISCORD_AUDIT_LOG_MEMBER_ROLE_UPDATE = 25, DISCORD_AUDIT_LOG_MEMBER_MOVE = 26, DISCORD_AUDIT_LOG_MEMBER_DISCONNECT = 27, DISCORD_AUDIT_LOG_BOT_ADD = 28, DISCORD_AUDIT_LOG_ROLE_CREATE = 30, DISCORD_AUDIT_LOG_ROLE_UPDATE = 31, DISCORD_AUDIT_LOG_ROLE_DELETE = 32, DISCORD_AUDIT_LOG_INVITE_CREATE = 40, DISCORD_AUDIT_LOG_INVITE_UPDATE = 41, DISCORD_AUDIT_LOG_INVITE_DELETE = 42, DISCORD_AUDIT_LOG_WEBHOOK_CREATE = 50, DISCORD_AUDIT_LOG_WEBHOOK_UPDATE = 51, DISCORD_AUDIT_LOG_WEBHOOK_DELETE = 52, DISCORD_AUDIT_LOG_EMOJI_CREATE = 60, DISCORD_AUDIT_LOG_EMOJI_UPDATE = 61, DISCORD_AUDIT_LOG_EMOJI_DELETE = 62, DISCORD_AUDIT_LOG_MESSAGE_DELETE = 72, DISCORD_AUDIT_LOG_MESSAGE_BULK_DELETE = 73, DISCORD_AUDIT_LOG_MESSAGE_PIN = 74, DISCORD_AUDIT_LOG_MESSAGE_UNPIN = 75, DISCORD_AUDIT_LOG_INTEGRATION_CREATE = 80, DISCORD_AUDIT_LOG_INTEGRATION_UPDATE = 81, DISCORD_AUDIT_LOG_INTEGRATION_DELETE = 82, DISCORD_AUDIT_LOG_STAGE_INSTANCE_CREATE = 83, DISCORD_AUDIT_LOG_STAGE_INSTANCE_UPDATE = 84, DISCORD_AUDIT_LOG_STAGE_INSTANCE_DELETE = 85, DISCORD_AUDIT_LOG_STICKER_CREATE = 90, DISCORD_AUDIT_LOG_STICKER_UPDATE = 91, DISCORD_AUDIT_LOG_STICKER_DELETE = 92, DISCORD_AUDIT_LOG_GUILD_SCHEDULED_EVENT_CREATE = 100, DISCORD_AUDIT_LOG_GUILD_SCHEDULED_EVENT_UPDATE = 101, DISCORD_AUDIT_LOG_GUILD_SCHEDULED_EVENT_DELETE = 102, DISCORD_AUDIT_LOG_THREAD_CREATE = 110, DISCORD_AUDIT_LOG_THREAD_UPDATE = 111, DISCORD_AUDIT_LOG_THREAD_DELETE = 112, DISCORD_AUDIT_LOG_APPLICATION_COMMAND_PERMISSION_UPDATE = 121, DISCORD_AUDIT_LOG_AUTO_MODERATION_RULE_CREATE = 140, DISCORD_AUDIT_LOG_AUTO_MODERATION_RULE_UPDATE = 141, DISCORD_AUDIT_LOG_AUTO_MODERATION_RULE_DELETE = 142, DISCORD_AUDIT_LOG_AUTO_MODERATION_BLOCK_MESSAGE = 143, __discord_audit_log_events_MAX__ }; +enum discord_auto_moderation_trigger_types { DISCORD_AUTO_MODERATION_KEYWORD = 1, DISCORD_AUTO_MODERATION_HARMFUL_LINK = 2, DISCORD_AUTO_MODERATION_SPAM = 3, DISCORD_AUTO_MODERATION_KEYWORD_PRESET = 4, __discord_auto_moderation_trigger_types_MAX__ }; +enum discord_auto_moderation_keyword_preset_types { DISCORD_AUTO_MODERATION_PROFANITY = 1, DISCORD_AUTO_MODERATION_SEXUAL_CONTENT = 2, DISCORD_AUTO_MODERATION_SLURS = 3, __discord_auto_moderation_keyword_preset_types_MAX__ }; +enum discord_auto_moderation_event_types { DISCORD_AUTO_MODERATION_MESSAGE_SEND = 1, __discord_auto_moderation_event_types_MAX__ }; +enum discord_auto_moderation_action_types { DISCORD_AUTO_MODERATION_ACTION_BLOCK_MESSAGE = 1, DISCORD_AUTO_MODERATION_ACTION_SEND_ALERT_MESSAGE = 2, DISCORD_AUTO_MODERATION_ACTION_TIMEOUT = 3, __discord_auto_moderation_action_types_MAX__ }; +enum discord_channel_types { DISCORD_CHANNEL_GUILD_TEXT = 0, DISCORD_CHANNEL_DM = 1, DISCORD_CHANNEL_GUILD_VOICE = 2, DISCORD_CHANNEL_GROUP_DM = 3, DISCORD_CHANNEL_GUILD_CATEGORY = 4, DISCORD_CHANNEL_GUILD_ANNOUNCEMENT = 5, DISCORD_CHANNEL_GUILD_NEWS = DISCORD_CHANNEL_GUILD_ANNOUNCEMENT, DISCORD_CHANNEL_GUILD_STORE = 6, DISCORD_CHANNEL_ANNOUNCEMENT_THREAD = 10, DISCORD_CHANNEL_GUILD_NEWS_THREAD = DISCORD_CHANNEL_ANNOUNCEMENT_THREAD, DISCORD_CHANNEL_GUILD_PUBLIC_THREAD = 11, DISCORD_CHANNEL_GUILD_PRIVATE_THREAD = 12, DISCORD_CHANNEL_GUILD_STAGE_VOICE = 13, DISCORD_CHANNEL_GUILD_DIRECTORY = 14, DISCORD_CHANNEL_GUILD_FORUM = 15, DISCORD_CHANNEL_GUILD_MEDIA = 16, __discord_channel_types_MAX__ }; +enum discord_video_quality_modes { DISCORD_VIDEO_QUALITY_AUTO = 1, DISCORD_VIDEO_QUALITY_FULL = 2, __discord_video_quality_modes_MAX__ }; +enum discord_sort_order_types { DISCORD_SORT_ORDER_LATEST_ACTIVITY = 0, DISCORD_SORT_ORDER_CREATION_DATE = 1, __discord_sort_order_types_MAX__ }; +enum discord_forum_layout_types { DISCORD_FORUM_LAYOUT_NOT_SET = 0, DISCORD_FORUM_LAYOUT_LIST_VIEW = 1, DISCORD_FORUM_LAYOUT_GALLERY_VIEW = 1, __discord_forum_layout_types_MAX__ }; +enum discord_message_types { DISCORD_MESSAGE_DEFAULT = 0, DISCORD_MESSAGE_RECIPIENT_ADD = 1, DISCORD_MESSAGE_RECIPIENT_REMOVE = 2, DISCORD_MESSAGE_CALL = 3, DISCORD_MESSAGE_CHANNEL_NAME_CHANGE = 4, DISCORD_MESSAGE_CHANNEL_ICON_CHANGE = 5, DISCORD_MESSAGE_CHANNEL_PINNED_MESSAGE = 6, DISCORD_MESSAGE_GUILD_MEMBER_JOIN = 7, DISCORD_MESSAGE_USER_PREMIUM_GUILD_SUBSCRIPTION = 8, DISCORD_MESSAGE_USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_1 = 9, DISCORD_MESSAGE_USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_2 = 10, DISCORD_MESSAGE_USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_3 = 11, DISCORD_MESSAGE_CHANNEL_FOLLOW_ADD = 12, DISCORD_MESSAGE_GUILD_DISCOVERY_DISQUALIFIED = 14, DISCORD_MESSAGE_GUILD_DISCOVERY_REQUALIFIED = 15, DISCORD_MESSAGE_GUILD_DISCOVERY_GRACE_PERIOD_INITIAL_WARNING = 16, DISCORD_MESSAGE_GUILD_DISCOVERY_GRACE_PERIOD_FINAL_WARNING = 17, DISCORD_MESSAGE_THREAD_CREATED = 18, DISCORD_MESSAGE_REPLY = 19, DISCORD_MESSAGE_CHAT_INPUT_COMMAND = 20, DISCORD_MESSAGE_THREAD_STARTER_MESSAGE = 21, DISCORD_MESSAGE_GUILD_INVITE_REMINDER = 22, DISCORD_MESSAGE_CONTEXT_MENU_COMMAND = 23, DISCORD_MESSAGE_AUTO_MODERATION_ACTION = 24, DISCORD_MESSAGE_ROLE_SUBSCRIPTION_PURCHASE = 25, DISCORD_MESSAGE_INTERACTION_PREMIUM_UPSELL = 26, DISCORD_MESSAGE_STAGE_START = 27, DISCORD_MESSAGE_STAGE_END = 28, DISCORD_MESSAGE_STAGE_SPEAKER = 29, DISCORD_MESSAGE_STAGE_TOPIC = 31, DISCORD_MESSAGE_GUILD_APPLICATION_PREMIUM_SUBSCRIPTION = 32, __discord_message_types_MAX__ }; +enum discord_message_activity_types { DISCORD_MESSAGE_ACTIVITY_JOIN = 1, DISCORD_MESSAGE_ACTIVITY_SPECTATE = 2, DISCORD_MESSAGE_ACTIVITY_LISTEN = 3, DISCORD_MESSAGE_ACTIVITY_JOIN_REQUEST = 5, __discord_message_activity_types_MAX__ }; +enum discord_gateway_close_opcodes { DISCORD_GATEWAY_CLOSE_REASON_UNKNOWN_ERROR = 4000, DISCORD_GATEWAY_CLOSE_REASON_UNKNOWN_OPCODE = 4001, DISCORD_GATEWAY_CLOSE_REASON_DECODE_ERROR = 4002, DISCORD_GATEWAY_CLOSE_REASON_NOT_AUTHENTICATED = 4003, DISCORD_GATEWAY_CLOSE_REASON_AUTHENTICATION_FAILED = 4004, DISCORD_GATEWAY_CLOSE_REASON_ALREADY_AUTHENTICATED = 4005, DISCORD_GATEWAY_CLOSE_REASON_INVALID_SEQUENCE = 4007, DISCORD_GATEWAY_CLOSE_REASON_RATE_LIMITED = 4008, DISCORD_GATEWAY_CLOSE_REASON_SESSION_TIMED_OUT = 4009, DISCORD_GATEWAY_CLOSE_REASON_INVALID_SHARD = 4010, DISCORD_GATEWAY_CLOSE_REASON_SHARDING_REQUIRED = 4011, DISCORD_GATEWAY_CLOSE_REASON_INVALID_API_VERSION = 4012, DISCORD_GATEWAY_CLOSE_REASON_INVALID_INTENTS = 4013, DISCORD_GATEWAY_CLOSE_REASON_DISALLOWED_INTENTS = 4014, DISCORD_GATEWAY_CLOSE_REASON_RECONNECT = 4900, __discord_gateway_close_opcodes_MAX__ }; +enum discord_gateway_opcodes { DISCORD_GATEWAY_DISPATCH = 0, DISCORD_GATEWAY_HEARTBEAT = 1, DISCORD_GATEWAY_IDENTIFY = 2, DISCORD_GATEWAY_PRESENCE_UPDATE = 3, DISCORD_GATEWAY_VOICE_STATE_UPDATE = 4, DISCORD_GATEWAY_RESUME = 6, DISCORD_GATEWAY_RECONNECT = 7, DISCORD_GATEWAY_REQUEST_GUILD_MEMBERS = 8, DISCORD_GATEWAY_INVALID_SESSION = 9, DISCORD_GATEWAY_HELLO = 10, DISCORD_GATEWAY_HEARTBEAT_ACK = 11, __discord_gateway_opcodes_MAX__ }; +enum discord_activity_types { DISCORD_ACTIVITY_GAME = 0, DISCORD_ACTIVITY_STREAMING = 1, DISCORD_ACTIVITY_LISTENING = 2, DISCORD_ACTIVITY_WATCHING = 3, DISCORD_ACTIVITY_CUSTOM = 4, DISCORD_ACTIVITY_COMPETING = 5, __discord_activity_types_MAX__ }; +enum discord_message_notification_level { DISCORD_MESSAGE_NOTIFICATION_ALL_MESSAGES = 0, DISCORD_MESSAGE_NOTIFICATION_ONLY_MESSAGES = 1, __discord_message_notification_level_MAX__ }; +enum discord_explicit_content_filter_level { DISCORD_EXPLICIT_CONTENT_DISABLED = 0, DISCORD_EXPLICIT_CONTENT_MEMBERS_WITHOUT_ROLES = 1, DISCORD_MESSAGE_NOTIFICATION_ALL_MEMBERS = 2, __discord_explicit_content_filter_level_MAX__ }; +enum discord_mfa_level { DISCORD_MFA_NONE = 0, DISCORD_MFA_ELEVATED = 1, __discord_mfa_level_MAX__ }; +enum discord_verification_level { DISCORD_VERIFICATION_NONE = 0, DISCORD_VERIFICATION_LOW = 1, DISCORD_VERIFICATION_MEDIUM = 2, DISCORD_VERIFICATION_HIGH = 3, DISCORD_VERIFICATION_VERY_HIGH = 4, __discord_verification_level_MAX__ }; +enum discord_guild_nsfw_level { DISCORD_GUILD_NSFW_DEFAULT = 0, DISCORD_GUILD_NSFW_EXPLICIT = 1, DISCORD_GUILD_NSFW_SAFE = 2, DISCORD_GUILD_NSFW_AGE_RESTRICTED = 3, __discord_guild_nsfw_level_MAX__ }; +enum discord_premium_tier { DISCORD_PREMIUM_TIER_NONE = 0, DISCORD_PREMIUM_TIER_1 = 1, DISCORD_PREMIUM_TIER_2 = 2, DISCORD_PREMIUM_TIER_3 = 3, __discord_premium_tier_MAX__ }; +enum discord_integration_expire_behaviors { DISCORD_INTEGRATION_REMOVE_ROLE = 0, DISCORD_INTEGRATION_KICK = 1, __discord_integration_expire_behaviors_MAX__ }; +enum discord_guild_scheduled_event_privacy_level { DISCORD_GUILD_SCHEDULED_EVENT_GUILD_ONLY = 2, __discord_guild_scheduled_event_privacy_level_MAX__ }; +enum discord_guild_scheduled_event_entity_types { DISCORD_GUILD_SCHEDULED_EVENT_ENTITY_STAGE_INSTANCE = 1, DISCORD_GUILD_SCHEDULED_EVENT_ENTITY_VOICE = 2, DISCORD_GUILD_SCHEDULED_EVENT_ENTITY_EXTERNAL = 3, __discord_guild_scheduled_event_entity_types_MAX__ }; +enum discord_guild_scheduled_event_status { DISCORD_GUILD_SCHEDULED_EVENT_SCHEDULED = 1, DISCORD_GUILD_SCHEDULED_EVENT_ACTIVE = 2, DISCORD_GUILD_SCHEDULED_EVENT_COMPLETED = 3, DISCORD_GUILD_SCHEDULED_EVENT_CANCELED = 4, __discord_guild_scheduled_event_status_MAX__ }; +enum discord_interaction_types { DISCORD_INTERACTION_PING = 1, DISCORD_INTERACTION_APPLICATION_COMMAND = 2, DISCORD_INTERACTION_MESSAGE_COMPONENT = 3, DISCORD_INTERACTION_APPLICATION_COMMAND_AUTOCOMPLETE = 4, DISCORD_INTERACTION_MODAL_SUBMIT = 5, __discord_interaction_types_MAX__ }; +enum discord_interaction_callback_types { DISCORD_INTERACTION_PONG = 1, DISCORD_INTERACTION_CHANNEL_MESSAGE_WITH_SOURCE = 4, DISCORD_INTERACTION_DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE = 5, DISCORD_INTERACTION_DEFERRED_UPDATE_MESSAGE = 6, DISCORD_INTERACTION_UPDATE_MESSAGE = 7, DISCORD_INTERACTION_APPLICATION_COMMAND_AUTOCOMPLETE_RESULT = 8, DISCORD_INTERACTION_MODAL = 9, __discord_interaction_callback_types_MAX__ }; +enum discord_invite_target_types { DISCORD_INVITE_TARGET_STREAM = 1, DISCORD_INVITE_TARGET_EMBEDDED_APPLICATION = 2, __discord_invite_target_types_MAX__ }; +enum discord_component_types { DISCORD_COMPONENT_ACTION_ROW = 1, DISCORD_COMPONENT_BUTTON = 2, DISCORD_COMPONENT_SELECT_MENU = 3, DISCORD_COMPONENT_TEXT_INPUT = 4, DISCORD_COMPONENT_USER_SELECT = 5, DISCORD_COMPONENT_ROLE_SELECT = 6, DISCORD_COMPONENT_MENTION_SELECT = 7, DISCORD_COMPONENT_CHANNEL_SELECT = 8, DISCORD_COMPONENT_SECTION = 9, DISCORD_COMPONENT_TEXT_DISPLAY = 10, DISCORD_COMPONENT_THUMBNAIL = 11, DISCORD_COMPONENT_MEDIA_GALLERY = 12, DISCORD_COMPONENT_FILE = 13, DISCORD_COMPONENT_SEPARATOR = 14, DISCORD_COMPONENT_CONTENT_INVENTORY_ENTRY = 16, DISCORD_COMPONENT_CONTAINER = 17, __discord_component_types_MAX__ }; +enum discord_component_styles { DISCORD_BUTTON_PRIMARY = 1, DISCORD_BUTTON_SECONDARY = 2, DISCORD_BUTTON_SUCCESS = 3, DISCORD_BUTTON_DANGER = 4, DISCORD_BUTTON_LINK = 5, DISCORD_TEXT_SHORT = 1, DISCORD_TEXT_PARAGRAPH = 2, __discord_component_styles_MAX__ }; +enum discord_component_spacing { DISCORD_COMPONENT_SPACING_SMALL = 1, DISCORD_COMPONENT_SPACING_LARGE = 2, __discord_component_spacing_MAX__ }; +enum discord_privacy_level { DISCORD_PRIVACY_PUBLIC = 1, DISCORD_PRIVACY_GUILD_ONLY = 2, __discord_privacy_level_MAX__ }; +enum discord_sticker_types { DISCORD_STICKER_STANDARD = 1, DISCORD_STICKER_GUILD = 2, __discord_sticker_types_MAX__ }; +enum discord_sticker_format_types { DISCORD_STICKER_FORMAT_PNG = 1, DISCORD_STICKER_FORMAT_APNG = 2, DISCORD_STICKER_FORMAT_LOTTIE = 3, __discord_sticker_format_types_MAX__ }; +enum discord_membership_state { DISCORD_MEMBERSHIP_INVITED = 1, DISCORD_MEMBERSHIP_ACCEPTED = 2, __discord_membership_state_MAX__ }; +enum discord_premium_types { DISCORD_PREMIUM_NONE = 0, DISCORD_PREMIUM_NITRO_CLASSIC = 1, DISCORD_PREMIUM_NITRO = 2, __discord_premium_types_MAX__ }; +enum discord_visibility_types { DISCORD_VISIBILITY_NONE = 0, DISCORD_VISIBILITY_EVERYONE = 1, __discord_visibility_types_MAX__ }; +enum discord_voice_close_opcodes { DISCORD_VOICE_CLOSE_REASON_UNKNOWN_OPCODE = 4001, DISCORD_VOICE_CLOSE_REASON_DECODE_ERROR = 4002, DISCORD_VOICE_CLOSE_REASON_NOT_AUTHENTICATED = 4003, DISCORD_VOICE_CLOSE_REASON_AUTHENTICATION_FAILED = 4004, DISCORD_VOICE_CLOSE_REASON_ALREADY_AUTHENTICATED = 4005, DISCORD_VOICE_CLOSE_REASON_INVALID_SESSION = 4006, DISCORD_VOICE_CLOSE_REASON_SESSION_TIMED_OUT = 4009, DISCORD_VOICE_CLOSE_REASON_SERVER_NOT_FOUND = 4011, DISCORD_VOICE_CLOSE_REASON_UNKNOWN_PROTOCOL = 4012, DISCORD_VOICE_CLOSE_REASON_DISCONNECTED = 4014, DISCORD_VOICE_CLOSE_REASON_SERVER_CRASH = 4015, DISCORD_VOICE_CLOSE_REASON_UNKNOWN_ENCRYPTION_MODE = 4016, __discord_voice_close_opcodes_MAX__ }; +enum discord_voice_opcodes { DISCORD_VOICE_IDENTIFY = 0, DISCORD_VOICE_SELECT_PROTOCOL = 1, DISCORD_VOICE_READY = 2, DISCORD_VOICE_HEARTBEAT = 3, DISCORD_VOICE_SESSION_DESCRIPTION = 4, DISCORD_VOICE_SPEAKING = 5, DISCORD_VOICE_HEARTBEAT_ACK = 6, DISCORD_VOICE_RESUME = 7, DISCORD_VOICE_HELLO = 8, DISCORD_VOICE_RESUMED = 9, DISCORD_VOICE_CLIENT_DISCONNECT = 13, DISCORD_VOICE_CODEC = 14, __discord_voice_opcodes_MAX__ }; +enum discord_webhook_types { DISCORD_WEBHOOK_INCOMING = 1, DISCORD_WEBHOOK_CHANNEL_FOLLOWER = 2, DISCORD_WEBHOOK_APPLICATION = 3, __discord_webhook_types_MAX__ }; +struct discord_application { _ _ u64snowflake _ id _; _ _ char * name _; _ _ char * icon _; _ _ char * description _; _ struct strings * rpc_origins _; _ _ bool _ bot_public _; _ _ bool _ bot_require_code_grant _; _ _ char * terms_of_service_url _; _ _ char * privacy_policy_url _; _ struct discord_user * owner _; _ _ char * summary _; _ _ char * verify_key _; _ struct discord_team * team _; _ _ u64snowflake _ guild_id _; _ _ u64snowflake _ primary_sku_id _; _ _ char * slug _; _ _ char * cover_image _; _ _ u64bitmask _ flags _; }; +struct discord_install_params { _ struct strings * scopes _; _ _ u64bitmask _ permissions _; }; +struct discord_application_command { _ _ u64snowflake _ id _; _ enum discord_application_command_types _ type _; _ _ u64snowflake _ application_id _; _ _ u64snowflake _ guild_id _; _ _ char * name _; _ _ char * description _; _ struct discord_application_command_options * options _; _ _ u64bitmask _ default_member_permissions _; _ _ bool _ dm_permission _; _ _ bool _ default_permission _; _ _ u64snowflake _ version _; }; +struct discord_application_commands { _ _ int _ size _; _ struct discord_application_command * array _; _ _ int _ realsize _; }; +struct discord_application_command_option { _ enum discord_application_command_option_types _ type _; _ _ char * name _; _ _ char * description _; _ _ bool _ required _; _ struct discord_application_command_option_choices * choices _; _ struct discord_application_command_options * options _; _ struct integers * channel_types _; _ _ char * min_value _; _ _ char * max_value _; _ _ bool _ autocomplete _; }; +struct discord_application_command_options { _ _ int _ size _; _ struct discord_application_command_option * array _; _ _ int _ realsize _; }; +struct discord_application_command_option_choice { _ _ char * name _; _ _ json_char * value _; }; +struct discord_application_command_option_choices { _ _ int _ size _; _ struct discord_application_command_option_choice * array _; _ _ int _ realsize _; }; +struct discord_application_command_interaction_data_option { _ _ char * name _; _ enum discord_application_command_option_types _ type _; _ _ json_char * value _; _ struct discord_application_command_interaction_data_options * options _; _ _ bool _ focused _; }; +struct discord_application_command_interaction_data_options { _ _ int _ size _; _ struct discord_application_command_interaction_data_option * array _; _ _ int _ realsize _; }; +struct discord_guild_application_command_permission { _ _ u64snowflake _ id _; _ _ u64snowflake _ application_id _; _ _ u64snowflake _ guild_id _; _ struct discord_application_command_permissions * permissions _; }; +struct discord_guild_application_command_permissions { _ _ int _ size _; _ struct discord_guild_application_command_permission * array _; _ _ int _ realsize _; }; +struct discord_application_command_permission { _ _ u64snowflake _ id _; _ enum discord_application_command_permission_types _ type _; _ _ bool _ permission _; }; +struct discord_application_command_permissions { _ _ int _ size _; _ struct discord_application_command_permission * array _; _ _ int _ realsize _; }; +struct discord_create_global_application_command { _ _ char * name _; _ _ char * description _; _ struct discord_application_command_options * options _; _ _ u64bitmask _ default_member_permissions _; _ _ bool _ dm_permission _; _ _ bool _ default_permission _; _ enum discord_application_command_types _ type _; }; +struct discord_edit_global_application_command { _ _ char * name _; _ _ char * description _; _ struct discord_application_command_options * options _; _ _ u64bitmask _ default_member_permissions _; _ _ bool _ dm_permission _; _ _ bool _ default_permission _; }; +struct discord_create_guild_application_command { _ _ char * name _; _ _ char * description _; _ struct discord_application_command_options * options _; _ _ u64bitmask _ default_member_permissions _; _ _ bool _ dm_permission _; _ _ bool _ default_permission _; _ enum discord_application_command_types _ type _; }; +struct discord_edit_guild_application_command { _ _ char * name _; _ _ char * description _; _ struct discord_application_command_options * options _; _ _ u64bitmask _ default_member_permissions _; _ _ bool _ default_permission _; }; +struct discord_bulk_overwrite_guild_application_command { _ _ u64snowflake _ id _; _ _ char * name _; _ struct strings * name_localizations _; _ _ char * description _; _ struct strings * description_localizations _; _ struct discord_application_command_options * options _; _ _ u64bitmask _ default_member_permissions _; _ _ bool _ dm_permission _; _ enum discord_application_command_types _ type _; }; +struct discord_bulk_overwrite_guild_application_commands { _ _ int _ size _; _ struct discord_bulk_overwrite_guild_application_command * array _; _ _ int _ realsize _; }; +struct discord_audit_log { _ struct discord_audit_log_entries * audit_log_entries _; _ struct discord_guild_scheduled_events * guild_scheduled_events _; _ struct discord_integrations * integrations _; _ struct discord_channels * threads _; _ struct discord_users * users _; _ struct discord_webhooks * webhooks _; }; +struct discord_audit_log_entry { _ _ u64snowflake _ target_id _; _ struct discord_audit_log_changes * changes _; _ _ u64snowflake _ user_id _; _ _ u64snowflake _ id _; _ enum discord_audit_log_events _ action_type _; _ struct discord_optional_audit_entry_infos * options _; _ _ char * reason _; }; +struct discord_audit_log_entries { _ _ int _ size _; _ struct discord_audit_log_entry * array _; _ _ int _ realsize _; }; +struct discord_optional_audit_entry_info { _ _ u64snowflake _ channel_id _; _ _ char * count _; _ _ char * delete_member_days _; _ _ u64snowflake _ id _; _ _ char * members_removed _; _ _ u64snowflake _ message_id _; _ _ char * role_name _; _ _ char * type _; }; +struct discord_optional_audit_entry_infos { _ _ int _ size _; _ struct discord_optional_audit_entry_info * array _; _ _ int _ realsize _; }; +struct discord_audit_log_change { _ _ json_char * new_value _; _ _ json_char * old_value _; _ _ char * key _; }; +struct discord_audit_log_changes { _ _ int _ size _; _ struct discord_audit_log_change * array _; _ _ int _ realsize _; }; +struct discord_get_guild_audit_log { _ _ u64snowflake _ user_id _; _ _ int _ action_type _; _ _ u64snowflake _ before _; _ _ int _ limit _; }; +struct discord_auto_moderation_trigger_metadata { _ struct strings * keyword_filter _; _ struct integers * presets _; }; +struct discord_auto_moderation_action { _ enum discord_auto_moderation_action_types _ type _; _ struct discord_auto_moderation_action_metadata * metadata _; }; +struct discord_auto_moderation_actions { _ _ int _ size _; _ struct discord_auto_moderation_action * array _; _ _ int _ realsize _; }; +struct discord_auto_moderation_action_metadata { _ _ u64snowflake _ channel_id _; _ _ int _ duration_seconds _; }; +struct discord_auto_moderation_rule { _ _ u64snowflake _ id _; _ _ u64snowflake _ guild_id _; _ _ char * name _; _ _ u64snowflake _ creator_id _; _ enum discord_auto_moderation_event_types _ event_type _; _ enum discord_auto_moderation_trigger_types _ trigger_type _; _ struct discord_auto_moderation_actions * actions _; _ struct discord_auto_moderation_trigger_metadata * trigger_metadata _; _ _ bool _ enabled _; _ struct snowflakes * exempt_roles _; _ struct snowflakes * exempt_channels _; }; +struct discord_auto_moderation_rules { _ _ int _ size _; _ struct discord_auto_moderation_rule * array _; _ _ int _ realsize _; }; +struct discord_create_auto_moderation_rule { _ _ char * reason _; _ _ char * name _; _ enum discord_auto_moderation_event_types _ event_type _; _ enum discord_auto_moderation_trigger_types _ trigger_type _; _ struct discord_auto_moderation_actions * actions _; _ struct discord_auto_moderation_trigger_metadata * trigger_metadata _; _ _ bool _ enabled _; _ struct snowflakes * exempt_roles _; _ struct snowflakes * exempt_channels _; }; +struct discord_modify_auto_moderation_rule { _ _ char * reason _; _ _ char * name _; _ enum discord_auto_moderation_event_types _ event_type _; _ struct discord_auto_moderation_trigger_metadata * trigger_metadata _; _ struct discord_auto_moderation_actions * actions _; _ _ bool _ enabled _; _ struct snowflakes * exempt_roles _; _ struct snowflakes * exempt_channels _; }; +struct discord_delete_auto_moderation_rule { _ _ char * reason _; }; +struct discord_channel { _ _ u64snowflake _ id _; _ enum discord_channel_types _ type _; _ _ u64snowflake _ guild_id _; _ _ int _ position _; _ struct discord_overwrites * permission_overwrites _; _ _ char * name _; _ _ char * topic _; _ _ bool _ nsfw _; _ _ u64snowflake _ last_message_id _; _ _ int _ bitrate _; _ _ int _ user_limit _; _ _ int _ rate_limit_per_user _; _ struct discord_users * recipients _; _ _ char * icon _; _ _ u64snowflake _ owner_id _; _ _ u64snowflake _ application_id _; _ _ bool _ managed _; _ _ u64snowflake _ parent_id _; _ _ u64unix_ms _ last_pin_timestamp _; _ _ char * rtc_region _; _ _ int _ voice_quality_mode _; _ _ int _ message_count _; _ _ int _ member_count _; _ struct discord_thread_metadata * thread_metadata _; _ struct discord_thread_member * member _; _ _ int _ default_auto_archive_duration _; _ _ u64bitmask _ permissions _; _ _ u64bitmask _ flags _; _ _ int _ total_message_sent _; _ struct discord_thread_tags * available_tags _; _ struct snowflakes * applied_tags _; _ struct discord_thread_default_reaction * default_reaction_emoji _; _ _ int _ default_thread_rate_limit_per_user _; _ enum discord_sort_order_types _ default_sort_order _; _ enum discord_forum_layout_types _ default_forum_layout _; }; +struct discord_channels { _ _ int _ size _; _ struct discord_channel * array _; _ _ int _ realsize _; }; +struct discord_message_activity { _ enum discord_message_activity_types _ type _; _ _ char * party_id _; }; +struct discord_message_reference { _ _ u64snowflake _ message_id _; _ _ u64snowflake _ channel_id _; _ _ u64snowflake _ guild_id _; _ _ bool _ fail_if_not_exists _; }; +struct discord_message { _ _ u64snowflake _ id _; _ _ u64snowflake _ channel_id _; _ _ u64snowflake _ guild_id _; _ struct discord_user * author _; _ struct discord_guild_member * member _; _ _ char * content _; _ _ u64unix_ms _ timestamp _; _ _ u64unix_ms _ edited_timestamp _; _ _ bool _ tts _; _ _ bool _ mention_everyone _; _ struct discord_users * mentions _; _ struct snowflakes * mention_roles _; _ struct discord_channels * mention_channels _; _ struct discord_attachments * attachments _; _ struct discord_embeds * embeds _; _ struct discord_reactions * reactions _; _ _ json_char * nonce _; _ _ bool _ pinned _; _ _ u64snowflake _ webhook_id _; _ enum discord_message_types _ type _; _ struct discord_message_activity * activity _; _ struct discord_application * application _; _ _ u64snowflake _ application_id _; _ struct discord_message_reference * message_reference _; _ _ u64bitmask _ flags _; _ struct discord_message * referenced_message _; _ struct discord_message_interaction * interaction _; _ struct discord_channel * thread _; _ struct discord_components * components _; _ struct discord_sticker_items * sticker_items _; _ struct discord_stickers * stickers _; _ _ int _ position _; _ struct discord_role_subscription_data * role_subscription_data _; _ struct discord_resolved_data * resolved _; }; +struct discord_messages { _ _ int _ size _; _ struct discord_message * array _; _ _ int _ realsize _; }; +struct discord_followed_channel { _ _ u64snowflake _ channel_id _; _ _ u64snowflake _ webhook_id _; }; +struct discord_reaction_count_details { _ _ int _ burst _; _ _ int _ normal _; }; +struct discord_reaction { _ _ int _ count _; _ struct discord_reaction_count_details * count_details _; _ _ bool _ me _; _ _ bool _ me_burst _; _ struct discord_emoji * emoji _; _ _ char * burst_colors _; }; +struct discord_reactions { _ _ int _ size _; _ struct discord_reaction * array _; _ _ int _ realsize _; }; +struct discord_overwrite { _ _ u64snowflake _ id _; _ _ int _ type _; _ _ u64bitmask _ allow _; _ _ u64bitmask _ deny _; }; +struct discord_overwrites { _ _ int _ size _; _ struct discord_overwrite * array _; _ _ int _ realsize _; }; +struct discord_thread_metadata { _ _ bool _ archived _; _ _ int _ auto_archive_duration _; _ _ u64unix_ms _ archive_timestamp _; _ _ bool _ locked _; _ _ bool _ invitable _; _ _ u64unix_ms _ create_timestamp _; }; +struct discord_thread_member { _ _ u64snowflake _ id _; _ _ u64snowflake _ user_id _; _ _ u64unix_ms _ join_timestamp _; _ _ u64bitmask _ flags _; _ struct discord_guild_member * member _; _ _ u64snowflake _ guild_id _; }; +struct discord_thread_members { _ _ int _ size _; _ struct discord_thread_member * array _; _ _ int _ realsize _; }; +struct discord_thread_default_reaction { _ _ u64snowflake _ emoji_id _; _ _ char * emoji_name _; }; +struct discord_thread_tag { _ _ u64snowflake _ id _; _ _ char * name _; _ _ bool _ moderated _; _ _ u64snowflake _ emoji_id _; _ _ char * emoji_name _; }; +struct discord_thread_tags { _ _ int _ size _; _ struct discord_thread_tag * array _; _ _ int _ realsize _; }; +struct discord_embed_thumbnail { _ _ char * url _; _ _ char * proxy_url _; _ _ int _ height _; _ _ int _ width _; }; +struct discord_embed_video { _ _ char * url _; _ _ char * proxy_url _; _ _ int _ height _; _ _ int _ width _; }; +struct discord_embed_image { _ _ char * url _; _ _ char * proxy_url _; _ _ int _ height _; _ _ int _ width _; }; +struct discord_embed_provider { _ _ char * name _; _ _ char * url _; }; +struct discord_embed_author { _ _ char * name _; _ _ char * url _; _ _ char * icon_url _; _ _ char * proxy_icon_url _; }; +struct discord_embed_footer { _ _ char * text _; _ _ char * icon_url _; _ _ char * proxy_icon_url _; }; +struct discord_embed_field { _ _ char * name _; _ _ char * value _; _ _ bool _ Inline _; }; +struct discord_embed_fields { _ _ int _ size _; _ struct discord_embed_field * array _; _ _ int _ realsize _; }; +struct discord_embed { _ _ char * title _; _ _ char * type _; _ _ char * description _; _ _ char * url _; _ _ u64unix_ms _ timestamp _; _ _ int _ color _; _ struct discord_embed_footer * footer _; _ struct discord_embed_image * image _; _ struct discord_embed_thumbnail * thumbnail _; _ struct discord_embed_video * video _; _ struct discord_embed_provider * provider _; _ struct discord_embed_author * author _; _ struct discord_embed_fields * fields _; }; +struct discord_embeds { _ _ int _ size _; _ struct discord_embed * array _; _ _ int _ realsize _; }; +struct discord_attachment { _ _ char * content _; _ _ u64snowflake _ id _; _ _ char * filename _; _ _ char * description _; _ _ char * content_type _; _ _ size_t _ size _; _ _ char * url _; _ _ char * proxy_url _; _ _ int _ height _; _ _ int _ width _; _ _ bool _ ephemeral _; _ _ int _ duration_secs _; _ _ char * waveform _; _ _ u64bitmask _ flags _; }; +struct discord_attachments { _ _ int _ size _; _ struct discord_attachment * array _; _ _ int _ realsize _; }; +struct discord_channel_mention { _ _ u64snowflake _ id _; _ _ u64snowflake _ guild_id _; _ enum discord_channel_types _ type _; _ _ char * name _; }; +struct discord_allowed_mention { _ struct strings * parse _; _ struct snowflakes * roles _; _ struct snowflakes * users _; _ _ bool _ replied_user _; }; +struct discord_role_subscription_data { _ _ u64snowflake _ role_subscription_listing_id _; _ _ char * tier_name _; _ _ int _ total_months_subscribed _; _ _ bool _ is_renewal _; }; +struct discord_thread_response_body { _ struct discord_channels * threads _; _ struct discord_thread_members * members _; _ _ bool _ has_more _; }; +struct discord_modify_channel { _ _ char * reason _; _ _ char * name _; _ _ char * icon _; _ enum discord_channel_types _ type _; _ _ int _ position _; _ _ char * topic _; _ _ bool _ nsfw _; _ _ int _ rate_limit_per_user _; _ _ int _ user_limit _; _ struct discord_overwrites * permission_overwrites _; _ _ u64snowflake _ parent_id _; _ _ char * rtc_region _; _ _ int _ video_quality_mode _; _ _ int _ default_auto_archive_duration _; _ _ bool _ archived _; _ _ int _ auto_archive_duration _; _ _ bool _ locked _; _ _ bool _ invitable _; }; +struct discord_delete_channel { _ _ char * reason _; }; +struct discord_get_channel_messages { _ _ u64snowflake _ around _; _ _ u64snowflake _ before _; _ _ u64snowflake _ after _; _ _ int _ limit _; }; +struct discord_create_message { _ _ char * content _; _ _ bool _ tts _; _ struct discord_embeds * embeds _; _ struct discord_allowed_mention * allowed_mentions _; _ struct discord_message_reference * message_reference _; _ struct discord_components * components _; _ struct snowflakes * sticker_ids _; _ struct discord_attachments * attachments _; _ _ u64bitmask _ flags _; _ _ bool _ enforce_nonce _; }; +struct discord_get_reactions { _ _ u64snowflake _ after _; _ _ int _ limit _; }; +struct discord_edit_message { _ _ char * content _; _ struct discord_embeds * embeds _; _ _ u64bitmask _ flags _; _ struct discord_allowed_mention * allowed_mentions _; _ struct discord_components * components _; _ struct discord_attachments * attachments _; }; +struct discord_delete_message { _ _ char * reason _; }; +struct discord_bulk_delete_messages { _ _ char * reason _; _ struct snowflakes * messages _; }; +struct discord_edit_channel_permissions { _ _ char * reason _; _ _ u64bitmask _ allow _; _ _ u64bitmask _ deny _; _ _ int _ type _; }; +struct discord_create_channel_invite { _ _ char * reason _; _ _ int _ max_age _; _ _ int _ max_uses _; _ _ bool _ temporary _; _ _ bool _ unique _; _ enum discord_invite_target_types _ target_type _; _ _ u64snowflake _ target_user_id _; _ _ u64snowflake _ target_application_id _; }; +struct discord_delete_channel_permission { _ _ char * reason _; }; +struct discord_follow_news_channel { _ _ u64snowflake _ webhook_channel_id _; }; +struct discord_pin_message { _ _ char * reason _; }; +struct discord_unpin_message { _ _ char * reason _; }; +struct discord_group_dm_add_recipient { _ _ char * access_token _; _ _ char * nick _; }; +struct discord_start_thread_with_message { _ _ char * reason _; _ _ char * name _; _ _ int _ auto_archive_duration _; _ _ int _ rate_limit_per_user _; }; +struct discord_start_thread_without_message { _ _ char * reason _; _ _ char * name _; _ _ int _ auto_archive_duration _; _ enum discord_channel_types _ type _; _ _ bool _ invitable _; _ _ int _ rate_limit_per_user _; }; +struct discord_list_active_threads { _ struct discord_channels * threads _; _ struct discord_thread_members * members _; _ _ bool _ has_more _; }; +struct strings { _ _ int _ size _; _ _ char ** array _; _ _ int _ realsize _; }; +struct json_values { _ _ int _ size _; _ _ json_char ** array _; _ _ int _ realsize _; }; +struct snowflakes { _ _ int _ size _; _ _ u64snowflake * array _; _ _ int _ realsize _; }; +struct bitmasks { _ _ int _ size _; _ _ u64bitmask * array _; _ _ int _ realsize _; }; +struct integers { _ _ int _ size _; _ _ int * array _; _ _ int _ realsize _; }; +struct discord_emoji { _ _ u64snowflake _ id _; _ _ char * name _; _ struct snowflakes * roles _; _ struct discord_user * user _; _ _ bool _ require_colons _; _ _ bool _ managed _; _ _ bool _ animated _; _ _ bool _ available _; }; +struct discord_emojis { _ _ int _ size _; _ struct discord_emoji * array _; _ _ int _ realsize _; }; +struct discord_create_guild_emoji { _ _ char * reason _; _ _ char * name _; _ _ char * image _; _ struct snowflakes * roles _; }; +struct discord_modify_guild_emoji { _ _ char * reason _; _ _ char * name _; _ _ char * image _; _ struct snowflakes * roles _; }; +struct discord_delete_guild_emoji { _ _ char * reason _; }; +struct discord_activity { _ _ char * name _; _ enum discord_activity_types _ type _; _ _ char * url _; _ _ u64unix_ms _ created_at _; _ struct discord_activity_timestamps * timestamps _; _ _ u64snowflake _ application_id _; _ _ char * details _; _ _ char * state _; _ struct discord_activity_emoji * emoji _; _ struct discord_activity_party * party _; _ struct discord_activity_assets * assets _; _ struct discord_activity_secrets * secrets _; _ _ bool _ instance _; _ _ u64bitmask _ flags _; _ struct discord_activity_buttons * buttons _; }; +struct discord_activities { _ _ int _ size _; _ struct discord_activity * array _; _ _ int _ realsize _; }; +struct discord_activity_timestamps { _ _ u64unix_ms _ start _; _ _ u64unix_ms _ end _; }; +struct discord_activity_emoji { _ _ char * name _; _ _ u64snowflake _ id _; _ _ bool _ animated _; }; +struct discord_activity_party { _ _ char * id _; _ struct integers * size _; }; +struct discord_activity_assets { _ _ char * large_image _; _ _ char * large_text _; _ _ char * small_image _; _ _ char * small_text _; }; +struct discord_activity_secrets { _ _ char * join _; _ _ char * spectate _; _ _ char * match _; }; +struct discord_activity_button { _ _ char * label _; _ _ char * url _; }; +struct discord_activity_buttons { _ _ int _ size _; _ struct discord_activity_button * array _; _ _ int _ realsize _; }; +struct discord_presence_update { _ struct discord_user * user _; _ _ u64snowflake _ guild_id _; _ _ char * status _; _ struct discord_client_status * client_status _; _ struct discord_activities * activities _; _ _ u64unix_ms _ since _; _ _ bool _ afk _; }; +struct discord_client_status { _ _ char * desktop _; _ _ char * mobile _; _ _ char * web _; }; +struct discord_presence_updates { _ _ int _ size _; _ struct discord_presence_update * array _; _ _ int _ realsize _; }; +struct discord_identify { _ _ char * token _; _ struct discord_identify_connection * properties _; _ _ bool _ compress _; _ _ int _ large_threshold _; _ struct integers * shard _; _ struct discord_presence_update * presence _; _ _ u64bitmask _ intents _; }; +struct discord_identify_connection { _ _ char * os _; _ _ char * browser _; _ _ char * device _; }; +struct discord_resume { _ _ char * token _; _ _ char * session_id _; _ _ int _ seq _; }; +struct discord_request_guild_members { _ _ u64snowflake _ guild_id _; _ _ char * query _; _ _ int _ limit _; _ _ bool _ presences _; _ struct snowflakes * user_ids _; _ _ char * nonce _; }; +struct discord_update_voice_state { _ _ u64snowflake _ guild_id _; _ _ u64snowflake _ channel_id _; _ _ bool _ self_mute _; _ _ bool _ self_deaf _; }; +struct discord_ready { _ _ int _ v _; _ struct discord_user * user _; _ struct discord_guilds * guilds _; _ _ char * session_id _; _ struct integers * shard _; _ struct discord_application * application _; }; +struct discord_auto_moderation_action_execution { _ _ u64snowflake _ guild_id _; _ struct discord_auto_moderation_action * action _; _ enum discord_auto_moderation_trigger_types _ rule_trigger_type _; _ _ u64snowflake _ user_id _; _ _ u64snowflake _ channel_id _; _ _ u64snowflake _ message_id _; _ _ u64snowflake _ alert_system_message_id _; _ _ char * content _; _ _ char * matched_keyword _; _ _ char * matched_content _; }; +struct discord_thread_list_sync { _ _ u64snowflake _ guild_id _; _ struct snowflakes * channel_ids _; _ struct discord_channels * threads _; _ struct discord_thread_members * members _; }; +struct discord_thread_members_update { _ _ u64snowflake _ id _; _ _ u64snowflake _ guild_id _; _ _ int _ member_count _; _ struct discord_thread_members * added_members _; _ struct snowflakes * removed_member_ids _; }; +struct discord_channel_pins_update { _ _ u64snowflake _ guild_id _; _ _ u64snowflake _ channel_id _; _ _ u64unix_ms _ last_pin_timestamp _; }; +struct discord_guild_ban_add { _ _ u64snowflake _ guild_id _; _ struct discord_user * user _; }; +struct discord_guild_ban_remove { _ _ u64snowflake _ guild_id _; _ struct discord_user * user _; }; +struct discord_guild_emojis_update { _ _ u64snowflake _ guild_id _; _ struct discord_emojis * emojis _; }; +struct discord_guild_stickers_update { _ _ u64snowflake _ guild_id _; _ struct discord_stickers * stickers _; }; +struct discord_guild_integrations_update { _ _ u64snowflake _ guild_id _; }; +struct discord_guild_member_remove { _ _ u64snowflake _ guild_id _; _ struct discord_user * user _; }; +struct discord_guild_member_update { _ _ u64snowflake _ guild_id _; _ struct snowflakes * roles _; _ struct discord_user * user _; _ _ char * nick _; _ _ char * avatar _; _ _ u64unix_ms _ joined_at _; _ _ u64unix_ms _ premium_since _; _ _ bool _ deaf _; _ _ bool _ mute _; _ _ bool _ pending _; _ _ u64unix_ms _ communication_disabled_until _; }; +struct discord_guild_members_chunk { _ _ u64snowflake _ guild_id _; _ struct discord_guild_members * members _; _ _ int _ chunk_index _; _ _ int _ chunk_count _; _ struct snowflakes * not_found _; _ struct discord_presence_updates * presences _; _ _ char * nonce _; }; +struct discord_guild_role_create { _ _ u64snowflake _ guild_id _; _ struct discord_role * role _; }; +struct discord_guild_role_update { _ _ u64snowflake _ guild_id _; _ struct discord_role * role _; }; +struct discord_guild_role_delete { _ _ u64snowflake _ guild_id _; _ _ u64snowflake _ role_id _; }; +struct discord_guild_scheduled_event_user_add { _ _ u64snowflake _ guild_scheduled_event_id _; _ _ u64snowflake _ user_id _; _ _ u64snowflake _ guild_id _; }; +struct discord_guild_scheduled_event_user_remove { _ _ u64snowflake _ guild_scheduled_event_id _; _ _ u64snowflake _ user_id _; _ _ u64snowflake _ guild_id _; }; +struct discord_integration_delete { _ _ u64snowflake _ id _; _ _ u64snowflake _ guild_id _; _ _ u64snowflake _ application_id _; }; +struct discord_invite_create { _ _ u64snowflake _ channel_id _; _ _ char * code _; _ _ u64unix_ms _ created_at _; _ _ u64snowflake _ guild_id _; _ struct discord_user * inviter _; _ _ int _ max_age _; _ _ int _ max_uses _; _ enum discord_invite_target_types _ target_type _; _ struct discord_user * target_user _; _ struct discord_application * target_application _; _ _ bool _ temporary _; _ _ int _ uses _; }; +struct discord_invite_delete { _ _ u64snowflake _ channel_id _; _ _ u64snowflake _ guild_id _; _ _ char * code _; }; +struct discord_message_delete { _ _ u64snowflake _ id _; _ _ u64snowflake _ channel_id _; _ _ u64snowflake _ guild_id _; }; +struct discord_message_delete_bulk { _ struct snowflakes * ids _; _ _ u64snowflake _ channel_id _; _ _ u64snowflake _ guild_id _; }; +struct discord_message_reaction_add { _ _ u64snowflake _ user_id _; _ _ u64snowflake _ channel_id _; _ _ u64snowflake _ message_id _; _ _ u64snowflake _ guild_id _; _ struct discord_guild_member * member _; _ struct discord_emoji * emoji _; }; +struct discord_message_reaction_remove { _ _ u64snowflake _ user_id _; _ _ u64snowflake _ channel_id _; _ _ u64snowflake _ message_id _; _ _ u64snowflake _ guild_id _; _ struct discord_emoji * emoji _; }; +struct discord_message_reaction_remove_all { _ _ u64snowflake _ channel_id _; _ _ u64snowflake _ message_id _; _ _ u64snowflake _ guild_id _; }; +struct discord_message_reaction_remove_emoji { _ _ u64snowflake _ channel_id _; _ _ u64snowflake _ guild_id _; _ _ u64snowflake _ message_id _; _ struct discord_emoji * emoji _; }; +struct discord_typing_start { _ _ u64snowflake _ channel_id _; _ _ u64snowflake _ guild_id _; _ _ u64snowflake _ user_id _; _ _ u64unix_ms _ timestamp _; _ struct discord_guild_member * member _; }; +struct discord_voice_server_update { _ _ char * token _; _ _ u64snowflake _ guild_id _; _ _ char * endpoint _; }; +struct discord_webhooks_update { _ _ u64snowflake _ guild_id _; _ _ u64snowflake _ channel_id _; }; +struct discord_session_start_limit { _ _ int _ total _; _ _ int _ remaining _; _ _ int _ reset_after _; _ _ int _ max_concurrency _; }; +struct discord_guild { _ _ u64snowflake _ id _; _ _ char * name _; _ _ char * icon _; _ _ char * icon_hash _; _ _ char * splash _; _ _ char * discovery_splash _; _ _ bool _ owner _; _ _ u64snowflake _ owner_id _; _ _ u64bitmask _ permissions _; _ _ u64snowflake _ afk_channel_id _; _ _ int _ afk_timeout _; _ _ bool _ widget_enabled _; _ _ u64snowflake _ widget_channel_id _; _ enum discord_verification_level _ verification_level _; _ enum discord_message_notification_level _ default_message_notifications _; _ enum discord_explicit_content_filter_level _ explicit_content_filter _; _ struct discord_roles * roles _; _ struct discord_emojis * emojis _; _ struct strings * features _; _ enum discord_mfa_level _ mfa_level _; _ _ u64snowflake _ application_id _; _ _ u64snowflake _ system_channel_id _; _ _ u64bitmask _ system_channel_flags _; _ _ u64snowflake _ rules_channel_id _; _ _ u64unix_ms _ joined_at _; _ _ bool _ large _; _ _ bool _ unavailable _; _ _ int _ member_count _; _ struct discord_voice_states * voice_states _; _ struct discord_guild_members * members _; _ struct discord_channels * channels _; _ struct discord_channels * threads _; _ struct discord_presence_updates * presences _; _ _ int _ max_presences _; _ _ int _ max_members _; _ _ char * vanity_url_code _; _ _ char * description _; _ _ char * banner _; _ enum discord_premium_tier _ premium_tier _; _ _ int _ premium_subscription_count _; _ _ char * preferred_locale _; _ _ u64snowflake _ public_updates_channel_id _; _ _ int _ max_video_channel_users _; _ _ int _ approximate_member_count _; _ _ int _ approximate_presence_count _; _ struct discord_welcome_screen * welcome_screen _; _ enum discord_guild_nsfw_level _ nsfw_level _; _ struct discord_stage_instances * stage_instances _; _ struct discord_stickers * stickers _; _ struct discord_guild_scheduled_events * guild_scheduled_events _; _ _ bool _ premium_progress_bar_enabled _; }; +struct discord_guilds { _ _ int _ size _; _ struct discord_guild * array _; _ _ int _ realsize _; }; +struct discord_guild_preview { _ _ u64snowflake _ id _; _ _ char * name _; _ _ char * icon _; _ _ char * splash _; _ _ char * discovery_splash _; _ struct discord_emojis * emojis _; _ struct strings * features _; _ _ int _ approximate_member_count _; _ _ int _ approximate_presence_count _; _ _ char * description _; _ struct discord_stickers * stickers _; }; +struct discord_guild_widget_settings { _ _ char * reason _; _ _ bool _ enabled _; _ _ u64snowflake _ channel_id _; }; +struct discord_guild_widget { _ _ u64snowflake _ id _; _ _ char * name _; _ _ char * instant_invite _; _ struct discord_channels * channels _; _ struct discord_users * members _; _ _ int _ presence_count _; }; +struct discord_guild_member { _ struct discord_user * user _; _ _ char * nick _; _ _ char * avatar _; _ struct snowflakes * roles _; _ _ u64unix_ms _ joined_at _; _ _ u64unix_ms _ premium_since _; _ _ bool _ deaf _; _ _ bool _ muted _; _ _ bool _ pending _; _ _ u64bitmask _ permissions _; _ _ u64unix_ms _ communication_disabled_until _; _ _ u64snowflake _ guild_id _; }; +struct discord_guild_members { _ _ int _ size _; _ struct discord_guild_member * array _; _ _ int _ realsize _; }; +struct discord_integration { _ _ u64snowflake _ id _; _ _ char * name _; _ _ char * type _; _ _ bool _ enabled _; _ _ bool _ syncing _; _ _ u64snowflake _ role_id _; _ _ bool _ enable_emoticons _; _ enum discord_integration_expire_behaviors _ expire_behavior _; _ _ int _ expire_grace_period _; _ struct discord_user * user _; _ struct discord_integration_account * account _; _ _ u64unix_ms _ synced_at _; _ _ int _ subscriber_count _; _ _ bool _ revoked _; _ struct discord_integration_application * application _; _ _ u64snowflake _ guild_id _; }; +struct discord_integrations { _ _ int _ size _; _ struct discord_integration * array _; _ _ int _ realsize _; }; +struct discord_integration_account { _ _ char * id _; _ _ char * name _; }; +struct discord_integration_application { _ _ u64snowflake _ id _; _ _ char * name _; _ _ char * icon _; _ _ char * description _; _ _ char * summary _; _ struct discord_user * bot _; }; +struct discord_ban { _ _ char * reason _; _ struct discord_user * user _; }; +struct discord_bans { _ _ int _ size _; _ struct discord_ban * array _; _ _ int _ realsize _; }; +struct discord_welcome_screen { _ _ char * description _; _ struct discord_welcome_screen_channels * welcome_channels _; }; +struct discord_welcome_screen_channel { _ _ u64snowflake _ channel_id _; _ _ char * description _; _ _ u64snowflake _ emoji_id _; _ _ char * emoji_name _; }; +struct discord_welcome_screen_channels { _ _ int _ size _; _ struct discord_welcome_screen_channel * array _; _ _ int _ realsize _; }; +struct discord_prune_count { _ _ int _ pruned _; }; +struct discord_create_guild { _ _ char * reason _; _ _ char * name _; _ _ char * region _; _ _ char * icon _; _ enum discord_verification_level _ verification_level _; _ enum discord_message_notification_level _ default_message_notifications _; _ enum discord_explicit_content_filter_level _ explicit_content_filter _; _ struct discord_roles * roles _; _ struct discord_channels * channels _; _ _ u64snowflake _ afk_channel_id _; _ _ int _ afk_timeout _; _ _ u64snowflake _ system_channel_id _; _ _ u64bitmask _ system_channel_flags _; }; +struct discord_modify_guild { _ _ char * reason _; _ _ char * name _; _ enum discord_verification_level _ verification_level _; _ enum discord_message_notification_level _ default_message_notifications _; _ enum discord_explicit_content_filter_level _ explicit_content_filter _; _ _ u64snowflake _ afk_channel_id _; _ _ int _ afk_timeout _; _ _ char * icon _; _ _ u64snowflake _ owner_id _; _ _ char * splash _; _ _ char * discovery_splash _; _ _ char * banner _; _ _ u64snowflake _ system_channel_id _; _ _ u64bitmask _ system_channel_flags _; _ _ u64snowflake _ rules_channel_id _; _ _ u64snowflake _ public_updates_channel_id _; _ _ char * preferred_locale _; _ struct strings * features _; _ _ char * description _; _ _ bool _ premium_progress_bar_enabled _; }; +struct discord_create_guild_channel { _ _ char * reason _; _ _ char * name _; _ enum discord_channel_types _ type _; _ _ char * topic _; _ _ int _ bitrate _; _ _ int _ user_limit _; _ _ int _ rate_limit_per_user _; _ _ int _ position _; _ struct discord_overwrites * permission_overwrites _; _ _ u64snowflake _ parent_id _; _ _ bool _ nsfw _; }; +struct discord_modify_guild_channel_position { _ _ u64snowflake _ id _; _ _ int _ position _; _ _ bool _ lock_category _; _ _ u64snowflake _ parent_id _; }; +struct discord_modify_guild_channel_positions { _ _ int _ size _; _ struct discord_modify_guild_channel_position * array _; _ _ int _ realsize _; }; +struct discord_list_active_guild_threads { _ struct discord_channels * threads _; _ struct discord_thread_members * members _; }; +struct discord_list_guild_members { _ _ int _ limit _; _ _ u64snowflake _ after _; }; +struct discord_search_guild_members { _ _ char * query _; _ _ int _ limit _; }; +struct discord_add_guild_member { _ _ char * access_token _; _ _ char * nick _; _ struct snowflakes * roles _; _ _ bool _ mute _; _ _ bool _ deaf _; }; +struct discord_modify_guild_member { _ _ char * reason _; _ _ char * nick _; _ struct snowflakes * roles _; _ _ bool _ mute _; _ _ bool _ deaf _; _ _ u64snowflake _ channel_id _; _ _ u64unix_ms _ communication_disabled_until _; }; +struct discord_modify_current_member { _ _ char * reason _; _ _ char * nick _; }; +struct discord_modify_current_user_nick { _ _ char * reason _; _ _ char * nick _; }; +struct discord_add_guild_member_role { _ _ char * reason _; }; +struct discord_remove_guild_member_role { _ _ char * reason _; }; +struct discord_remove_guild_member { _ _ char * reason _; }; +struct discord_create_guild_ban { _ _ char * reason _; _ _ int _ delete_message_days _; }; +struct discord_remove_guild_ban { _ _ char * reason _; }; +struct discord_create_guild_role { _ _ char * reason _; _ _ char * name _; _ _ u64bitmask _ permissions _; _ _ int _ color _; _ _ bool _ hoist _; _ _ char * icon _; _ _ char * unicode_emoji _; _ _ bool _ mentionable _; }; +struct discord_modify_guild_role_position { _ _ u64snowflake _ id _; _ _ int _ position _; }; +struct discord_modify_guild_role_positions { _ _ int _ size _; _ struct discord_modify_guild_role_position * array _; _ _ int _ realsize _; }; +struct discord_modify_guild_role { _ _ char * reason _; _ _ char * name _; _ _ u64bitmask _ permissions _; _ _ int _ color _; _ _ bool _ hoist _; _ _ char * icon _; _ _ char * unicode_emoji _; _ _ bool _ mentionable _; }; +struct discord_delete_guild_role { _ _ char * reason _; }; +struct discord_get_guild_prune_count { _ _ int _ days _; _ struct snowflakes * include_roles _; }; +struct discord_begin_guild_prune { _ _ char * reason _; _ _ int _ days _; _ _ bool _ compute_prune_count _; _ struct snowflakes * include_roles _; }; +struct discord_delete_guild_integrations { _ _ char * reason _; _ _ int _ days _; _ struct snowflakes * include_roles _; }; +struct discord_get_guild_widget_image { _ _ char * style _; }; +struct discord_modify_guild_welcome_screen { _ _ char * reason _; _ _ bool _ enabled _; _ struct discord_welcome_screen_channels * welcome_channels _; _ _ char * description _; }; +struct discord_modify_current_user_voice_state { _ _ u64snowflake _ channel_id _; _ _ bool _ suppress _; _ _ u64unix_ms _ request_to_speak_timestamp _; }; +struct discord_modify_user_voice_state { _ _ u64snowflake _ channel_id _; _ _ bool _ suppress _; }; +struct discord_guild_scheduled_event { _ _ u64snowflake _ id _; _ _ u64snowflake _ guild_id _; _ _ u64snowflake _ channel_id _; _ _ u64snowflake _ creator_id _; _ _ char * name _; _ _ char * description _; _ _ u64unix_ms _ scheduled_start_time _; _ _ u64unix_ms _ scheduled_end_time _; _ enum discord_guild_scheduled_event_privacy_level _ privacy_level _; _ enum discord_guild_scheduled_event_status _ status _; _ enum discord_guild_scheduled_event_entity_types _ entity_type _; _ _ u64snowflake _ entity_id _; _ struct discord_guild_scheduled_event_entity_metadata * entity_metadata _; _ struct discord_user * creator _; _ _ int _ user_count _; _ _ char * image _; }; +struct discord_guild_scheduled_event_entity_metadata { _ _ char * location _; }; +struct discord_guild_scheduled_events { _ _ int _ size _; _ struct discord_guild_scheduled_event * array _; _ _ int _ realsize _; }; +struct discord_guild_scheduled_event_user { _ _ u64snowflake _ guild_scheduled_event_id _; _ struct discord_user * user _; _ struct discord_guild_member * member _; }; +struct discord_guild_scheduled_event_users { _ _ int _ size _; _ struct discord_guild_scheduled_event_user * array _; _ _ int _ realsize _; }; +struct discord_list_guild_scheduled_events { _ _ bool _ with_user_count _; }; +struct discord_create_guild_scheduled_event { _ _ char * reason _; _ _ u64snowflake _ channel_id _; _ struct discord_guild_scheduled_event_entity_metadata * entity_metadata _; _ _ char * name _; _ enum discord_guild_scheduled_event_privacy_level _ privacy_level _; _ _ u64unix_ms _ scheduled_start_time _; _ _ u64unix_ms _ scheduled_end_time _; _ _ char * description _; _ enum discord_guild_scheduled_event_entity_types _ entity_type _; _ _ char * image _; }; +struct discord_get_guild_scheduled_event { _ _ bool _ with_user_count _; }; +struct discord_modify_guild_scheduled_event { _ _ char * reason _; _ _ u64snowflake _ channel_id _; _ struct discord_guild_scheduled_event_entity_metadata * entity_metadata _; _ _ char * name _; _ _ u64unix_ms _ scheduled_start_time _; _ _ u64unix_ms _ scheduled_end_time _; _ _ char * description _; _ enum discord_guild_scheduled_event_entity_types _ entity_type _; _ enum discord_guild_scheduled_event_status _ status _; _ _ char * image _; }; +struct discord_get_guild_scheduled_event_users { _ _ int _ limit _; _ _ bool _ with_member _; _ _ u64snowflake _ before _; _ _ u64snowflake _ after _; }; +struct discord_guild_template { _ _ char * code _; _ _ char * name _; _ _ char * description _; _ _ int _ usage_count _; _ _ u64snowflake _ creator_id _; _ struct discord_user * creator _; _ _ u64unix_ms _ created_at _; _ _ u64unix_ms _ updated_at _; _ _ u64snowflake _ source_guild_id _; _ struct discord_guild * serialized_source_guild _; _ _ bool _ is_dirty _; }; +struct discord_guild_templates { _ _ int _ size _; _ struct discord_guild_template * array _; _ _ int _ realsize _; }; +struct discord_create_guild_from_guild_template { _ _ char * name _; _ _ char * icon _; }; +struct discord_create_guild_template { _ _ char * name _; _ _ char * description _; }; +struct discord_modify_guild_template { _ _ char * name _; _ _ char * description _; }; +struct discord_interaction { _ _ u64snowflake _ id _; _ _ u64snowflake _ application_id _; _ enum discord_interaction_types _ type _; _ struct discord_interaction_data * data _; _ _ u64snowflake _ guild_id _; _ _ u64snowflake _ channel_id _; _ struct discord_guild_member * member _; _ struct discord_user * user _; _ _ char * token _; _ _ int _ version _; _ struct discord_message * message _; _ _ char * locale _; _ _ char * guild_locale _; }; +struct discord_interaction_data { _ _ u64snowflake _ id _; _ _ char * name _; _ enum discord_application_command_types _ type _; _ struct discord_resolved_data * resolved _; _ struct discord_application_command_interaction_data_options * options _; _ _ char * custom_id _; _ enum discord_component_types _ component_type _; _ struct strings * values _; _ _ u64snowflake _ target_id _; _ struct discord_components * components _; }; +struct discord_resolved_data { _ _ json_char * users _; _ _ json_char * members _; _ _ json_char * roles _; _ _ json_char * channels _; _ _ json_char * messages _; _ _ json_char * attachments _; }; +struct discord_message_interaction { _ _ u64snowflake _ id _; _ enum discord_interaction_types _ type _; _ _ char * name _; _ struct discord_user * user _; _ struct discord_guild_member * member _; }; +struct discord_interaction_response { _ enum discord_interaction_callback_types _ type _; _ struct discord_interaction_callback_data * data _; }; +struct discord_interaction_callback_data { _ struct discord_components * components _; _ _ bool _ tts _; _ _ char * content _; _ struct discord_embeds * embeds _; _ _ u64bitmask _ flags _; _ struct discord_attachments * attachments _; _ struct discord_application_command_option_choices * choices _; _ _ char * custom_id _; _ _ char * title _; }; +struct discord_edit_original_interaction_response { _ _ u64snowflake _ thread_id _; _ _ char * content _; _ struct discord_embeds * embeds _; _ struct discord_allowed_mention * allowed_mentions _; _ struct discord_components * components _; _ struct discord_attachments * attachments _; }; +struct discord_create_followup_message { _ _ bool _ wait _; _ _ u64snowflake _ thread_id _; _ _ char * avatar_url _; _ _ bool _ tts _; _ struct discord_embeds * embeds _; _ struct discord_allowed_mention * allowed_mentions _; _ struct discord_components * components _; _ struct discord_attachments * attachments _; _ _ u64bitmask _ flags _; }; +struct discord_edit_followup_message { _ _ u64snowflake _ thread_id _; _ _ char * content _; _ struct discord_embeds * embeds _; _ struct discord_allowed_mention * allowed_mentions _; _ struct discord_components * components _; _ struct discord_attachments * attachments _; }; +struct discord_invite { _ _ char * code _; _ struct discord_guild * guild _; _ struct discord_channel * channel _; _ struct discord_user * inviter _; _ enum discord_invite_target_types _ target_type _; _ struct discord_user * target_user _; _ struct discord_application * target_application _; _ _ int _ approximate_presence_count _; _ _ int _ approximate_member_count _; _ _ u64unix_ms _ expires_at _; _ struct discord_invite_stage_instance * stage_instance _; _ struct discord_guild_scheduled_event * guild_scheduled_event _; }; +struct discord_invites { _ _ int _ size _; _ struct discord_invite * array _; _ _ int _ realsize _; }; +struct discord_invite_metadata { _ _ int _ uses _; _ _ int _ max_uses _; _ _ int _ max_age _; _ _ bool _ temporary _; _ _ u64unix_ms _ created_at _; }; +struct discord_invite_stage_instance { _ struct discord_guild_members * members _; _ _ int _ participant_count _; _ _ int _ speaker_count _; _ _ char * topic _; }; +struct discord_get_invite { _ _ bool _ with_counts _; _ _ bool _ with_expiration _; _ _ u64snowflake _ guild_scheduled_event_id _; }; +struct discord_delete_invite { _ _ char * reason _; }; +struct discord_component { _ _ u64snowflake _ id _; _ enum discord_component_types _ type _; _ _ char * custom_id _; _ _ u64snowflake _ sku_id _; _ enum discord_component_styles _ style _; _ _ char * label _; _ struct discord_emoji * emoji _; _ _ char * url _; _ struct discord_select_options * options _; _ _ char * placeholder _; _ _ int _ min_values _; _ _ int _ max_values _; _ struct discord_components * components _; _ _ int _ min_length _; _ _ int _ max_length _; _ _ bool _ required _; _ _ char * value _; }; +struct discord_components { _ _ int _ size _; _ struct discord_component * array _; _ _ int _ realsize _; }; +struct discord_select_option { _ _ char * label _; _ _ char * value _; _ _ char * description _; _ struct discord_emoji * emoji _; _ _ bool _ Default _; }; +struct discord_select_options { _ _ int _ size _; _ struct discord_select_option * array _; _ _ int _ realsize _; }; +struct discord_component_media { _ _ char * url _; }; +struct discord_component_item { _ struct discord_component_media * media _; _ _ char * description _; _ _ bool _ spoiler _; }; +struct discord_component_items { _ _ int _ size _; _ struct discord_component_item * array _; _ _ int _ realsize _; }; +struct discord_auth_response { _ struct discord_application * application _; _ struct strings * scopes _; _ _ u64unix_ms _ expires _; _ struct discord_user * user _; }; +struct discord_role { _ _ u64snowflake _ id _; _ _ char * name _; _ _ int _ color _; _ _ bool _ hoist _; _ _ char * icon _; _ _ char * unicode_emoji _; _ _ int _ position _; _ _ u64bitmask _ permissions _; _ _ bool _ managed _; _ _ bool _ mentionable _; _ struct discord_role_tag * tags _; }; +struct discord_roles { _ _ int _ size _; _ struct discord_role * array _; _ _ int _ realsize _; }; +struct discord_role_tag { _ _ u64snowflake _ bot_id _; _ _ u64snowflake _ integration_id _; _ _ bool _ premium_subscribe _; }; +struct discord_stage_instance { _ _ u64snowflake _ id _; _ _ u64snowflake _ guild_id _; _ _ u64snowflake _ channel_id _; _ _ char * topic _; _ enum discord_privacy_level _ privacy_level _; _ _ bool _ discoverable_disabled _; }; +struct discord_stage_instances { _ _ int _ size _; _ struct discord_stage_instance * array _; _ _ int _ realsize _; }; +struct discord_create_stage_instance { _ _ char * reason _; _ _ u64snowflake _ channel_id _; _ _ char * topic _; _ enum discord_privacy_level _ privacy_level _; }; +struct discord_modify_stage_instance { _ _ char * reason _; _ _ char * topic _; _ enum discord_privacy_level _ privacy_level _; }; +struct discord_delete_stage_instance { _ _ char * reason _; }; +struct discord_sticker { _ _ u64snowflake _ id _; _ _ u64snowflake _ pack_id _; _ _ char * name _; _ _ char * description _; _ _ char * tags _; _ enum discord_sticker_types _ type _; _ enum discord_sticker_format_types _ format_type _; _ _ bool _ available _; _ _ u64snowflake _ guild_id _; _ struct discord_user * user _; _ _ int _ sort_value _; }; +struct discord_stickers { _ _ int _ size _; _ struct discord_sticker * array _; _ _ int _ realsize _; }; +struct discord_sticker_item { _ _ u64snowflake _ id _; _ _ char * name _; _ enum discord_sticker_format_types _ format_type _; }; +struct discord_sticker_items { _ _ int _ size _; _ struct discord_sticker_item * array _; _ _ int _ realsize _; }; +struct discord_sticker_pack { _ _ u64snowflake _ id _; _ struct discord_stickers * stickers _; _ _ char * name _; _ _ u64snowflake _ sku_id _; _ _ u64snowflake _ cover_sticker_id _; _ _ char * description _; _ _ u64snowflake _ banner_asset_id _; }; +struct discord_sticker_packs { _ _ int _ size _; _ struct discord_sticker_pack * array _; _ _ int _ realsize _; }; +struct discord_list_nitro_sticker_packs { _ struct discord_sticker_packs * sticker_packs _; }; +struct discord_create_guild_sticker { _ _ char * reason _; _ _ char * name _; _ _ char * description _; _ _ char * tags _; _ struct discord_attachment * file _; }; +struct discord_modify_guild_sticker { _ _ char * reason _; _ _ char * name _; _ _ char * description _; _ _ char * tags _; }; +struct discord_delete_guild_sticker { _ _ char * reason _; }; +struct discord_team { _ _ char * icon _; _ _ u64snowflake _ id _; _ struct discord_team_members * members _; _ _ char * name _; _ _ u64snowflake _ owner_user_id _; }; +struct discord_team_member { _ enum discord_membership_state _ membership_state _; _ struct bitmasks * permissions _; _ _ u64snowflake _ team_id _; _ struct discord_user * user _; }; +struct discord_team_members { _ _ int _ size _; _ struct discord_team_member * array _; _ _ int _ realsize _; }; +struct discord_user { _ _ u64snowflake _ id _; _ _ char * username _; _ _ char * discriminator _; _ _ char * avatar _; _ _ bool _ bot _; _ _ bool _ System _; _ _ bool _ mfa_enabled _; _ _ char * banner _; _ _ int _ accent_color _; _ _ char * locale _; _ _ bool _ verified _; _ _ char * email _; _ _ u64bitmask _ flags _; _ enum discord_premium_types _ premium_type _; _ _ u64bitmask _ public_flags _; }; +struct discord_users { _ _ int _ size _; _ struct discord_user * array _; _ _ int _ realsize _; }; +struct discord_connection { _ _ u64snowflake _ id _; _ _ char * name _; _ _ char * type _; _ _ bool _ revoked _; _ struct discord_integrations * integrations _; _ _ bool _ verified _; _ _ bool _ friend_sync _; _ _ bool _ show_activity _; _ enum discord_visibility_types _ visibility _; }; +struct discord_connections { _ _ int _ size _; _ struct discord_connection * array _; _ _ int _ realsize _; }; +struct discord_modify_current_user { _ _ char * username _; _ _ char * avatar _; }; +struct discord_get_current_user_guilds { _ _ u64snowflake _ before _; _ _ u64snowflake _ after _; _ _ int _ limit _; }; +struct discord_create_dm { _ _ u64snowflake _ recipient_id _; }; +struct discord_create_group_dm { _ struct snowflakes * access_tokens _; _ struct strings * nicks _; }; +struct discord_voice_state { _ _ u64snowflake _ guild_id _; _ _ u64snowflake _ channel_id _; _ _ u64snowflake _ user_id _; _ struct discord_guild_member * member _; _ _ char * session_id _; _ _ bool _ deaf _; _ _ bool _ mute _; _ _ bool _ self_deaf _; _ _ bool _ self_mute _; _ _ bool _ self_stream _; _ _ bool _ self_video _; _ _ bool _ suppress _; _ _ u64unix_ms _ request_to_speak_timestamp _; }; +struct discord_voice_states { _ _ int _ size _; _ struct discord_voice_state * array _; _ _ int _ realsize _; }; +struct discord_voice_region { _ _ char * id _; _ _ char * name _; _ _ bool _ optimal _; _ _ bool _ deprecated _; _ _ bool _ custom _; }; +struct discord_voice_regions { _ _ int _ size _; _ struct discord_voice_region * array _; _ _ int _ realsize _; }; +struct discord_webhook { _ _ u64snowflake _ id _; _ enum discord_webhook_types _ type _; _ _ u64snowflake _ guild_id _; _ _ u64snowflake _ channel_id _; _ struct discord_user * user _; _ _ char * name _; _ _ char * token _; _ _ u64snowflake _ application_id _; _ struct discord_channel * source_channel _; _ _ char * url _; }; +struct discord_webhooks { _ _ int _ size _; _ struct discord_webhook * array _; _ _ int _ realsize _; }; +struct discord_create_webhook { _ _ char * reason _; _ _ char * name _; _ _ char * avatar _; }; +struct discord_modify_webhook { _ _ char * reason _; _ _ char * name _; _ _ char * avatar _; _ _ u64snowflake _ channel_id _; }; +struct discord_delete_webhook { _ _ char * reason _; }; +struct discord_modify_webhook_with_token { _ _ char * name _; _ _ char * avatar _; }; +struct discord_execute_webhook { _ _ bool _ wait _; _ _ u64snowflake _ thread_id _; _ _ char * content _; _ _ char * username _; _ _ char * avatar_url _; _ _ bool _ tts _; _ struct discord_embeds * embeds _; _ struct discord_allowed_mention * allowed_mentions _; _ struct discord_components * components _; _ struct discord_attachments * attachments _; _ _ u64bitmask _ flags _; }; +struct discord_get_webhook_message { _ _ u64snowflake _ thread_id _; }; +struct discord_edit_webhook_message { _ _ u64snowflake _ thread_id _; _ _ char * content _; _ struct discord_embeds * embeds _; _ struct discord_allowed_mention * allowed_mentions _; _ struct discord_components * components _; _ struct discord_attachments * attachments _; }; +struct discord_delete_webhook_message { _ _ u64snowflake _ thread_id _; }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_application__id), REFLECTC_NS_UPPER(_LOOKUP__discord_application__name), REFLECTC_NS_UPPER(_LOOKUP__discord_application__icon), REFLECTC_NS_UPPER(_LOOKUP__discord_application__description), REFLECTC_NS_UPPER(_LOOKUP__discord_application__rpc_origins), REFLECTC_NS_UPPER(_LOOKUP__discord_application__bot_public), REFLECTC_NS_UPPER(_LOOKUP__discord_application__bot_require_code_grant), REFLECTC_NS_UPPER(_LOOKUP__discord_application__terms_of_service_url), REFLECTC_NS_UPPER(_LOOKUP__discord_application__privacy_policy_url), REFLECTC_NS_UPPER(_LOOKUP__discord_application__owner), REFLECTC_NS_UPPER(_LOOKUP__discord_application__summary), REFLECTC_NS_UPPER(_LOOKUP__discord_application__verify_key), REFLECTC_NS_UPPER(_LOOKUP__discord_application__team), REFLECTC_NS_UPPER(_LOOKUP__discord_application__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_application__primary_sku_id), REFLECTC_NS_UPPER(_LOOKUP__discord_application__slug), REFLECTC_NS_UPPER(_LOOKUP__discord_application__cover_image), REFLECTC_NS_UPPER(_LOOKUP__discord_application__flags), REFLECTC_NS_UPPER(_LOOKUP__discord_application_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_install_params__scopes), REFLECTC_NS_UPPER(_LOOKUP__discord_install_params__permissions), REFLECTC_NS_UPPER(_LOOKUP__discord_install_params_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_application_command__id), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command__type), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command__application_id), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command__name), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command__description), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command__options), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command__default_member_permissions), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command__dm_permission), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command__default_permission), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command__version), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_application_commands__size), REFLECTC_NS_UPPER(_LOOKUP__discord_application_commands__array), REFLECTC_NS_UPPER(_LOOKUP__discord_application_commands__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_application_commands_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_option__type), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_option__name), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_option__description), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_option__required), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_option__choices), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_option__options), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_option__channel_types), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_option__min_value), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_option__max_value), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_option__autocomplete), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_option_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_options__size), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_options__array), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_options__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_options_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_option_choice__name), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_option_choice__value), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_option_choice_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_option_choices__size), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_option_choices__array), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_option_choices__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_option_choices_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_interaction_data_option__name), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_interaction_data_option__type), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_interaction_data_option__value), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_interaction_data_option__options), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_interaction_data_option__focused), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_interaction_data_option_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_interaction_data_options__size), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_interaction_data_options__array), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_interaction_data_options__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_interaction_data_options_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_application_command_permission__id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_application_command_permission__application_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_application_command_permission__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_application_command_permission__permissions), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_application_command_permission_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_application_command_permissions__size), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_application_command_permissions__array), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_application_command_permissions__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_application_command_permissions_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_permission__id), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_permission__type), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_permission__permission), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_permission_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_permissions__size), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_permissions__array), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_permissions__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_application_command_permissions_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_create_global_application_command__name), REFLECTC_NS_UPPER(_LOOKUP__discord_create_global_application_command__description), REFLECTC_NS_UPPER(_LOOKUP__discord_create_global_application_command__options), REFLECTC_NS_UPPER(_LOOKUP__discord_create_global_application_command__default_member_permissions), REFLECTC_NS_UPPER(_LOOKUP__discord_create_global_application_command__dm_permission), REFLECTC_NS_UPPER(_LOOKUP__discord_create_global_application_command__default_permission), REFLECTC_NS_UPPER(_LOOKUP__discord_create_global_application_command__type), REFLECTC_NS_UPPER(_LOOKUP__discord_create_global_application_command_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_edit_global_application_command__name), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_global_application_command__description), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_global_application_command__options), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_global_application_command__default_member_permissions), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_global_application_command__dm_permission), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_global_application_command__default_permission), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_global_application_command_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_application_command__name), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_application_command__description), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_application_command__options), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_application_command__default_member_permissions), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_application_command__dm_permission), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_application_command__default_permission), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_application_command__type), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_application_command_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_edit_guild_application_command__name), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_guild_application_command__description), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_guild_application_command__options), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_guild_application_command__default_member_permissions), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_guild_application_command__default_permission), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_guild_application_command_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_bulk_overwrite_guild_application_command__id), REFLECTC_NS_UPPER(_LOOKUP__discord_bulk_overwrite_guild_application_command__name), REFLECTC_NS_UPPER(_LOOKUP__discord_bulk_overwrite_guild_application_command__name_localizations), REFLECTC_NS_UPPER(_LOOKUP__discord_bulk_overwrite_guild_application_command__description), REFLECTC_NS_UPPER(_LOOKUP__discord_bulk_overwrite_guild_application_command__description_localizations), REFLECTC_NS_UPPER(_LOOKUP__discord_bulk_overwrite_guild_application_command__options), REFLECTC_NS_UPPER(_LOOKUP__discord_bulk_overwrite_guild_application_command__default_member_permissions), REFLECTC_NS_UPPER(_LOOKUP__discord_bulk_overwrite_guild_application_command__dm_permission), REFLECTC_NS_UPPER(_LOOKUP__discord_bulk_overwrite_guild_application_command__type), REFLECTC_NS_UPPER(_LOOKUP__discord_bulk_overwrite_guild_application_command_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_bulk_overwrite_guild_application_commands__size), REFLECTC_NS_UPPER(_LOOKUP__discord_bulk_overwrite_guild_application_commands__array), REFLECTC_NS_UPPER(_LOOKUP__discord_bulk_overwrite_guild_application_commands__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_bulk_overwrite_guild_application_commands_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log__audit_log_entries), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log__guild_scheduled_events), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log__integrations), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log__threads), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log__users), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log__webhooks), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_entry__target_id), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_entry__changes), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_entry__user_id), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_entry__id), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_entry__action_type), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_entry__options), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_entry__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_entry_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_entries__size), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_entries__array), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_entries__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_entries_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_optional_audit_entry_info__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_optional_audit_entry_info__count), REFLECTC_NS_UPPER(_LOOKUP__discord_optional_audit_entry_info__delete_member_days), REFLECTC_NS_UPPER(_LOOKUP__discord_optional_audit_entry_info__id), REFLECTC_NS_UPPER(_LOOKUP__discord_optional_audit_entry_info__members_removed), REFLECTC_NS_UPPER(_LOOKUP__discord_optional_audit_entry_info__message_id), REFLECTC_NS_UPPER(_LOOKUP__discord_optional_audit_entry_info__role_name), REFLECTC_NS_UPPER(_LOOKUP__discord_optional_audit_entry_info__type), REFLECTC_NS_UPPER(_LOOKUP__discord_optional_audit_entry_info_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_optional_audit_entry_infos__size), REFLECTC_NS_UPPER(_LOOKUP__discord_optional_audit_entry_infos__array), REFLECTC_NS_UPPER(_LOOKUP__discord_optional_audit_entry_infos__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_optional_audit_entry_infos_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_change__new_value), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_change__old_value), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_change__key), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_change_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_changes__size), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_changes__array), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_changes__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_audit_log_changes_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_get_guild_audit_log__user_id), REFLECTC_NS_UPPER(_LOOKUP__discord_get_guild_audit_log__action_type), REFLECTC_NS_UPPER(_LOOKUP__discord_get_guild_audit_log__before), REFLECTC_NS_UPPER(_LOOKUP__discord_get_guild_audit_log__limit), REFLECTC_NS_UPPER(_LOOKUP__discord_get_guild_audit_log_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_trigger_metadata__keyword_filter), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_trigger_metadata__presets), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_trigger_metadata_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_action__type), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_action__metadata), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_action_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_actions__size), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_actions__array), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_actions__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_actions_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_action_metadata__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_action_metadata__duration_seconds), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_action_metadata_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_rule__id), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_rule__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_rule__name), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_rule__creator_id), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_rule__event_type), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_rule__trigger_type), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_rule__actions), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_rule__trigger_metadata), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_rule__enabled), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_rule__exempt_roles), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_rule__exempt_channels), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_rule_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_rules__size), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_rules__array), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_rules__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_rules_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_create_auto_moderation_rule__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_create_auto_moderation_rule__name), REFLECTC_NS_UPPER(_LOOKUP__discord_create_auto_moderation_rule__event_type), REFLECTC_NS_UPPER(_LOOKUP__discord_create_auto_moderation_rule__trigger_type), REFLECTC_NS_UPPER(_LOOKUP__discord_create_auto_moderation_rule__actions), REFLECTC_NS_UPPER(_LOOKUP__discord_create_auto_moderation_rule__trigger_metadata), REFLECTC_NS_UPPER(_LOOKUP__discord_create_auto_moderation_rule__enabled), REFLECTC_NS_UPPER(_LOOKUP__discord_create_auto_moderation_rule__exempt_roles), REFLECTC_NS_UPPER(_LOOKUP__discord_create_auto_moderation_rule__exempt_channels), REFLECTC_NS_UPPER(_LOOKUP__discord_create_auto_moderation_rule_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_auto_moderation_rule__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_auto_moderation_rule__name), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_auto_moderation_rule__event_type), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_auto_moderation_rule__trigger_metadata), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_auto_moderation_rule__actions), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_auto_moderation_rule__enabled), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_auto_moderation_rule__exempt_roles), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_auto_moderation_rule__exempt_channels), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_auto_moderation_rule_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_delete_auto_moderation_rule__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_delete_auto_moderation_rule_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_channel__id), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__type), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__position), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__permission_overwrites), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__name), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__topic), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__nsfw), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__last_message_id), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__bitrate), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__user_limit), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__rate_limit_per_user), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__recipients), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__icon), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__owner_id), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__application_id), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__managed), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__parent_id), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__last_pin_timestamp), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__rtc_region), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__voice_quality_mode), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__message_count), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__member_count), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__thread_metadata), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__member), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__default_auto_archive_duration), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__permissions), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__flags), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__total_message_sent), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__available_tags), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__applied_tags), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__default_reaction_emoji), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__default_thread_rate_limit_per_user), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__default_sort_order), REFLECTC_NS_UPPER(_LOOKUP__discord_channel__default_forum_layout), REFLECTC_NS_UPPER(_LOOKUP__discord_channel_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_channels__size), REFLECTC_NS_UPPER(_LOOKUP__discord_channels__array), REFLECTC_NS_UPPER(_LOOKUP__discord_channels__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_channels_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_message_activity__type), REFLECTC_NS_UPPER(_LOOKUP__discord_message_activity__party_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_activity_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_message_reference__message_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reference__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reference__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reference__fail_if_not_exists), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reference_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_message__id), REFLECTC_NS_UPPER(_LOOKUP__discord_message__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message__author), REFLECTC_NS_UPPER(_LOOKUP__discord_message__member), REFLECTC_NS_UPPER(_LOOKUP__discord_message__content), REFLECTC_NS_UPPER(_LOOKUP__discord_message__timestamp), REFLECTC_NS_UPPER(_LOOKUP__discord_message__edited_timestamp), REFLECTC_NS_UPPER(_LOOKUP__discord_message__tts), REFLECTC_NS_UPPER(_LOOKUP__discord_message__mention_everyone), REFLECTC_NS_UPPER(_LOOKUP__discord_message__mentions), REFLECTC_NS_UPPER(_LOOKUP__discord_message__mention_roles), REFLECTC_NS_UPPER(_LOOKUP__discord_message__mention_channels), REFLECTC_NS_UPPER(_LOOKUP__discord_message__attachments), REFLECTC_NS_UPPER(_LOOKUP__discord_message__embeds), REFLECTC_NS_UPPER(_LOOKUP__discord_message__reactions), REFLECTC_NS_UPPER(_LOOKUP__discord_message__nonce), REFLECTC_NS_UPPER(_LOOKUP__discord_message__pinned), REFLECTC_NS_UPPER(_LOOKUP__discord_message__webhook_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message__type), REFLECTC_NS_UPPER(_LOOKUP__discord_message__activity), REFLECTC_NS_UPPER(_LOOKUP__discord_message__application), REFLECTC_NS_UPPER(_LOOKUP__discord_message__application_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message__message_reference), REFLECTC_NS_UPPER(_LOOKUP__discord_message__flags), REFLECTC_NS_UPPER(_LOOKUP__discord_message__referenced_message), REFLECTC_NS_UPPER(_LOOKUP__discord_message__interaction), REFLECTC_NS_UPPER(_LOOKUP__discord_message__thread), REFLECTC_NS_UPPER(_LOOKUP__discord_message__components), REFLECTC_NS_UPPER(_LOOKUP__discord_message__sticker_items), REFLECTC_NS_UPPER(_LOOKUP__discord_message__stickers), REFLECTC_NS_UPPER(_LOOKUP__discord_message__position), REFLECTC_NS_UPPER(_LOOKUP__discord_message__role_subscription_data), REFLECTC_NS_UPPER(_LOOKUP__discord_message__resolved), REFLECTC_NS_UPPER(_LOOKUP__discord_message_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_messages__size), REFLECTC_NS_UPPER(_LOOKUP__discord_messages__array), REFLECTC_NS_UPPER(_LOOKUP__discord_messages__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_messages_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_followed_channel__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_followed_channel__webhook_id), REFLECTC_NS_UPPER(_LOOKUP__discord_followed_channel_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_reaction_count_details__burst), REFLECTC_NS_UPPER(_LOOKUP__discord_reaction_count_details__normal), REFLECTC_NS_UPPER(_LOOKUP__discord_reaction_count_details_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_reaction__count), REFLECTC_NS_UPPER(_LOOKUP__discord_reaction__count_details), REFLECTC_NS_UPPER(_LOOKUP__discord_reaction__me), REFLECTC_NS_UPPER(_LOOKUP__discord_reaction__me_burst), REFLECTC_NS_UPPER(_LOOKUP__discord_reaction__emoji), REFLECTC_NS_UPPER(_LOOKUP__discord_reaction__burst_colors), REFLECTC_NS_UPPER(_LOOKUP__discord_reaction_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_reactions__size), REFLECTC_NS_UPPER(_LOOKUP__discord_reactions__array), REFLECTC_NS_UPPER(_LOOKUP__discord_reactions__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_reactions_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_overwrite__id), REFLECTC_NS_UPPER(_LOOKUP__discord_overwrite__type), REFLECTC_NS_UPPER(_LOOKUP__discord_overwrite__allow), REFLECTC_NS_UPPER(_LOOKUP__discord_overwrite__deny), REFLECTC_NS_UPPER(_LOOKUP__discord_overwrite_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_overwrites__size), REFLECTC_NS_UPPER(_LOOKUP__discord_overwrites__array), REFLECTC_NS_UPPER(_LOOKUP__discord_overwrites__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_overwrites_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_thread_metadata__archived), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_metadata__auto_archive_duration), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_metadata__archive_timestamp), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_metadata__locked), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_metadata__invitable), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_metadata__create_timestamp), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_metadata_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_thread_member__id), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_member__user_id), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_member__join_timestamp), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_member__flags), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_member__member), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_member__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_member_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_thread_members__size), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_members__array), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_members__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_members_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_thread_default_reaction__emoji_id), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_default_reaction__emoji_name), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_default_reaction_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_thread_tag__id), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_tag__name), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_tag__moderated), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_tag__emoji_id), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_tag__emoji_name), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_tag_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_thread_tags__size), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_tags__array), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_tags__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_tags_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_embed_thumbnail__url), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_thumbnail__proxy_url), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_thumbnail__height), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_thumbnail__width), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_thumbnail_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_embed_video__url), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_video__proxy_url), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_video__height), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_video__width), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_video_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_embed_image__url), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_image__proxy_url), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_image__height), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_image__width), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_image_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_embed_provider__name), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_provider__url), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_provider_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_embed_author__name), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_author__url), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_author__icon_url), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_author__proxy_icon_url), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_author_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_embed_footer__text), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_footer__icon_url), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_footer__proxy_icon_url), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_footer_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_embed_field__name), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_field__value), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_field__Inline), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_field_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_embed_fields__size), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_fields__array), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_fields__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_fields_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_embed__title), REFLECTC_NS_UPPER(_LOOKUP__discord_embed__type), REFLECTC_NS_UPPER(_LOOKUP__discord_embed__description), REFLECTC_NS_UPPER(_LOOKUP__discord_embed__url), REFLECTC_NS_UPPER(_LOOKUP__discord_embed__timestamp), REFLECTC_NS_UPPER(_LOOKUP__discord_embed__color), REFLECTC_NS_UPPER(_LOOKUP__discord_embed__footer), REFLECTC_NS_UPPER(_LOOKUP__discord_embed__image), REFLECTC_NS_UPPER(_LOOKUP__discord_embed__thumbnail), REFLECTC_NS_UPPER(_LOOKUP__discord_embed__video), REFLECTC_NS_UPPER(_LOOKUP__discord_embed__provider), REFLECTC_NS_UPPER(_LOOKUP__discord_embed__author), REFLECTC_NS_UPPER(_LOOKUP__discord_embed__fields), REFLECTC_NS_UPPER(_LOOKUP__discord_embed_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_embeds__size), REFLECTC_NS_UPPER(_LOOKUP__discord_embeds__array), REFLECTC_NS_UPPER(_LOOKUP__discord_embeds__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_embeds_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_attachment__content), REFLECTC_NS_UPPER(_LOOKUP__discord_attachment__id), REFLECTC_NS_UPPER(_LOOKUP__discord_attachment__filename), REFLECTC_NS_UPPER(_LOOKUP__discord_attachment__description), REFLECTC_NS_UPPER(_LOOKUP__discord_attachment__content_type), REFLECTC_NS_UPPER(_LOOKUP__discord_attachment__size), REFLECTC_NS_UPPER(_LOOKUP__discord_attachment__url), REFLECTC_NS_UPPER(_LOOKUP__discord_attachment__proxy_url), REFLECTC_NS_UPPER(_LOOKUP__discord_attachment__height), REFLECTC_NS_UPPER(_LOOKUP__discord_attachment__width), REFLECTC_NS_UPPER(_LOOKUP__discord_attachment__ephemeral), REFLECTC_NS_UPPER(_LOOKUP__discord_attachment__duration_secs), REFLECTC_NS_UPPER(_LOOKUP__discord_attachment__waveform), REFLECTC_NS_UPPER(_LOOKUP__discord_attachment__flags), REFLECTC_NS_UPPER(_LOOKUP__discord_attachment_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_attachments__size), REFLECTC_NS_UPPER(_LOOKUP__discord_attachments__array), REFLECTC_NS_UPPER(_LOOKUP__discord_attachments__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_attachments_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_channel_mention__id), REFLECTC_NS_UPPER(_LOOKUP__discord_channel_mention__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_channel_mention__type), REFLECTC_NS_UPPER(_LOOKUP__discord_channel_mention__name), REFLECTC_NS_UPPER(_LOOKUP__discord_channel_mention_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_allowed_mention__parse), REFLECTC_NS_UPPER(_LOOKUP__discord_allowed_mention__roles), REFLECTC_NS_UPPER(_LOOKUP__discord_allowed_mention__users), REFLECTC_NS_UPPER(_LOOKUP__discord_allowed_mention__replied_user), REFLECTC_NS_UPPER(_LOOKUP__discord_allowed_mention_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_role_subscription_data__role_subscription_listing_id), REFLECTC_NS_UPPER(_LOOKUP__discord_role_subscription_data__tier_name), REFLECTC_NS_UPPER(_LOOKUP__discord_role_subscription_data__total_months_subscribed), REFLECTC_NS_UPPER(_LOOKUP__discord_role_subscription_data__is_renewal), REFLECTC_NS_UPPER(_LOOKUP__discord_role_subscription_data_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_thread_response_body__threads), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_response_body__members), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_response_body__has_more), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_response_body_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_channel__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_channel__name), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_channel__icon), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_channel__type), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_channel__position), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_channel__topic), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_channel__nsfw), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_channel__rate_limit_per_user), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_channel__user_limit), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_channel__permission_overwrites), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_channel__parent_id), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_channel__rtc_region), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_channel__video_quality_mode), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_channel__default_auto_archive_duration), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_channel__archived), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_channel__auto_archive_duration), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_channel__locked), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_channel__invitable), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_channel_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_delete_channel__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_delete_channel_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_get_channel_messages__around), REFLECTC_NS_UPPER(_LOOKUP__discord_get_channel_messages__before), REFLECTC_NS_UPPER(_LOOKUP__discord_get_channel_messages__after), REFLECTC_NS_UPPER(_LOOKUP__discord_get_channel_messages__limit), REFLECTC_NS_UPPER(_LOOKUP__discord_get_channel_messages_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_create_message__content), REFLECTC_NS_UPPER(_LOOKUP__discord_create_message__tts), REFLECTC_NS_UPPER(_LOOKUP__discord_create_message__embeds), REFLECTC_NS_UPPER(_LOOKUP__discord_create_message__allowed_mentions), REFLECTC_NS_UPPER(_LOOKUP__discord_create_message__message_reference), REFLECTC_NS_UPPER(_LOOKUP__discord_create_message__components), REFLECTC_NS_UPPER(_LOOKUP__discord_create_message__sticker_ids), REFLECTC_NS_UPPER(_LOOKUP__discord_create_message__attachments), REFLECTC_NS_UPPER(_LOOKUP__discord_create_message__flags), REFLECTC_NS_UPPER(_LOOKUP__discord_create_message__enforce_nonce), REFLECTC_NS_UPPER(_LOOKUP__discord_create_message_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_get_reactions__after), REFLECTC_NS_UPPER(_LOOKUP__discord_get_reactions__limit), REFLECTC_NS_UPPER(_LOOKUP__discord_get_reactions_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_edit_message__content), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_message__embeds), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_message__flags), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_message__allowed_mentions), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_message__components), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_message__attachments), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_message_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_delete_message__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_delete_message_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_bulk_delete_messages__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_bulk_delete_messages__messages), REFLECTC_NS_UPPER(_LOOKUP__discord_bulk_delete_messages_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_edit_channel_permissions__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_channel_permissions__allow), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_channel_permissions__deny), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_channel_permissions__type), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_channel_permissions_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_create_channel_invite__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_create_channel_invite__max_age), REFLECTC_NS_UPPER(_LOOKUP__discord_create_channel_invite__max_uses), REFLECTC_NS_UPPER(_LOOKUP__discord_create_channel_invite__temporary), REFLECTC_NS_UPPER(_LOOKUP__discord_create_channel_invite__unique), REFLECTC_NS_UPPER(_LOOKUP__discord_create_channel_invite__target_type), REFLECTC_NS_UPPER(_LOOKUP__discord_create_channel_invite__target_user_id), REFLECTC_NS_UPPER(_LOOKUP__discord_create_channel_invite__target_application_id), REFLECTC_NS_UPPER(_LOOKUP__discord_create_channel_invite_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_delete_channel_permission__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_delete_channel_permission_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_follow_news_channel__webhook_channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_follow_news_channel_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_pin_message__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_pin_message_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_unpin_message__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_unpin_message_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_group_dm_add_recipient__access_token), REFLECTC_NS_UPPER(_LOOKUP__discord_group_dm_add_recipient__nick), REFLECTC_NS_UPPER(_LOOKUP__discord_group_dm_add_recipient_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_start_thread_with_message__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_start_thread_with_message__name), REFLECTC_NS_UPPER(_LOOKUP__discord_start_thread_with_message__auto_archive_duration), REFLECTC_NS_UPPER(_LOOKUP__discord_start_thread_with_message__rate_limit_per_user), REFLECTC_NS_UPPER(_LOOKUP__discord_start_thread_with_message_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_start_thread_without_message__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_start_thread_without_message__name), REFLECTC_NS_UPPER(_LOOKUP__discord_start_thread_without_message__auto_archive_duration), REFLECTC_NS_UPPER(_LOOKUP__discord_start_thread_without_message__type), REFLECTC_NS_UPPER(_LOOKUP__discord_start_thread_without_message__invitable), REFLECTC_NS_UPPER(_LOOKUP__discord_start_thread_without_message__rate_limit_per_user), REFLECTC_NS_UPPER(_LOOKUP__discord_start_thread_without_message_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_list_active_threads__threads), REFLECTC_NS_UPPER(_LOOKUP__discord_list_active_threads__members), REFLECTC_NS_UPPER(_LOOKUP__discord_list_active_threads__has_more), REFLECTC_NS_UPPER(_LOOKUP__discord_list_active_threads_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__strings__size), REFLECTC_NS_UPPER(_LOOKUP__strings__array), REFLECTC_NS_UPPER(_LOOKUP__strings__realsize), REFLECTC_NS_UPPER(_LOOKUP__strings_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__json_values__size), REFLECTC_NS_UPPER(_LOOKUP__json_values__array), REFLECTC_NS_UPPER(_LOOKUP__json_values__realsize), REFLECTC_NS_UPPER(_LOOKUP__json_values_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__snowflakes__size), REFLECTC_NS_UPPER(_LOOKUP__snowflakes__array), REFLECTC_NS_UPPER(_LOOKUP__snowflakes__realsize), REFLECTC_NS_UPPER(_LOOKUP__snowflakes_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__bitmasks__size), REFLECTC_NS_UPPER(_LOOKUP__bitmasks__array), REFLECTC_NS_UPPER(_LOOKUP__bitmasks__realsize), REFLECTC_NS_UPPER(_LOOKUP__bitmasks_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__integers__size), REFLECTC_NS_UPPER(_LOOKUP__integers__array), REFLECTC_NS_UPPER(_LOOKUP__integers__realsize), REFLECTC_NS_UPPER(_LOOKUP__integers_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_emoji__id), REFLECTC_NS_UPPER(_LOOKUP__discord_emoji__name), REFLECTC_NS_UPPER(_LOOKUP__discord_emoji__roles), REFLECTC_NS_UPPER(_LOOKUP__discord_emoji__user), REFLECTC_NS_UPPER(_LOOKUP__discord_emoji__require_colons), REFLECTC_NS_UPPER(_LOOKUP__discord_emoji__managed), REFLECTC_NS_UPPER(_LOOKUP__discord_emoji__animated), REFLECTC_NS_UPPER(_LOOKUP__discord_emoji__available), REFLECTC_NS_UPPER(_LOOKUP__discord_emoji_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_emojis__size), REFLECTC_NS_UPPER(_LOOKUP__discord_emojis__array), REFLECTC_NS_UPPER(_LOOKUP__discord_emojis__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_emojis_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_emoji__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_emoji__name), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_emoji__image), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_emoji__roles), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_emoji_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_emoji__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_emoji__name), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_emoji__image), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_emoji__roles), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_emoji_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_delete_guild_emoji__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_delete_guild_emoji_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_activity__name), REFLECTC_NS_UPPER(_LOOKUP__discord_activity__type), REFLECTC_NS_UPPER(_LOOKUP__discord_activity__url), REFLECTC_NS_UPPER(_LOOKUP__discord_activity__created_at), REFLECTC_NS_UPPER(_LOOKUP__discord_activity__timestamps), REFLECTC_NS_UPPER(_LOOKUP__discord_activity__application_id), REFLECTC_NS_UPPER(_LOOKUP__discord_activity__details), REFLECTC_NS_UPPER(_LOOKUP__discord_activity__state), REFLECTC_NS_UPPER(_LOOKUP__discord_activity__emoji), REFLECTC_NS_UPPER(_LOOKUP__discord_activity__party), REFLECTC_NS_UPPER(_LOOKUP__discord_activity__assets), REFLECTC_NS_UPPER(_LOOKUP__discord_activity__secrets), REFLECTC_NS_UPPER(_LOOKUP__discord_activity__instance), REFLECTC_NS_UPPER(_LOOKUP__discord_activity__flags), REFLECTC_NS_UPPER(_LOOKUP__discord_activity__buttons), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_activities__size), REFLECTC_NS_UPPER(_LOOKUP__discord_activities__array), REFLECTC_NS_UPPER(_LOOKUP__discord_activities__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_activities_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_activity_timestamps__start), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_timestamps__end), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_timestamps_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_activity_emoji__name), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_emoji__id), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_emoji__animated), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_emoji_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_activity_party__id), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_party__size), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_party_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_activity_assets__large_image), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_assets__large_text), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_assets__small_image), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_assets__small_text), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_assets_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_activity_secrets__join), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_secrets__spectate), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_secrets__match), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_secrets_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_activity_button__label), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_button__url), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_button_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_activity_buttons__size), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_buttons__array), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_buttons__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_activity_buttons_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_presence_update__user), REFLECTC_NS_UPPER(_LOOKUP__discord_presence_update__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_presence_update__status), REFLECTC_NS_UPPER(_LOOKUP__discord_presence_update__client_status), REFLECTC_NS_UPPER(_LOOKUP__discord_presence_update__activities), REFLECTC_NS_UPPER(_LOOKUP__discord_presence_update__since), REFLECTC_NS_UPPER(_LOOKUP__discord_presence_update__afk), REFLECTC_NS_UPPER(_LOOKUP__discord_presence_update_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_client_status__desktop), REFLECTC_NS_UPPER(_LOOKUP__discord_client_status__mobile), REFLECTC_NS_UPPER(_LOOKUP__discord_client_status__web), REFLECTC_NS_UPPER(_LOOKUP__discord_client_status_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_presence_updates__size), REFLECTC_NS_UPPER(_LOOKUP__discord_presence_updates__array), REFLECTC_NS_UPPER(_LOOKUP__discord_presence_updates__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_presence_updates_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_identify__token), REFLECTC_NS_UPPER(_LOOKUP__discord_identify__properties), REFLECTC_NS_UPPER(_LOOKUP__discord_identify__compress), REFLECTC_NS_UPPER(_LOOKUP__discord_identify__large_threshold), REFLECTC_NS_UPPER(_LOOKUP__discord_identify__shard), REFLECTC_NS_UPPER(_LOOKUP__discord_identify__presence), REFLECTC_NS_UPPER(_LOOKUP__discord_identify__intents), REFLECTC_NS_UPPER(_LOOKUP__discord_identify_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_identify_connection__os), REFLECTC_NS_UPPER(_LOOKUP__discord_identify_connection__browser), REFLECTC_NS_UPPER(_LOOKUP__discord_identify_connection__device), REFLECTC_NS_UPPER(_LOOKUP__discord_identify_connection_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_resume__token), REFLECTC_NS_UPPER(_LOOKUP__discord_resume__session_id), REFLECTC_NS_UPPER(_LOOKUP__discord_resume__seq), REFLECTC_NS_UPPER(_LOOKUP__discord_resume_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_request_guild_members__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_request_guild_members__query), REFLECTC_NS_UPPER(_LOOKUP__discord_request_guild_members__limit), REFLECTC_NS_UPPER(_LOOKUP__discord_request_guild_members__presences), REFLECTC_NS_UPPER(_LOOKUP__discord_request_guild_members__user_ids), REFLECTC_NS_UPPER(_LOOKUP__discord_request_guild_members__nonce), REFLECTC_NS_UPPER(_LOOKUP__discord_request_guild_members_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_update_voice_state__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_update_voice_state__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_update_voice_state__self_mute), REFLECTC_NS_UPPER(_LOOKUP__discord_update_voice_state__self_deaf), REFLECTC_NS_UPPER(_LOOKUP__discord_update_voice_state_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_ready__v), REFLECTC_NS_UPPER(_LOOKUP__discord_ready__user), REFLECTC_NS_UPPER(_LOOKUP__discord_ready__guilds), REFLECTC_NS_UPPER(_LOOKUP__discord_ready__session_id), REFLECTC_NS_UPPER(_LOOKUP__discord_ready__shard), REFLECTC_NS_UPPER(_LOOKUP__discord_ready__application), REFLECTC_NS_UPPER(_LOOKUP__discord_ready_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_action_execution__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_action_execution__action), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_action_execution__rule_trigger_type), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_action_execution__user_id), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_action_execution__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_action_execution__message_id), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_action_execution__alert_system_message_id), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_action_execution__content), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_action_execution__matched_keyword), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_action_execution__matched_content), REFLECTC_NS_UPPER(_LOOKUP__discord_auto_moderation_action_execution_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_thread_list_sync__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_list_sync__channel_ids), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_list_sync__threads), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_list_sync__members), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_list_sync_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_thread_members_update__id), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_members_update__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_members_update__member_count), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_members_update__added_members), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_members_update__removed_member_ids), REFLECTC_NS_UPPER(_LOOKUP__discord_thread_members_update_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_channel_pins_update__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_channel_pins_update__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_channel_pins_update__last_pin_timestamp), REFLECTC_NS_UPPER(_LOOKUP__discord_channel_pins_update_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_ban_add__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_ban_add__user), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_ban_add_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_ban_remove__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_ban_remove__user), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_ban_remove_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_emojis_update__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_emojis_update__emojis), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_emojis_update_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_stickers_update__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_stickers_update__stickers), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_stickers_update_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_integrations_update__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_integrations_update_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member_remove__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member_remove__user), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member_remove_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member_update__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member_update__roles), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member_update__user), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member_update__nick), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member_update__avatar), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member_update__joined_at), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member_update__premium_since), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member_update__deaf), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member_update__mute), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member_update__pending), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member_update__communication_disabled_until), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member_update_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_members_chunk__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_members_chunk__members), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_members_chunk__chunk_index), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_members_chunk__chunk_count), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_members_chunk__not_found), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_members_chunk__presences), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_members_chunk__nonce), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_members_chunk_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_role_create__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_role_create__role), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_role_create_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_role_update__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_role_update__role), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_role_update_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_role_delete__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_role_delete__role_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_role_delete_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event_user_add__guild_scheduled_event_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event_user_add__user_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event_user_add__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event_user_add_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event_user_remove__guild_scheduled_event_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event_user_remove__user_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event_user_remove__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event_user_remove_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_integration_delete__id), REFLECTC_NS_UPPER(_LOOKUP__discord_integration_delete__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_integration_delete__application_id), REFLECTC_NS_UPPER(_LOOKUP__discord_integration_delete_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_invite_create__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_create__code), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_create__created_at), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_create__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_create__inviter), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_create__max_age), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_create__max_uses), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_create__target_type), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_create__target_user), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_create__target_application), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_create__temporary), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_create__uses), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_create_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_invite_delete__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_delete__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_delete__code), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_delete_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_message_delete__id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_delete__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_delete__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_delete_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_message_delete_bulk__ids), REFLECTC_NS_UPPER(_LOOKUP__discord_message_delete_bulk__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_delete_bulk__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_delete_bulk_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_add__user_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_add__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_add__message_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_add__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_add__member), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_add__emoji), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_add_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_remove__user_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_remove__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_remove__message_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_remove__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_remove__emoji), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_remove_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_remove_all__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_remove_all__message_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_remove_all__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_remove_all_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_remove_emoji__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_remove_emoji__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_remove_emoji__message_id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_remove_emoji__emoji), REFLECTC_NS_UPPER(_LOOKUP__discord_message_reaction_remove_emoji_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_typing_start__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_typing_start__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_typing_start__user_id), REFLECTC_NS_UPPER(_LOOKUP__discord_typing_start__timestamp), REFLECTC_NS_UPPER(_LOOKUP__discord_typing_start__member), REFLECTC_NS_UPPER(_LOOKUP__discord_typing_start_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_voice_server_update__token), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_server_update__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_server_update__endpoint), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_server_update_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_webhooks_update__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_webhooks_update__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_webhooks_update_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_session_start_limit__total), REFLECTC_NS_UPPER(_LOOKUP__discord_session_start_limit__remaining), REFLECTC_NS_UPPER(_LOOKUP__discord_session_start_limit__reset_after), REFLECTC_NS_UPPER(_LOOKUP__discord_session_start_limit__max_concurrency), REFLECTC_NS_UPPER(_LOOKUP__discord_session_start_limit_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild__id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__name), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__icon), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__icon_hash), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__splash), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__discovery_splash), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__owner), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__owner_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__permissions), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__afk_channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__afk_timeout), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__widget_enabled), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__widget_channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__verification_level), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__default_message_notifications), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__explicit_content_filter), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__roles), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__emojis), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__features), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__mfa_level), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__application_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__system_channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__system_channel_flags), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__rules_channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__joined_at), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__large), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__unavailable), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__member_count), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__voice_states), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__members), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__channels), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__threads), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__presences), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__max_presences), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__max_members), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__vanity_url_code), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__description), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__banner), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__premium_tier), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__premium_subscription_count), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__preferred_locale), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__public_updates_channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__max_video_channel_users), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__approximate_member_count), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__approximate_presence_count), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__welcome_screen), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__nsfw_level), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__stage_instances), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__stickers), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__guild_scheduled_events), REFLECTC_NS_UPPER(_LOOKUP__discord_guild__premium_progress_bar_enabled), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guilds__size), REFLECTC_NS_UPPER(_LOOKUP__discord_guilds__array), REFLECTC_NS_UPPER(_LOOKUP__discord_guilds__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_guilds_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_preview__id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_preview__name), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_preview__icon), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_preview__splash), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_preview__discovery_splash), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_preview__emojis), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_preview__features), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_preview__approximate_member_count), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_preview__approximate_presence_count), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_preview__description), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_preview__stickers), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_preview_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_widget_settings__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_widget_settings__enabled), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_widget_settings__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_widget_settings_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_widget__id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_widget__name), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_widget__instant_invite), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_widget__channels), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_widget__members), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_widget__presence_count), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_widget_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member__user), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member__nick), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member__avatar), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member__roles), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member__joined_at), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member__premium_since), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member__deaf), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member__muted), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member__pending), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member__permissions), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member__communication_disabled_until), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_member_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_members__size), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_members__array), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_members__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_members_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_integration__id), REFLECTC_NS_UPPER(_LOOKUP__discord_integration__name), REFLECTC_NS_UPPER(_LOOKUP__discord_integration__type), REFLECTC_NS_UPPER(_LOOKUP__discord_integration__enabled), REFLECTC_NS_UPPER(_LOOKUP__discord_integration__syncing), REFLECTC_NS_UPPER(_LOOKUP__discord_integration__role_id), REFLECTC_NS_UPPER(_LOOKUP__discord_integration__enable_emoticons), REFLECTC_NS_UPPER(_LOOKUP__discord_integration__expire_behavior), REFLECTC_NS_UPPER(_LOOKUP__discord_integration__expire_grace_period), REFLECTC_NS_UPPER(_LOOKUP__discord_integration__user), REFLECTC_NS_UPPER(_LOOKUP__discord_integration__account), REFLECTC_NS_UPPER(_LOOKUP__discord_integration__synced_at), REFLECTC_NS_UPPER(_LOOKUP__discord_integration__subscriber_count), REFLECTC_NS_UPPER(_LOOKUP__discord_integration__revoked), REFLECTC_NS_UPPER(_LOOKUP__discord_integration__application), REFLECTC_NS_UPPER(_LOOKUP__discord_integration__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_integration_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_integrations__size), REFLECTC_NS_UPPER(_LOOKUP__discord_integrations__array), REFLECTC_NS_UPPER(_LOOKUP__discord_integrations__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_integrations_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_integration_account__id), REFLECTC_NS_UPPER(_LOOKUP__discord_integration_account__name), REFLECTC_NS_UPPER(_LOOKUP__discord_integration_account_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_integration_application__id), REFLECTC_NS_UPPER(_LOOKUP__discord_integration_application__name), REFLECTC_NS_UPPER(_LOOKUP__discord_integration_application__icon), REFLECTC_NS_UPPER(_LOOKUP__discord_integration_application__description), REFLECTC_NS_UPPER(_LOOKUP__discord_integration_application__summary), REFLECTC_NS_UPPER(_LOOKUP__discord_integration_application__bot), REFLECTC_NS_UPPER(_LOOKUP__discord_integration_application_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_ban__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_ban__user), REFLECTC_NS_UPPER(_LOOKUP__discord_ban_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_bans__size), REFLECTC_NS_UPPER(_LOOKUP__discord_bans__array), REFLECTC_NS_UPPER(_LOOKUP__discord_bans__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_bans_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_welcome_screen__description), REFLECTC_NS_UPPER(_LOOKUP__discord_welcome_screen__welcome_channels), REFLECTC_NS_UPPER(_LOOKUP__discord_welcome_screen_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_welcome_screen_channel__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_welcome_screen_channel__description), REFLECTC_NS_UPPER(_LOOKUP__discord_welcome_screen_channel__emoji_id), REFLECTC_NS_UPPER(_LOOKUP__discord_welcome_screen_channel__emoji_name), REFLECTC_NS_UPPER(_LOOKUP__discord_welcome_screen_channel_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_welcome_screen_channels__size), REFLECTC_NS_UPPER(_LOOKUP__discord_welcome_screen_channels__array), REFLECTC_NS_UPPER(_LOOKUP__discord_welcome_screen_channels__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_welcome_screen_channels_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_prune_count__pruned), REFLECTC_NS_UPPER(_LOOKUP__discord_prune_count_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild__name), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild__region), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild__icon), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild__verification_level), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild__default_message_notifications), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild__explicit_content_filter), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild__roles), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild__channels), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild__afk_channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild__afk_timeout), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild__system_channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild__system_channel_flags), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__name), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__verification_level), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__default_message_notifications), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__explicit_content_filter), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__afk_channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__afk_timeout), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__icon), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__owner_id), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__splash), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__discovery_splash), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__banner), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__system_channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__system_channel_flags), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__rules_channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__public_updates_channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__preferred_locale), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__features), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__description), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild__premium_progress_bar_enabled), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_channel__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_channel__name), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_channel__type), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_channel__topic), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_channel__bitrate), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_channel__user_limit), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_channel__rate_limit_per_user), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_channel__position), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_channel__permission_overwrites), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_channel__parent_id), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_channel__nsfw), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_channel_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_channel_position__id), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_channel_position__position), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_channel_position__lock_category), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_channel_position__parent_id), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_channel_position_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_channel_positions__size), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_channel_positions__array), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_channel_positions__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_channel_positions_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_list_active_guild_threads__threads), REFLECTC_NS_UPPER(_LOOKUP__discord_list_active_guild_threads__members), REFLECTC_NS_UPPER(_LOOKUP__discord_list_active_guild_threads_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_list_guild_members__limit), REFLECTC_NS_UPPER(_LOOKUP__discord_list_guild_members__after), REFLECTC_NS_UPPER(_LOOKUP__discord_list_guild_members_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_search_guild_members__query), REFLECTC_NS_UPPER(_LOOKUP__discord_search_guild_members__limit), REFLECTC_NS_UPPER(_LOOKUP__discord_search_guild_members_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_add_guild_member__access_token), REFLECTC_NS_UPPER(_LOOKUP__discord_add_guild_member__nick), REFLECTC_NS_UPPER(_LOOKUP__discord_add_guild_member__roles), REFLECTC_NS_UPPER(_LOOKUP__discord_add_guild_member__mute), REFLECTC_NS_UPPER(_LOOKUP__discord_add_guild_member__deaf), REFLECTC_NS_UPPER(_LOOKUP__discord_add_guild_member_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_member__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_member__nick), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_member__roles), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_member__mute), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_member__deaf), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_member__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_member__communication_disabled_until), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_member_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_current_member__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_current_member__nick), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_current_member_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_current_user_nick__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_current_user_nick__nick), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_current_user_nick_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_add_guild_member_role__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_add_guild_member_role_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_remove_guild_member_role__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_remove_guild_member_role_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_remove_guild_member__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_remove_guild_member_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_ban__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_ban__delete_message_days), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_ban_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_remove_guild_ban__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_remove_guild_ban_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_role__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_role__name), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_role__permissions), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_role__color), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_role__hoist), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_role__icon), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_role__unicode_emoji), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_role__mentionable), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_role_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_role_position__id), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_role_position__position), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_role_position_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_role_positions__size), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_role_positions__array), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_role_positions__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_role_positions_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_role__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_role__name), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_role__permissions), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_role__color), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_role__hoist), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_role__icon), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_role__unicode_emoji), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_role__mentionable), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_role_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_delete_guild_role__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_delete_guild_role_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_get_guild_prune_count__days), REFLECTC_NS_UPPER(_LOOKUP__discord_get_guild_prune_count__include_roles), REFLECTC_NS_UPPER(_LOOKUP__discord_get_guild_prune_count_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_begin_guild_prune__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_begin_guild_prune__days), REFLECTC_NS_UPPER(_LOOKUP__discord_begin_guild_prune__compute_prune_count), REFLECTC_NS_UPPER(_LOOKUP__discord_begin_guild_prune__include_roles), REFLECTC_NS_UPPER(_LOOKUP__discord_begin_guild_prune_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_delete_guild_integrations__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_delete_guild_integrations__days), REFLECTC_NS_UPPER(_LOOKUP__discord_delete_guild_integrations__include_roles), REFLECTC_NS_UPPER(_LOOKUP__discord_delete_guild_integrations_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_get_guild_widget_image__style), REFLECTC_NS_UPPER(_LOOKUP__discord_get_guild_widget_image_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_welcome_screen__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_welcome_screen__enabled), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_welcome_screen__welcome_channels), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_welcome_screen__description), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_welcome_screen_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_current_user_voice_state__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_current_user_voice_state__suppress), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_current_user_voice_state__request_to_speak_timestamp), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_current_user_voice_state_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_user_voice_state__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_user_voice_state__suppress), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_user_voice_state_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event__id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event__creator_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event__name), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event__description), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event__scheduled_start_time), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event__scheduled_end_time), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event__privacy_level), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event__status), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event__entity_type), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event__entity_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event__entity_metadata), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event__creator), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event__user_count), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event__image), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event_entity_metadata__location), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event_entity_metadata_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_events__size), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_events__array), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_events__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_events_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event_user__guild_scheduled_event_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event_user__user), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event_user__member), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event_user_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event_users__size), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event_users__array), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event_users__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_scheduled_event_users_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_list_guild_scheduled_events__with_user_count), REFLECTC_NS_UPPER(_LOOKUP__discord_list_guild_scheduled_events_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_scheduled_event__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_scheduled_event__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_scheduled_event__entity_metadata), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_scheduled_event__name), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_scheduled_event__privacy_level), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_scheduled_event__scheduled_start_time), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_scheduled_event__scheduled_end_time), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_scheduled_event__description), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_scheduled_event__entity_type), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_scheduled_event__image), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_scheduled_event_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_get_guild_scheduled_event__with_user_count), REFLECTC_NS_UPPER(_LOOKUP__discord_get_guild_scheduled_event_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_scheduled_event__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_scheduled_event__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_scheduled_event__entity_metadata), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_scheduled_event__name), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_scheduled_event__scheduled_start_time), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_scheduled_event__scheduled_end_time), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_scheduled_event__description), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_scheduled_event__entity_type), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_scheduled_event__status), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_scheduled_event__image), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_scheduled_event_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_get_guild_scheduled_event_users__limit), REFLECTC_NS_UPPER(_LOOKUP__discord_get_guild_scheduled_event_users__with_member), REFLECTC_NS_UPPER(_LOOKUP__discord_get_guild_scheduled_event_users__before), REFLECTC_NS_UPPER(_LOOKUP__discord_get_guild_scheduled_event_users__after), REFLECTC_NS_UPPER(_LOOKUP__discord_get_guild_scheduled_event_users_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_template__code), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_template__name), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_template__description), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_template__usage_count), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_template__creator_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_template__creator), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_template__created_at), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_template__updated_at), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_template__source_guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_template__serialized_source_guild), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_template__is_dirty), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_template_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_guild_templates__size), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_templates__array), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_templates__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_guild_templates_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_from_guild_template__name), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_from_guild_template__icon), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_from_guild_template_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_template__name), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_template__description), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_template_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_template__name), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_template__description), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_template_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_interaction__id), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction__application_id), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction__type), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction__data), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction__member), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction__user), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction__token), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction__version), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction__message), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction__locale), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction__guild_locale), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_data__id), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_data__name), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_data__type), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_data__resolved), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_data__options), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_data__custom_id), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_data__component_type), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_data__values), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_data__target_id), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_data__components), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_data_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_resolved_data__users), REFLECTC_NS_UPPER(_LOOKUP__discord_resolved_data__members), REFLECTC_NS_UPPER(_LOOKUP__discord_resolved_data__roles), REFLECTC_NS_UPPER(_LOOKUP__discord_resolved_data__channels), REFLECTC_NS_UPPER(_LOOKUP__discord_resolved_data__messages), REFLECTC_NS_UPPER(_LOOKUP__discord_resolved_data__attachments), REFLECTC_NS_UPPER(_LOOKUP__discord_resolved_data_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_message_interaction__id), REFLECTC_NS_UPPER(_LOOKUP__discord_message_interaction__type), REFLECTC_NS_UPPER(_LOOKUP__discord_message_interaction__name), REFLECTC_NS_UPPER(_LOOKUP__discord_message_interaction__user), REFLECTC_NS_UPPER(_LOOKUP__discord_message_interaction__member), REFLECTC_NS_UPPER(_LOOKUP__discord_message_interaction_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_response__type), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_response__data), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_response_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_callback_data__components), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_callback_data__tts), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_callback_data__content), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_callback_data__embeds), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_callback_data__flags), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_callback_data__attachments), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_callback_data__choices), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_callback_data__custom_id), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_callback_data__title), REFLECTC_NS_UPPER(_LOOKUP__discord_interaction_callback_data_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_edit_original_interaction_response__thread_id), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_original_interaction_response__content), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_original_interaction_response__embeds), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_original_interaction_response__allowed_mentions), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_original_interaction_response__components), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_original_interaction_response__attachments), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_original_interaction_response_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_create_followup_message__wait), REFLECTC_NS_UPPER(_LOOKUP__discord_create_followup_message__thread_id), REFLECTC_NS_UPPER(_LOOKUP__discord_create_followup_message__avatar_url), REFLECTC_NS_UPPER(_LOOKUP__discord_create_followup_message__tts), REFLECTC_NS_UPPER(_LOOKUP__discord_create_followup_message__embeds), REFLECTC_NS_UPPER(_LOOKUP__discord_create_followup_message__allowed_mentions), REFLECTC_NS_UPPER(_LOOKUP__discord_create_followup_message__components), REFLECTC_NS_UPPER(_LOOKUP__discord_create_followup_message__attachments), REFLECTC_NS_UPPER(_LOOKUP__discord_create_followup_message__flags), REFLECTC_NS_UPPER(_LOOKUP__discord_create_followup_message_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_edit_followup_message__thread_id), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_followup_message__content), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_followup_message__embeds), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_followup_message__allowed_mentions), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_followup_message__components), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_followup_message__attachments), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_followup_message_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_invite__code), REFLECTC_NS_UPPER(_LOOKUP__discord_invite__guild), REFLECTC_NS_UPPER(_LOOKUP__discord_invite__channel), REFLECTC_NS_UPPER(_LOOKUP__discord_invite__inviter), REFLECTC_NS_UPPER(_LOOKUP__discord_invite__target_type), REFLECTC_NS_UPPER(_LOOKUP__discord_invite__target_user), REFLECTC_NS_UPPER(_LOOKUP__discord_invite__target_application), REFLECTC_NS_UPPER(_LOOKUP__discord_invite__approximate_presence_count), REFLECTC_NS_UPPER(_LOOKUP__discord_invite__approximate_member_count), REFLECTC_NS_UPPER(_LOOKUP__discord_invite__expires_at), REFLECTC_NS_UPPER(_LOOKUP__discord_invite__stage_instance), REFLECTC_NS_UPPER(_LOOKUP__discord_invite__guild_scheduled_event), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_invites__size), REFLECTC_NS_UPPER(_LOOKUP__discord_invites__array), REFLECTC_NS_UPPER(_LOOKUP__discord_invites__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_invites_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_invite_metadata__uses), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_metadata__max_uses), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_metadata__max_age), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_metadata__temporary), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_metadata__created_at), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_metadata_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_invite_stage_instance__members), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_stage_instance__participant_count), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_stage_instance__speaker_count), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_stage_instance__topic), REFLECTC_NS_UPPER(_LOOKUP__discord_invite_stage_instance_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_get_invite__with_counts), REFLECTC_NS_UPPER(_LOOKUP__discord_get_invite__with_expiration), REFLECTC_NS_UPPER(_LOOKUP__discord_get_invite__guild_scheduled_event_id), REFLECTC_NS_UPPER(_LOOKUP__discord_get_invite_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_delete_invite__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_delete_invite_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_component__id), REFLECTC_NS_UPPER(_LOOKUP__discord_component__type), REFLECTC_NS_UPPER(_LOOKUP__discord_component__custom_id), REFLECTC_NS_UPPER(_LOOKUP__discord_component__sku_id), REFLECTC_NS_UPPER(_LOOKUP__discord_component__style), REFLECTC_NS_UPPER(_LOOKUP__discord_component__label), REFLECTC_NS_UPPER(_LOOKUP__discord_component__emoji), REFLECTC_NS_UPPER(_LOOKUP__discord_component__url), REFLECTC_NS_UPPER(_LOOKUP__discord_component__options), REFLECTC_NS_UPPER(_LOOKUP__discord_component__placeholder), REFLECTC_NS_UPPER(_LOOKUP__discord_component__min_values), REFLECTC_NS_UPPER(_LOOKUP__discord_component__max_values), REFLECTC_NS_UPPER(_LOOKUP__discord_component__components), REFLECTC_NS_UPPER(_LOOKUP__discord_component__min_length), REFLECTC_NS_UPPER(_LOOKUP__discord_component__max_length), REFLECTC_NS_UPPER(_LOOKUP__discord_component__required), REFLECTC_NS_UPPER(_LOOKUP__discord_component__value), REFLECTC_NS_UPPER(_LOOKUP__discord_component_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_components__size), REFLECTC_NS_UPPER(_LOOKUP__discord_components__array), REFLECTC_NS_UPPER(_LOOKUP__discord_components__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_components_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_select_option__label), REFLECTC_NS_UPPER(_LOOKUP__discord_select_option__value), REFLECTC_NS_UPPER(_LOOKUP__discord_select_option__description), REFLECTC_NS_UPPER(_LOOKUP__discord_select_option__emoji), REFLECTC_NS_UPPER(_LOOKUP__discord_select_option__Default), REFLECTC_NS_UPPER(_LOOKUP__discord_select_option_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_select_options__size), REFLECTC_NS_UPPER(_LOOKUP__discord_select_options__array), REFLECTC_NS_UPPER(_LOOKUP__discord_select_options__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_select_options_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_component_media__url), REFLECTC_NS_UPPER(_LOOKUP__discord_component_media_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_component_item__media), REFLECTC_NS_UPPER(_LOOKUP__discord_component_item__description), REFLECTC_NS_UPPER(_LOOKUP__discord_component_item__spoiler), REFLECTC_NS_UPPER(_LOOKUP__discord_component_item_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_component_items__size), REFLECTC_NS_UPPER(_LOOKUP__discord_component_items__array), REFLECTC_NS_UPPER(_LOOKUP__discord_component_items__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_component_items_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_auth_response__application), REFLECTC_NS_UPPER(_LOOKUP__discord_auth_response__scopes), REFLECTC_NS_UPPER(_LOOKUP__discord_auth_response__expires), REFLECTC_NS_UPPER(_LOOKUP__discord_auth_response__user), REFLECTC_NS_UPPER(_LOOKUP__discord_auth_response_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_role__id), REFLECTC_NS_UPPER(_LOOKUP__discord_role__name), REFLECTC_NS_UPPER(_LOOKUP__discord_role__color), REFLECTC_NS_UPPER(_LOOKUP__discord_role__hoist), REFLECTC_NS_UPPER(_LOOKUP__discord_role__icon), REFLECTC_NS_UPPER(_LOOKUP__discord_role__unicode_emoji), REFLECTC_NS_UPPER(_LOOKUP__discord_role__position), REFLECTC_NS_UPPER(_LOOKUP__discord_role__permissions), REFLECTC_NS_UPPER(_LOOKUP__discord_role__managed), REFLECTC_NS_UPPER(_LOOKUP__discord_role__mentionable), REFLECTC_NS_UPPER(_LOOKUP__discord_role__tags), REFLECTC_NS_UPPER(_LOOKUP__discord_role_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_roles__size), REFLECTC_NS_UPPER(_LOOKUP__discord_roles__array), REFLECTC_NS_UPPER(_LOOKUP__discord_roles__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_roles_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_role_tag__bot_id), REFLECTC_NS_UPPER(_LOOKUP__discord_role_tag__integration_id), REFLECTC_NS_UPPER(_LOOKUP__discord_role_tag__premium_subscribe), REFLECTC_NS_UPPER(_LOOKUP__discord_role_tag_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_stage_instance__id), REFLECTC_NS_UPPER(_LOOKUP__discord_stage_instance__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_stage_instance__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_stage_instance__topic), REFLECTC_NS_UPPER(_LOOKUP__discord_stage_instance__privacy_level), REFLECTC_NS_UPPER(_LOOKUP__discord_stage_instance__discoverable_disabled), REFLECTC_NS_UPPER(_LOOKUP__discord_stage_instance_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_stage_instances__size), REFLECTC_NS_UPPER(_LOOKUP__discord_stage_instances__array), REFLECTC_NS_UPPER(_LOOKUP__discord_stage_instances__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_stage_instances_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_create_stage_instance__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_create_stage_instance__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_create_stage_instance__topic), REFLECTC_NS_UPPER(_LOOKUP__discord_create_stage_instance__privacy_level), REFLECTC_NS_UPPER(_LOOKUP__discord_create_stage_instance_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_stage_instance__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_stage_instance__topic), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_stage_instance__privacy_level), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_stage_instance_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_delete_stage_instance__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_delete_stage_instance_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_sticker__id), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker__pack_id), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker__name), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker__description), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker__tags), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker__type), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker__format_type), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker__available), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker__user), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker__sort_value), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_stickers__size), REFLECTC_NS_UPPER(_LOOKUP__discord_stickers__array), REFLECTC_NS_UPPER(_LOOKUP__discord_stickers__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_stickers_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_item__id), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_item__name), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_item__format_type), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_item_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_items__size), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_items__array), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_items__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_items_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_pack__id), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_pack__stickers), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_pack__name), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_pack__sku_id), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_pack__cover_sticker_id), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_pack__description), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_pack__banner_asset_id), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_pack_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_packs__size), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_packs__array), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_packs__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_sticker_packs_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_list_nitro_sticker_packs__sticker_packs), REFLECTC_NS_UPPER(_LOOKUP__discord_list_nitro_sticker_packs_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_sticker__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_sticker__name), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_sticker__description), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_sticker__tags), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_sticker__file), REFLECTC_NS_UPPER(_LOOKUP__discord_create_guild_sticker_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_sticker__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_sticker__name), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_sticker__description), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_sticker__tags), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_guild_sticker_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_delete_guild_sticker__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_delete_guild_sticker_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_team__icon), REFLECTC_NS_UPPER(_LOOKUP__discord_team__id), REFLECTC_NS_UPPER(_LOOKUP__discord_team__members), REFLECTC_NS_UPPER(_LOOKUP__discord_team__name), REFLECTC_NS_UPPER(_LOOKUP__discord_team__owner_user_id), REFLECTC_NS_UPPER(_LOOKUP__discord_team_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_team_member__membership_state), REFLECTC_NS_UPPER(_LOOKUP__discord_team_member__permissions), REFLECTC_NS_UPPER(_LOOKUP__discord_team_member__team_id), REFLECTC_NS_UPPER(_LOOKUP__discord_team_member__user), REFLECTC_NS_UPPER(_LOOKUP__discord_team_member_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_team_members__size), REFLECTC_NS_UPPER(_LOOKUP__discord_team_members__array), REFLECTC_NS_UPPER(_LOOKUP__discord_team_members__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_team_members_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_user__id), REFLECTC_NS_UPPER(_LOOKUP__discord_user__username), REFLECTC_NS_UPPER(_LOOKUP__discord_user__discriminator), REFLECTC_NS_UPPER(_LOOKUP__discord_user__avatar), REFLECTC_NS_UPPER(_LOOKUP__discord_user__bot), REFLECTC_NS_UPPER(_LOOKUP__discord_user__System), REFLECTC_NS_UPPER(_LOOKUP__discord_user__mfa_enabled), REFLECTC_NS_UPPER(_LOOKUP__discord_user__banner), REFLECTC_NS_UPPER(_LOOKUP__discord_user__accent_color), REFLECTC_NS_UPPER(_LOOKUP__discord_user__locale), REFLECTC_NS_UPPER(_LOOKUP__discord_user__verified), REFLECTC_NS_UPPER(_LOOKUP__discord_user__email), REFLECTC_NS_UPPER(_LOOKUP__discord_user__flags), REFLECTC_NS_UPPER(_LOOKUP__discord_user__premium_type), REFLECTC_NS_UPPER(_LOOKUP__discord_user__public_flags), REFLECTC_NS_UPPER(_LOOKUP__discord_user_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_users__size), REFLECTC_NS_UPPER(_LOOKUP__discord_users__array), REFLECTC_NS_UPPER(_LOOKUP__discord_users__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_users_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_connection__id), REFLECTC_NS_UPPER(_LOOKUP__discord_connection__name), REFLECTC_NS_UPPER(_LOOKUP__discord_connection__type), REFLECTC_NS_UPPER(_LOOKUP__discord_connection__revoked), REFLECTC_NS_UPPER(_LOOKUP__discord_connection__integrations), REFLECTC_NS_UPPER(_LOOKUP__discord_connection__verified), REFLECTC_NS_UPPER(_LOOKUP__discord_connection__friend_sync), REFLECTC_NS_UPPER(_LOOKUP__discord_connection__show_activity), REFLECTC_NS_UPPER(_LOOKUP__discord_connection__visibility), REFLECTC_NS_UPPER(_LOOKUP__discord_connection_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_connections__size), REFLECTC_NS_UPPER(_LOOKUP__discord_connections__array), REFLECTC_NS_UPPER(_LOOKUP__discord_connections__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_connections_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_current_user__username), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_current_user__avatar), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_current_user_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_get_current_user_guilds__before), REFLECTC_NS_UPPER(_LOOKUP__discord_get_current_user_guilds__after), REFLECTC_NS_UPPER(_LOOKUP__discord_get_current_user_guilds__limit), REFLECTC_NS_UPPER(_LOOKUP__discord_get_current_user_guilds_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_create_dm__recipient_id), REFLECTC_NS_UPPER(_LOOKUP__discord_create_dm_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_create_group_dm__access_tokens), REFLECTC_NS_UPPER(_LOOKUP__discord_create_group_dm__nicks), REFLECTC_NS_UPPER(_LOOKUP__discord_create_group_dm_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_voice_state__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_state__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_state__user_id), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_state__member), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_state__session_id), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_state__deaf), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_state__mute), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_state__self_deaf), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_state__self_mute), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_state__self_stream), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_state__self_video), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_state__suppress), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_state__request_to_speak_timestamp), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_state_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_voice_states__size), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_states__array), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_states__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_states_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_voice_region__id), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_region__name), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_region__optimal), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_region__deprecated), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_region__custom), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_region_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_voice_regions__size), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_regions__array), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_regions__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_voice_regions_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_webhook__id), REFLECTC_NS_UPPER(_LOOKUP__discord_webhook__type), REFLECTC_NS_UPPER(_LOOKUP__discord_webhook__guild_id), REFLECTC_NS_UPPER(_LOOKUP__discord_webhook__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_webhook__user), REFLECTC_NS_UPPER(_LOOKUP__discord_webhook__name), REFLECTC_NS_UPPER(_LOOKUP__discord_webhook__token), REFLECTC_NS_UPPER(_LOOKUP__discord_webhook__application_id), REFLECTC_NS_UPPER(_LOOKUP__discord_webhook__source_channel), REFLECTC_NS_UPPER(_LOOKUP__discord_webhook__url), REFLECTC_NS_UPPER(_LOOKUP__discord_webhook_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_webhooks__size), REFLECTC_NS_UPPER(_LOOKUP__discord_webhooks__array), REFLECTC_NS_UPPER(_LOOKUP__discord_webhooks__realsize), REFLECTC_NS_UPPER(_LOOKUP__discord_webhooks_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_create_webhook__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_create_webhook__name), REFLECTC_NS_UPPER(_LOOKUP__discord_create_webhook__avatar), REFLECTC_NS_UPPER(_LOOKUP__discord_create_webhook_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_webhook__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_webhook__name), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_webhook__avatar), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_webhook__channel_id), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_webhook_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_delete_webhook__reason), REFLECTC_NS_UPPER(_LOOKUP__discord_delete_webhook_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_modify_webhook_with_token__name), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_webhook_with_token__avatar), REFLECTC_NS_UPPER(_LOOKUP__discord_modify_webhook_with_token_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_execute_webhook__wait), REFLECTC_NS_UPPER(_LOOKUP__discord_execute_webhook__thread_id), REFLECTC_NS_UPPER(_LOOKUP__discord_execute_webhook__content), REFLECTC_NS_UPPER(_LOOKUP__discord_execute_webhook__username), REFLECTC_NS_UPPER(_LOOKUP__discord_execute_webhook__avatar_url), REFLECTC_NS_UPPER(_LOOKUP__discord_execute_webhook__tts), REFLECTC_NS_UPPER(_LOOKUP__discord_execute_webhook__embeds), REFLECTC_NS_UPPER(_LOOKUP__discord_execute_webhook__allowed_mentions), REFLECTC_NS_UPPER(_LOOKUP__discord_execute_webhook__components), REFLECTC_NS_UPPER(_LOOKUP__discord_execute_webhook__attachments), REFLECTC_NS_UPPER(_LOOKUP__discord_execute_webhook__flags), REFLECTC_NS_UPPER(_LOOKUP__discord_execute_webhook_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_get_webhook_message__thread_id), REFLECTC_NS_UPPER(_LOOKUP__discord_get_webhook_message_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_edit_webhook_message__thread_id), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_webhook_message__content), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_webhook_message__embeds), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_webhook_message__allowed_mentions), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_webhook_message__components), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_webhook_message__attachments), REFLECTC_NS_UPPER(_LOOKUP__discord_edit_webhook_message_MAX) }; +enum { REFLECTC_NS_UPPER(_LOOKUP__discord_delete_webhook_message__thread_id), REFLECTC_NS_UPPER(_LOOKUP__discord_delete_webhook_message_MAX) }; + + +#define reflectc_wrap(_symbol) reflectc_wrap + +enum { + REFLECTC_TYPES(u64unix_ms) = REFLECTC_TYPES(EXTEND), + REFLECTC_TYPES(u64snowflake), + REFLECTC_TYPES(u64bitmask), + REFLECTC_TYPES(json_char), + REFLECTC_TYPES(size_t) +}; + + + + +#undef _ + + +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_application)( struct REFLECTC_PREFIX *registry, struct discord_application *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_install_params)( struct REFLECTC_PREFIX *registry, struct discord_install_params *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_application_command)( struct REFLECTC_PREFIX *registry, struct discord_application_command *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_application_commands)( struct REFLECTC_PREFIX *registry, struct discord_application_commands *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_application_command_permissions)( struct REFLECTC_PREFIX *registry, struct discord_guild_application_command_permissions *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_application_command_permission)( struct REFLECTC_PREFIX *registry, struct discord_application_command_permission *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_application_command_permissions)( struct REFLECTC_PREFIX *registry, struct discord_application_command_permissions *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_create_global_application_command)( struct REFLECTC_PREFIX *registry, struct discord_create_global_application_command *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_edit_global_application_command)( struct REFLECTC_PREFIX *registry, struct discord_edit_global_application_command *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_create_guild_application_command)( struct REFLECTC_PREFIX *registry, struct discord_create_guild_application_command *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_edit_guild_application_command)( struct REFLECTC_PREFIX *registry, struct discord_edit_guild_application_command *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_bulk_overwrite_guild_application_command)( struct REFLECTC_PREFIX *registry, struct discord_bulk_overwrite_guild_application_command *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_bulk_overwrite_guild_application_commands)( struct REFLECTC_PREFIX *registry, struct discord_bulk_overwrite_guild_application_commands *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_audit_log)( struct REFLECTC_PREFIX *registry, struct discord_audit_log *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_auto_moderation_rule)( struct REFLECTC_PREFIX *registry, struct discord_auto_moderation_rule *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_auto_moderation_rules)( struct REFLECTC_PREFIX *registry, struct discord_auto_moderation_rules *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_create_auto_moderation_rule)( struct REFLECTC_PREFIX *registry, struct discord_create_auto_moderation_rule *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_auto_moderation_rule)( struct REFLECTC_PREFIX *registry, struct discord_modify_auto_moderation_rule *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_channel)( struct REFLECTC_PREFIX *registry, struct discord_channel *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_channels)( struct REFLECTC_PREFIX *registry, struct discord_channels *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_message)( struct REFLECTC_PREFIX *registry, struct discord_message *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_messages)( struct REFLECTC_PREFIX *registry, struct discord_messages *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_followed_channel)( struct REFLECTC_PREFIX *registry, struct discord_followed_channel *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_thread_member)( struct REFLECTC_PREFIX *registry, struct discord_thread_member *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_thread_members)( struct REFLECTC_PREFIX *registry, struct discord_thread_members *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_thread_tags)( struct REFLECTC_PREFIX *registry, struct discord_thread_tags *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_embed_thumbnail)( struct REFLECTC_PREFIX *registry, struct discord_embed_thumbnail *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_embed_video)( struct REFLECTC_PREFIX *registry, struct discord_embed_video *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_embed_image)( struct REFLECTC_PREFIX *registry, struct discord_embed_image *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_embed_provider)( struct REFLECTC_PREFIX *registry, struct discord_embed_provider *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_embed_author)( struct REFLECTC_PREFIX *registry, struct discord_embed_author *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_embed_footer)( struct REFLECTC_PREFIX *registry, struct discord_embed_footer *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_embed_field)( struct REFLECTC_PREFIX *registry, struct discord_embed_field *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_embed_fields)( struct REFLECTC_PREFIX *registry, struct discord_embed_fields *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_embed)( struct REFLECTC_PREFIX *registry, struct discord_embed *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_embeds)( struct REFLECTC_PREFIX *registry, struct discord_embeds *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_attachments)( struct REFLECTC_PREFIX *registry, struct discord_attachments *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_thread_response_body)( struct REFLECTC_PREFIX *registry, struct discord_thread_response_body *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_channel)( struct REFLECTC_PREFIX *registry, struct discord_modify_channel *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_create_message)( struct REFLECTC_PREFIX *registry, struct discord_create_message *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_edit_message)( struct REFLECTC_PREFIX *registry, struct discord_edit_message *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_bulk_delete_messages)( struct REFLECTC_PREFIX *registry, struct discord_bulk_delete_messages *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_edit_channel_permissions)( struct REFLECTC_PREFIX *registry, struct discord_edit_channel_permissions *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_create_channel_invite)( struct REFLECTC_PREFIX *registry, struct discord_create_channel_invite *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_follow_news_channel)( struct REFLECTC_PREFIX *registry, struct discord_follow_news_channel *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_group_dm_add_recipient)( struct REFLECTC_PREFIX *registry, struct discord_group_dm_add_recipient *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_start_thread_with_message)( struct REFLECTC_PREFIX *registry, struct discord_start_thread_with_message *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_start_thread_without_message)( struct REFLECTC_PREFIX *registry, struct discord_start_thread_without_message *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_list_active_threads)( struct REFLECTC_PREFIX *registry, struct discord_list_active_threads *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_strings)( struct REFLECTC_PREFIX *registry, struct strings *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_json_values)( struct REFLECTC_PREFIX *registry, struct json_values *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_snowflakes)( struct REFLECTC_PREFIX *registry, struct snowflakes *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_bitmasks)( struct REFLECTC_PREFIX *registry, struct bitmasks *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_integers)( struct REFLECTC_PREFIX *registry, struct integers *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_emoji)( struct REFLECTC_PREFIX *registry, struct discord_emoji *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_emojis)( struct REFLECTC_PREFIX *registry, struct discord_emojis *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_create_guild_emoji)( struct REFLECTC_PREFIX *registry, struct discord_create_guild_emoji *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_guild_emoji)( struct REFLECTC_PREFIX *registry, struct discord_modify_guild_emoji *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_presence_update)( struct REFLECTC_PREFIX *registry, struct discord_presence_update *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_identify)( struct REFLECTC_PREFIX *registry, struct discord_identify *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_resume)( struct REFLECTC_PREFIX *registry, struct discord_resume *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_request_guild_members)( struct REFLECTC_PREFIX *registry, struct discord_request_guild_members *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_update_voice_state)( struct REFLECTC_PREFIX *registry, struct discord_update_voice_state *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_ready)( struct REFLECTC_PREFIX *registry, struct discord_ready *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_auto_moderation_action_execution)( struct REFLECTC_PREFIX *registry, struct discord_auto_moderation_action_execution *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_thread_list_sync)( struct REFLECTC_PREFIX *registry, struct discord_thread_list_sync *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_thread_members_update)( struct REFLECTC_PREFIX *registry, struct discord_thread_members_update *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_channel_pins_update)( struct REFLECTC_PREFIX *registry, struct discord_channel_pins_update *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_ban_add)( struct REFLECTC_PREFIX *registry, struct discord_guild_ban_add *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_ban_remove)( struct REFLECTC_PREFIX *registry, struct discord_guild_ban_remove *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_emojis_update)( struct REFLECTC_PREFIX *registry, struct discord_guild_emojis_update *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_stickers_update)( struct REFLECTC_PREFIX *registry, struct discord_guild_stickers_update *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_integrations_update)( struct REFLECTC_PREFIX *registry, struct discord_guild_integrations_update *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_member_remove)( struct REFLECTC_PREFIX *registry, struct discord_guild_member_remove *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_member_update)( struct REFLECTC_PREFIX *registry, struct discord_guild_member_update *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_members_chunk)( struct REFLECTC_PREFIX *registry, struct discord_guild_members_chunk *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_role_create)( struct REFLECTC_PREFIX *registry, struct discord_guild_role_create *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_role_update)( struct REFLECTC_PREFIX *registry, struct discord_guild_role_update *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_role_delete)( struct REFLECTC_PREFIX *registry, struct discord_guild_role_delete *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_scheduled_event_user_add)( struct REFLECTC_PREFIX *registry, struct discord_guild_scheduled_event_user_add *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_scheduled_event_user_remove)( struct REFLECTC_PREFIX *registry, struct discord_guild_scheduled_event_user_remove *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_integration_delete)( struct REFLECTC_PREFIX *registry, struct discord_integration_delete *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_invite_create)( struct REFLECTC_PREFIX *registry, struct discord_invite_create *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_invite_delete)( struct REFLECTC_PREFIX *registry, struct discord_invite_delete *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_message_delete)( struct REFLECTC_PREFIX *registry, struct discord_message_delete *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_message_delete_bulk)( struct REFLECTC_PREFIX *registry, struct discord_message_delete_bulk *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_message_reaction_add)( struct REFLECTC_PREFIX *registry, struct discord_message_reaction_add *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_message_reaction_remove)( struct REFLECTC_PREFIX *registry, struct discord_message_reaction_remove *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_message_reaction_remove_all)( struct REFLECTC_PREFIX *registry, struct discord_message_reaction_remove_all *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_message_reaction_remove_emoji)( struct REFLECTC_PREFIX *registry, struct discord_message_reaction_remove_emoji *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_typing_start)( struct REFLECTC_PREFIX *registry, struct discord_typing_start *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_voice_server_update)( struct REFLECTC_PREFIX *registry, struct discord_voice_server_update *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_webhooks_update)( struct REFLECTC_PREFIX *registry, struct discord_webhooks_update *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_session_start_limit)( struct REFLECTC_PREFIX *registry, struct discord_session_start_limit *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild)( struct REFLECTC_PREFIX *registry, struct discord_guild *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guilds)( struct REFLECTC_PREFIX *registry, struct discord_guilds *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_preview)( struct REFLECTC_PREFIX *registry, struct discord_guild_preview *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_widget_settings)( struct REFLECTC_PREFIX *registry, struct discord_guild_widget_settings *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_widget)( struct REFLECTC_PREFIX *registry, struct discord_guild_widget *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_member)( struct REFLECTC_PREFIX *registry, struct discord_guild_member *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_members)( struct REFLECTC_PREFIX *registry, struct discord_guild_members *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_integration)( struct REFLECTC_PREFIX *registry, struct discord_integration *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_integrations)( struct REFLECTC_PREFIX *registry, struct discord_integrations *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_ban)( struct REFLECTC_PREFIX *registry, struct discord_ban *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_bans)( struct REFLECTC_PREFIX *registry, struct discord_bans *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_welcome_screen)( struct REFLECTC_PREFIX *registry, struct discord_welcome_screen *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_prune_count)( struct REFLECTC_PREFIX *registry, struct discord_prune_count *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_create_guild)( struct REFLECTC_PREFIX *registry, struct discord_create_guild *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_guild)( struct REFLECTC_PREFIX *registry, struct discord_modify_guild *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_create_guild_channel)( struct REFLECTC_PREFIX *registry, struct discord_create_guild_channel *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_guild_channel_positions)( struct REFLECTC_PREFIX *registry, struct discord_modify_guild_channel_positions *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_list_active_guild_threads)( struct REFLECTC_PREFIX *registry, struct discord_list_active_guild_threads *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_add_guild_member)( struct REFLECTC_PREFIX *registry, struct discord_add_guild_member *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_guild_member)( struct REFLECTC_PREFIX *registry, struct discord_modify_guild_member *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_current_member)( struct REFLECTC_PREFIX *registry, struct discord_modify_current_member *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_current_user_nick)( struct REFLECTC_PREFIX *registry, struct discord_modify_current_user_nick *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_create_guild_ban)( struct REFLECTC_PREFIX *registry, struct discord_create_guild_ban *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_create_guild_role)( struct REFLECTC_PREFIX *registry, struct discord_create_guild_role *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_guild_role_positions)( struct REFLECTC_PREFIX *registry, struct discord_modify_guild_role_positions *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_guild_role)( struct REFLECTC_PREFIX *registry, struct discord_modify_guild_role *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_begin_guild_prune)( struct REFLECTC_PREFIX *registry, struct discord_begin_guild_prune *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_guild_welcome_screen)( struct REFLECTC_PREFIX *registry, struct discord_modify_guild_welcome_screen *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_current_user_voice_state)( struct REFLECTC_PREFIX *registry, struct discord_modify_current_user_voice_state *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_user_voice_state)( struct REFLECTC_PREFIX *registry, struct discord_modify_user_voice_state *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_scheduled_event)( struct REFLECTC_PREFIX *registry, struct discord_guild_scheduled_event *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_scheduled_events)( struct REFLECTC_PREFIX *registry, struct discord_guild_scheduled_events *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_scheduled_event_users)( struct REFLECTC_PREFIX *registry, struct discord_guild_scheduled_event_users *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_create_guild_scheduled_event)( struct REFLECTC_PREFIX *registry, struct discord_create_guild_scheduled_event *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_guild_scheduled_event)( struct REFLECTC_PREFIX *registry, struct discord_modify_guild_scheduled_event *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_template)( struct REFLECTC_PREFIX *registry, struct discord_guild_template *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_guild_templates)( struct REFLECTC_PREFIX *registry, struct discord_guild_templates *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_create_guild_from_guild_template)( struct REFLECTC_PREFIX *registry, struct discord_create_guild_from_guild_template *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_create_guild_template)( struct REFLECTC_PREFIX *registry, struct discord_create_guild_template *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_guild_template)( struct REFLECTC_PREFIX *registry, struct discord_modify_guild_template *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_interaction)( struct REFLECTC_PREFIX *registry, struct discord_interaction *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_interaction_response)( struct REFLECTC_PREFIX *registry, struct discord_interaction_response *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_edit_original_interaction_response)( struct REFLECTC_PREFIX *registry, struct discord_edit_original_interaction_response *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_create_followup_message)( struct REFLECTC_PREFIX *registry, struct discord_create_followup_message *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_edit_followup_message)( struct REFLECTC_PREFIX *registry, struct discord_edit_followup_message *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_invite)( struct REFLECTC_PREFIX *registry, struct discord_invite *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_invites)( struct REFLECTC_PREFIX *registry, struct discord_invites *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_get_invite)( struct REFLECTC_PREFIX *registry, struct discord_get_invite *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_component)( struct REFLECTC_PREFIX *registry, struct discord_component *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_components)( struct REFLECTC_PREFIX *registry, struct discord_components *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_select_options)( struct REFLECTC_PREFIX *registry, struct discord_select_options *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_component_items)( struct REFLECTC_PREFIX *registry, struct discord_component_items *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_auth_response)( struct REFLECTC_PREFIX *registry, struct discord_auth_response *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_role)( struct REFLECTC_PREFIX *registry, struct discord_role *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_roles)( struct REFLECTC_PREFIX *registry, struct discord_roles *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_stage_instance)( struct REFLECTC_PREFIX *registry, struct discord_stage_instance *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_create_stage_instance)( struct REFLECTC_PREFIX *registry, struct discord_create_stage_instance *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_stage_instance)( struct REFLECTC_PREFIX *registry, struct discord_modify_stage_instance *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_sticker)( struct REFLECTC_PREFIX *registry, struct discord_sticker *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_stickers)( struct REFLECTC_PREFIX *registry, struct discord_stickers *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_sticker_packs)( struct REFLECTC_PREFIX *registry, struct discord_sticker_packs *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_list_nitro_sticker_packs)( struct REFLECTC_PREFIX *registry, struct discord_list_nitro_sticker_packs *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_guild_sticker)( struct REFLECTC_PREFIX *registry, struct discord_modify_guild_sticker *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_team)( struct REFLECTC_PREFIX *registry, struct discord_team *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_user)( struct REFLECTC_PREFIX *registry, struct discord_user *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_users)( struct REFLECTC_PREFIX *registry, struct discord_users *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_connections)( struct REFLECTC_PREFIX *registry, struct discord_connections *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_current_user)( struct REFLECTC_PREFIX *registry, struct discord_modify_current_user *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_create_dm)( struct REFLECTC_PREFIX *registry, struct discord_create_dm *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_create_group_dm)( struct REFLECTC_PREFIX *registry, struct discord_create_group_dm *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_voice_state)( struct REFLECTC_PREFIX *registry, struct discord_voice_state *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_voice_states)( struct REFLECTC_PREFIX *registry, struct discord_voice_states *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_voice_regions)( struct REFLECTC_PREFIX *registry, struct discord_voice_regions *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_webhook)( struct REFLECTC_PREFIX *registry, struct discord_webhook *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_webhooks)( struct REFLECTC_PREFIX *registry, struct discord_webhooks *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_create_webhook)( struct REFLECTC_PREFIX *registry, struct discord_create_webhook *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_webhook)( struct REFLECTC_PREFIX *registry, struct discord_modify_webhook *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_modify_webhook_with_token)( struct REFLECTC_PREFIX *registry, struct discord_modify_webhook_with_token *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_execute_webhook)( struct REFLECTC_PREFIX *registry, struct discord_execute_webhook *self, struct REFLECTC_NS(_wrap) *root); +struct REFLECTC_NS(_wrap) *REFLECTC_NS(_from_discord_edit_webhook_message)( struct REFLECTC_PREFIX *registry, struct discord_edit_webhook_message *self, struct REFLECTC_NS(_wrap) *root); + + +#endif /* REFLECT_C_GENERATED_H */ diff --git a/third_party/concord/gencodecs-process.PRE.h b/third_party/concord/gencodecs-process.PRE.h deleted file mode 100644 index 62292ab..0000000 --- a/third_party/concord/gencodecs-process.PRE.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef GENCODECS_READ -#error "Missing GENCODECS_READ definition" -#else - -#define DATA (1 << 1) -#define JSON_DECODER (1 << 2) -#define JSON_ENCODER (1 << 3) -#define JSON (JSON_DECODER | JSON_ENCODER) - -#define GENCODECS_RECIPE DATA -#include "recipes/struct.h" -#undef GENCODECS_RECIPE - -#define GENCODECS_RECIPE JSON_DECODER -#include "recipes/json-decoder.h" -#undef GENCODECS_RECIPE - -#define GENCODECS_RECIPE JSON_ENCODER -#include "recipes/json-encoder.h" -#undef GENCODECS_RECIPE - -#undef DATA -#undef JSON_DECODER -#undef JSON_ENCODER -#undef JSON - -#endif /* GENCODECS_READ */ diff --git a/third_party/concord/gencodecs.h b/third_party/concord/gencodecs.h deleted file mode 100644 index b992cb7..0000000 --- a/third_party/concord/gencodecs.h +++ /dev/null @@ -1,74 +0,0 @@ -#ifndef GENCODECS_H -#define GENCODECS_H - -/* Allow symbols usage without GENCODECS_ prefix */ -#ifndef GENCODECS_USE_PREFIX -# define PP_INCLUDE GENCODECS_PP_INCLUDE -# define PP_DEFINE GENCODECS_PP_DEFINE -# define PP GENCODECS_PP - -# define COND_WRITE GENCODECS_COND_WRITE -# define COND_END GENCODECS_COND_END - -# define PUB_STRUCT GENCODECS_PUB_STRUCT -# define STRUCT GENCODECS_STRUCT -# define FIELD_CUSTOM GENCODECS_FIELD_CUSTOM -# define FIELD_PRINTF GENCODECS_FIELD_PRINTF -# define FIELD GENCODECS_FIELD -# define FIELD_STRUCT_PTR GENCODECS_FIELD_STRUCT_PTR -# define FIELD_PTR GENCODECS_FIELD_PTR -# define FIELD_ENUM GENCODECS_FIELD_ENUM -# define STRUCT_END GENCODECS_STRUCT_END - -# define PUB_LIST GENCODECS_PUB_LIST -# define LIST GENCODECS_LIST -# define LISTTYPE GENCODECS_LISTTYPE -# define LISTTYPE_STRUCT GENCODECS_LISTTYPE_STRUCT -# define LISTTYPE_PTR GENCODECS_LISTTYPE_PTR -# define LIST_END GENCODECS_LIST_END - -# define ENUM GENCODECS_ENUM -# define ENUM_END GENCODECS_ENUM_END -# define ENUMERATOR GENCODECS_ENUMERATOR -# define ENUMERATOR_LAST GENCODECS_ENUMERATOR_LAST -# define ENUMERATOR_END GENCODECS_ENUMERATOR_END -#endif /* GENCODECS_USE_PREFIX */ - -#ifndef GENCODECS_HEADER -# ifdef GENCODECS_DATA -GENCODECS_PP_INCLUDE() -GENCODECS_PP_INCLUDE() -GENCODECS_PP_INCLUDE() -# ifdef GENCODECS_INIT -GENCODECS_PP_INCLUDE("carray.h") -# endif -# if defined(GENCODECS_JSON_DECODER) && defined(GENCODECS_FORWARD) -static char * -_gc_strndup(const char *src, size_t len) -{ - char *dest = malloc(len + 1); - memcpy(dest, src, len); - dest[len] = '\0'; - return dest; -} -# endif /* GENCODECS_JSON_DECODER && GENCODECS_FORWARD */ -# endif /* GENCODECS_DATA */ -#else -GENCODECS_PP_INCLUDE() -GENCODECS_PP_INCLUDE() -# ifdef GENCODECS_JSON_DECODER -GENCODECS_PP_DEFINE(JSMN_STRICT) -GENCODECS_PP_DEFINE(JSMN_HEADER) -GENCODECS_PP_INCLUDE("jsmn.h") -GENCODECS_PP_INCLUDE("jsmn-find.h") -# endif -# ifdef GENCODECS_JSON_ENCODER -GENCODECS_PP_DEFINE(JSONB_HEADER) -GENCODECS_PP_INCLUDE("json-build.h") -# endif -#endif /* GENCODECS_HEADER */ - -#define GENCODECS_PP(_description) -#define GENCODECS_PP_DEFINE(_description) - -#endif /* GENCODECS_H */ diff --git a/third_party/concord/logmod.h b/third_party/concord/logmod.h index fa6a067..cb886ac 100644 --- a/third_party/concord/logmod.h +++ b/third_party/concord/logmod.h @@ -689,8 +689,10 @@ logmod_init(struct logmod *logmod, LOGMOD_API logmod_err logmod_cleanup(struct logmod *logmod) { - memset((void *)logmod->loggers, 0, - logmod->real_length * sizeof *logmod->loggers); + LOGMOD_EXPECT(logmod != NULL, LOGMOD_BAD_PARAMETER); + if (logmod->loggers) + memset((void *)logmod->loggers, 0, + logmod->real_length * sizeof *logmod->loggers); memset(logmod, 0, sizeof *logmod); return LOGMOD_OK; } diff --git a/third_party/concord/reflect-c.h b/third_party/concord/reflect-c.h new file mode 100644 index 0000000..a6cf542 --- /dev/null +++ b/third_party/concord/reflect-c.h @@ -0,0 +1,163 @@ +#ifndef REFLECTC_H +#define REFLECTC_H + +#include + +/* Allow consumers to rename the runtime namespace (`reflectc_*` / + * `REFLECTC_*`). */ +#ifndef REFLECTC_PREFIX +#define REFLECTC_PREFIX reflectc +#endif /* REFLECTC_PREFIX */ + +#ifndef REFLECTC_PREFIX_UPPER +#define REFLECTC_PREFIX_UPPER REFLECTC +#endif /* REFLECTC_PREFIX_UPPER */ + +#define __CAT(_a, _b) _a##_b +#define _CAT(_a, _b) __CAT(_a, _b) +#define REFLECTC_NS(_sym) _CAT(REFLECTC_PREFIX, _sym) +#define REFLECTC_NS_UPPER(_sym) _CAT(REFLECTC_PREFIX_UPPER, _sym) + +/* Forward declarations */ +struct REFLECTC_PREFIX; +struct REFLECTC_NS(_template); +struct REFLECTC_NS(_wrap); +struct REFLECTC_NS(_wrap_mut); + +#define REFLECTC_TYPES(_sym) REFLECTC_NS_UPPER(_TYPES__##_sym) + +enum REFLECTC_NS(_types) { + REFLECTC_TYPES(void), + REFLECTC_TYPES(bool), + REFLECTC_TYPES(char), + REFLECTC_TYPES(short), + REFLECTC_TYPES(int), + REFLECTC_TYPES(long), + REFLECTC_TYPES(float), + REFLECTC_TYPES(double), + REFLECTC_TYPES(struct), + REFLECTC_TYPES(union), + REFLECTC_TYPES(enum), + REFLECTC_TYPES(EXTEND) +}; + +typedef struct REFLECTC_NS(_wrap) + * (*REFLECTC_NS(_from_cb))(struct REFLECTC_PREFIX *registry, + void *self, + struct REFLECTC_NS(_wrap) * root); + +struct REFLECTC_NS(_template) { + const size_t size; + const struct { + const char *const buf; + const size_t length; + } qualifier, decorator, name, alias, dimensions; + const enum REFLECTC_NS(_types) type; + const unsigned long attrs; + const struct { + const size_t length; + const struct REFLECTC_NS(_template) * array; + } members; + const REFLECTC_NS(_from_cb) from_cb; +}; + +#define _REFLECTC_PICKER_const struct REFLECTC_NS(_wrap) +#define _REFLECTC_PICKER___BLANK__ struct REFLECTC_NS(_wrap_mut) + +#define REFLECTC_INSTANCE_FIELDS(_qualifier) \ + _qualifier size_t length; \ + struct REFLECTC_PREFIX *_qualifier registry; \ + _qualifier void *_qualifier ptr_value; \ + _qualifier struct { \ + _qualifier size_t length; \ + _qualifier _REFLECTC_PICKER_##_qualifier *_qualifier array; \ + } members + +struct REFLECTC_NS(_wrap) { + const struct REFLECTC_NS(_template) * tmpl; + REFLECTC_INSTANCE_FIELDS(const); +}; + +#define __BLANK__ +struct REFLECTC_NS(_wrap_mut) { + const struct REFLECTC_NS(_template) * tmpl; + REFLECTC_INSTANCE_FIELDS(__BLANK__); +}; +#undef __BLANK__ +#undef REFLECTC_INSTANCE_FIELDS +#undef _REFLECTC_PICKER_const +#undef _REFLECTC_PICKER___BLANK__ + +struct REFLECTC_PREFIX *REFLECTC_NS(_init)(void); +void REFLECTC_NS(_dispose)(struct REFLECTC_PREFIX *table); +struct REFLECTC_NS(_wrap) + * REFLECTC_NS(_find)(const struct REFLECTC_PREFIX *table, + const void *value); +int REFLECTC_NS(_put)(struct REFLECTC_PREFIX *table, + void *value, + struct REFLECTC_NS(_wrap) * wrapper); +void REFLECTC_NS(_erase)(struct REFLECTC_PREFIX *table, const void *value); + +size_t REFLECTC_NS(_length)(const struct REFLECTC_NS(_wrap) * member); + +size_t REFLECTC_NS(_get_pos)(const struct REFLECTC_NS(_wrap) * root, + const char *const name, + const size_t len); + +/* Serialized name of a member: its alias when one is declared in the + * recipe (8th tuple slot), otherwise its C member name. Use this when + * mapping members to an external format (e.g. JSON keys). */ +const char *REFLECTC_NS(_alias)(const struct REFLECTC_NS(_wrap) * member, + size_t *length); + +void REFLECTC_NS(_array)(const struct REFLECTC_NS(_wrap) * root, + const size_t length); + +unsigned REFLECTC_NS(_get_pointer_depth)(const struct REFLECTC_NS(_wrap) + * member); + +const void *REFLECTC_NS(_deref)(const struct REFLECTC_NS(_wrap) * field); +const void *REFLECTC_NS(_memcpy)(const struct REFLECTC_NS(_wrap) * field, + const void *map, + const size_t size); +const char *REFLECTC_NS(_string)(const struct REFLECTC_NS(_wrap) * dest, + const char src[], + const size_t size); +void *REFLECTC_NS(_resolve)(const struct REFLECTC_NS(_wrap) * member); +int REFLECTC_NS(_expand)(struct REFLECTC_PREFIX *registry, + const struct REFLECTC_NS(_wrap) * member); + +typedef int (*REFLECTC_NS(_visit_cb))(const struct REFLECTC_NS(_wrap) * member, + void *ctx); + +void REFLECTC_NS(_cleanup)(struct REFLECTC_PREFIX *registry, + struct REFLECTC_NS(_wrap) * member); +void REFLECTC_NS(_cleanup_members)(struct REFLECTC_PREFIX *registry, + struct REFLECTC_NS(_wrap) * member); +int REFLECTC_NS(_for_each)(const struct REFLECTC_NS(_wrap) * root, + REFLECTC_NS(_visit_cb) cb, + void *ctx); +const struct REFLECTC_NS(_wrap) + * REFLECTC_NS(_require_member)(const struct REFLECTC_NS(_wrap) * root, + const char *name, + size_t len); +int REFLECTC_NS(_is_pointer_type)(const struct REFLECTC_NS(_wrap) * member); +int REFLECTC_NS(_is_null)(const struct REFLECTC_NS(_wrap) * member); +int REFLECTC_NS(_expand_all)(struct REFLECTC_PREFIX *registry, + struct REFLECTC_NS(_wrap) * root); + +#define REFLECTC_LOOKUP(_container, _namespace, _member_name, _root) \ + (size_t)(REFLECTC_NS_UPPER(_LOOKUP__##_namespace##__##_member_name)) + +const void *REFLECTC_NS(_get)(const struct REFLECTC_NS(_wrap) * member); +const void *REFLECTC_NS(_set)(const struct REFLECTC_NS(_wrap) * member, + const void *value, + size_t size); +const void *REFLECTC_NS(_get_member)(const struct REFLECTC_NS(_wrap) * root, + size_t pos); +const void *REFLECTC_NS(_set_member)(const struct REFLECTC_NS(_wrap) * root, + size_t pos, + const void *value, + size_t size); + +#endif /* REFLECTC_H */