6#ifndef API_MESSAGE_COMPONENTS_H
7#define API_MESSAGE_COMPONENTS_H
uint64_t u64snowflake
Snowflake datatype.
Definition: types.h:28
jsonbcode
json-builder return codes
Definition: json-build.h:34
jsonbcode discord_component_to_jsonb(jsonb *b, char buf[], size_t size, const struct discord_component *self)
size_t discord_select_options_from_json(const char buf[], size_t size, struct discord_select_options *self)
void discord_component_items_cleanup(struct discord_component_items *self)
size_t discord_select_options_to_json(char buf[], size_t size, const struct discord_select_options *self)
size_t discord_component_items_from_json(const char buf[], size_t size, struct discord_component_items *self)
jsonbcode discord_component_items_to_jsonb(jsonb *b, char buf[], size_t size, const struct discord_component_items *self)
size_t discord_component_items_to_json(char buf[], size_t size, const struct discord_component_items *self)
long discord_component_items_from_jsmnf(jsmnf_pair *root, const char *js, struct discord_component_items *self)
void discord_component_cleanup(struct discord_component *self)
discord_component_styles
Definition: message_components.h:80
@ DISCORD_BUTTON_SECONDARY
Definition: message_components.h:85
@ DISCORD_TEXT_PARAGRAPH
Definition: message_components.h:96
@ DISCORD_BUTTON_LINK
Definition: message_components.h:91
@ DISCORD_BUTTON_DANGER
Definition: message_components.h:89
@ DISCORD_TEXT_SHORT
Definition: message_components.h:94
@ DISCORD_BUTTON_SUCCESS
Definition: message_components.h:87
@ DISCORD_BUTTON_PRIMARY
Definition: message_components.h:83
size_t discord_components_from_json(const char buf[], size_t size, struct discord_components *self)
size_t discord_component_from_json(const char buf[], size_t size, struct discord_component *self)
size_t discord_component_to_json(char buf[], size_t size, const struct discord_component *self)
long discord_select_options_from_jsmnf(jsmnf_pair *root, const char *js, struct discord_select_options *self)
jsonbcode discord_select_options_to_jsonb(jsonb *b, char buf[], size_t size, const struct discord_select_options *self)
void discord_component_init(struct discord_component *self)
void discord_select_options_cleanup(struct discord_select_options *self)
discord_component_types
Definition: message_components.h:22
@ DISCORD_COMPONENT_CONTAINER
Definition: message_components.h:78
@ DISCORD_COMPONENT_BUTTON
Definition: message_components.h:26
@ DISCORD_COMPONENT_MENTION_SELECT
Definition: message_components.h:36
@ DISCORD_COMPONENT_SECTION
Definition: message_components.h:43
@ DISCORD_COMPONENT_TEXT_DISPLAY
Definition: message_components.h:48
@ DISCORD_COMPONENT_THUMBNAIL
Definition: message_components.h:53
@ DISCORD_COMPONENT_ACTION_ROW
Definition: message_components.h:24
@ DISCORD_COMPONENT_CHANNEL_SELECT
Definition: message_components.h:38
@ DISCORD_COMPONENT_CONTENT_INVENTORY_ENTRY
Definition: message_components.h:73
@ DISCORD_COMPONENT_FILE
Definition: message_components.h:63
@ DISCORD_COMPONENT_MEDIA_GALLERY
Definition: message_components.h:58
@ DISCORD_COMPONENT_USER_SELECT
Definition: message_components.h:32
@ DISCORD_COMPONENT_SELECT_MENU
Definition: message_components.h:28
@ DISCORD_COMPONENT_ROLE_SELECT
Definition: message_components.h:34
@ DISCORD_COMPONENT_SEPARATOR
Definition: message_components.h:68
@ DISCORD_COMPONENT_TEXT_INPUT
Definition: message_components.h:30
void discord_components_cleanup(struct discord_components *self)
jsonbcode discord_components_to_jsonb(jsonb *b, char buf[], size_t size, const struct discord_components *self)
long discord_components_from_jsmnf(jsmnf_pair *root, const char *js, struct discord_components *self)
long discord_component_from_jsmnf(jsmnf_pair *root, const char *js, struct discord_component *self)
size_t discord_components_to_json(char buf[], size_t size, const struct discord_components *self)
discord_component_spacing
Definition: message_components.h:98
@ DISCORD_COMPONENT_SPACING_LARGE
Definition: message_components.h:102
@ DISCORD_COMPONENT_SPACING_SMALL
Definition: message_components.h:100
Definition: message_components.h:256
bool spoiler
Definition: message_components.h:266
char * description
Definition: message_components.h:263
struct discord_component_media * media
Definition: message_components.h:259
Definition: message_components.h:269
struct discord_component_item * array
Definition: message_components.h:270
int size
Definition: message_components.h:269
Definition: message_components.h:105
char * value
Definition: message_components.h:158
struct discord_components * components
Definition: message_components.h:149
struct discord_component_media * file
Definition: message_components.h:208
int max_length
Definition: message_components.h:154
u64snowflake id
Definition: message_components.h:108
enum discord_component_types type
Definition: message_components.h:112
u64snowflake sku_id
Definition: message_components.h:118
struct discord_component * accessory
Definition: message_components.h:168
struct discord_component_items * items
Definition: message_components.h:201
int max_values
Definition: message_components.h:145
enum discord_component_spacing spacing
Definition: message_components.h:221
struct discord_select_options * options
Definition: message_components.h:134
struct discord_emoji * emoji
Definition: message_components.h:128
bool divider
Definition: message_components.h:215
bool required
Definition: message_components.h:156
char * label
Definition: message_components.h:125
char * description
Definition: message_components.h:189
int color
Definition: message_components.h:227
struct discord_component_media * media
Definition: message_components.h:175
char * custom_id
Definition: message_components.h:115
enum discord_component_styles style
Definition: message_components.h:122
bool spoiler
Definition: message_components.h:195
char * placeholder
Definition: message_components.h:137
int min_values
Definition: message_components.h:141
bool disabled
Definition: message_components.h:161
char * url
Definition: message_components.h:131
int min_length
Definition: message_components.h:152
char * content
Definition: message_components.h:182
Definition: message_components.h:231
struct discord_component * array
Definition: message_components.h:232
int size
Definition: message_components.h:231
Definition: message_components.h:234
bool Default
Definition: message_components.h:246
char * description
Definition: message_components.h:240
char * label
Definition: message_components.h:236
struct discord_emoji * emoji
Definition: message_components.h:243
char * value
Definition: message_components.h:238
Definition: message_components.h:249
struct discord_select_option * array
Definition: message_components.h:250
int size
Definition: message_components.h:249
Handle for building a JSON string.
Definition: json-build.h:61