Orca
A bot framework that is easy to reason about, easy to debug, and easy to use.
guild.h
Go to the documentation of this file.
1 /* This file is generated from specs/discord/guild.json, Please don't edit it. */
17 struct discord_guild {
18  /* specs/discord/guild.json:12:78
19  '{"type":{"base":"char", "dec":"*", "converter":"snowflake"}, "name":"id"}' */
20  u64_snowflake_t id;
21 
22  /* specs/discord/guild.json:13:66
23  '{"type":{"base":"char", "dec":"[MAX_NAME_LEN]"}, "name":"name"}' */
24  char name[MAX_NAME_LEN];
25 
26  /* specs/discord/guild.json:14:70
27  '{"type":{"base":"char", "dec":"*", "nullable":true}, "name":"icon"}' */
28  char *icon;
29 
30  /* specs/discord/guild.json:15:70
31  '{"type":{"base":"char", "dec":"*", "nullable":true}, "name":"icon_hash"}' */
32  char *icon_hash;
33 
34  /* specs/discord/guild.json:16:70
35  '{"type":{"base":"char", "dec":"*", "nullable":true}, "name":"splash"}' */
36  char *splash;
37 
38  /* specs/discord/guild.json:17:70
39  '{"type":{"base":"char", "dec":"*", "nullable":true}, "name":"discovery_splash"}' */
40  char *discovery_splash;
41 
42  /* specs/discord/guild.json:18:42
43  '{"type":{"base":"bool"}, "name":"owner", "option":true}' */
44  bool owner;
45 
46  /* specs/discord/guild.json:19:78
47  '{"type":{"base":"char", "dec":"*", "converter":"snowflake"}, "name":"owner_id"}' */
48  u64_snowflake_t owner_id;
49 
50  /* specs/discord/guild.json:20:41
51  '{"type":{"base":"int"}, "name":"permissions", "option":true}' */
52  int permissions;
53 
54  /* specs/discord/guild.json:21:68
55  '{"type":{"base":"char", "dec":"[MAX_REGION_LEN]"}, "name":"region"}' */
56  char region[MAX_REGION_LEN];
57 
58  /* specs/discord/guild.json:22:78
59  '{"type":{"base":"char", "dec":"*", "converter":"snowflake"}, "name":"afk_channel_id"}' */
60  u64_snowflake_t afk_channel_id;
61 
62  /* specs/discord/guild.json:23:41
63  '{"type":{"base":"int"}, "name":"afk_timeout"}' */
64  int afk_timeout;
65 
66  /* specs/discord/guild.json:24:42
67  '{"type":{"base":"bool"}, "name":"widget_enabled", "option":true}' */
68  bool widget_enabled;
69 
70  /* specs/discord/guild.json:25:78
71  '{"type":{"base":"char", "dec":"*", "converter":"snowflake"}, "name":"widget_channel_id", "option":true}' */
72  u64_snowflake_t widget_channel_id;
73 
74  /* specs/discord/guild.json:26:94
75  '{"type":{"base":"int", "int_alias":"enum discord_guild_verification_level"}, "name":"verification_level"}' */
76  enum discord_guild_verification_level verification_level;
77 
78  /* specs/discord/guild.json:28:32
79  '{"type":{"base":"int", "int_alias":"enum discord_guild_default_message_notification_level"},
80  "name":"default_message_notifications"}' */
81  enum discord_guild_default_message_notification_level default_message_notifications;
82 
83  /* specs/discord/guild.json:30:32
84  '{"type":{"base":"int", "int_alias":"enum discord_guild_explicit_content_filter_level"},
85  "name":"explicit_content_filter"}' */
86  enum discord_guild_explicit_content_filter_level explicit_content_filter;
87 
88  /* specs/discord/guild.json:31:82
89  '{"type":{"base":"struct discord_permissions_role", "dec":"ntl"}, "name":"roles", "todo":true,
90  "comment":"array of role objects"}' */
92 
93  /* specs/discord/guild.json:33:71
94  '{"type":{"base":"struct discord_emoji", "dec":"ntl"}, "name":"emojis"}' */
96 
97  /* specs/discord/guild.json:34:57
98  '{"type":{"base":"ja_str", "dec":"ntl"}, "name":"features", "todo":true,
99  "comment":"array of guild feature strings"}' */
101 
102  /* specs/discord/guild.json:36:85
103  '{"type":{"base":"int", "int_alias":"enum discord_guild_mfa_level"}, "name":"mfa_level"}' */
104  enum discord_guild_mfa_level mfa_level;
105 
106  /* specs/discord/guild.json:37:95
107  '{"type":{"base":"char", "dec":"*", "converter":"snowflake", "nullable":true}, "name":"application_id"}' */
108  u64_snowflake_t application_id;
109 
110  /* specs/discord/guild.json:38:95
111  '{"type":{"base":"char", "dec":"*", "converter":"snowflake", "nullable":true}, "name":"system_channel_id"}' */
112  u64_snowflake_t system_channel_id;
113 
114  /* specs/discord/guild.json:39:96
115  '{"type":{"base":"int", "int_alias":"enum discord_guild_system_channel_flags"}, "name":"system_channel_flags"}' */
116  enum discord_guild_system_channel_flags system_channel_flags;
117 
118  /* specs/discord/guild.json:40:95
119  '{"type":{"base":"char", "dec":"*", "converter":"snowflake", "nullable":true}, "name":"rules_channel_id"}' */
120  u64_snowflake_t rules_channel_id;
121 
122  /* specs/discord/guild.json:41:76
123  '{"type":{"base":"char", "dec":"*", "converter":"iso8601"}, "name":"joined_at", "option":true}' */
124  u64_unix_ms_t joined_at;
125 
126  /* specs/discord/guild.json:42:42
127  '{"type":{"base":"bool"}, "name":"large", "option":true}' */
128  bool large;
129 
130  /* specs/discord/guild.json:43:42
131  '{"type":{"base":"bool"}, "name":"unavailable", "option":true}' */
132  bool unavailable;
133 
134  /* specs/discord/guild.json:44:41
135  '{"type":{"base":"int"}, "name":"member_count", "option":true}' */
136  int member_count;
137 
138  /* specs/discord/guild.json:45:71
139  '{"type":{"base":"struct discord_voice", "dec":"ntl"}, "name":"voice_states", "todo":true,
140  "comment":"array of partial voice state objects"}' */
142 
143  /* specs/discord/guild.json:47:78
144  '{"type":{"base":"struct discord_guild_member", "dec":"ntl"}, "name":"members", "option":true}' */
146 
147  /* specs/discord/guild.json:48:73
148  '{"type":{"base":"struct discord_channel", "dec":"ntl"}, "name":"channels", "option":true,
149  "comment":"array of channel objects"}' */
150  struct discord_channel **channels; // array of channel objects
151 
152  /* specs/discord/guild.json:50:41
153  '{"type":{"base":"int"}, "name":"presences", "todo":true, "option":true,
154  "comment":"array of partial presence update objects"}' */
156 
157  /* specs/discord/guild.json:52:41
158  '{"type":{"base":"int"}, "name":"max_presences", "option":true}' */
160 
161  /* specs/discord/guild.json:53:41
162  '{"type":{"base":"int"}, "name":"max_members", "option":true}' */
163  int max_members;
164 
165  /* specs/discord/guild.json:54:70
166  '{"type":{"base":"char", "dec":"*", "nullable":true}, "name":"vanity_url"}' */
167  char *vanity_url;
168 
169  /* specs/discord/guild.json:55:70
170  '{"type":{"base":"char", "dec":"*", "nullable":true}, "name":"description"}' */
171  char *description;
172 
173  /* specs/discord/guild.json:56:70
174  '{"type":{"base":"char", "dec":"*", "nullable":true}, "name":"banner"}' */
175  char *banner;
176 
177  /* specs/discord/guild.json:57:88
178  '{"type":{"base":"int", "int_alias":"enum discord_guild_premium_tier"}, "name":"premium_tier"}' */
179  enum discord_guild_premium_tier premium_tier;
180 
181  /* specs/discord/guild.json:58:41
182  '{"type":{"base":"int"}, "name":"premium_subscription_count", "option":true}' */
183  int premium_subscription_count;
184 
185  /* specs/discord/guild.json:59:68
186  '{"type":{"base":"char", "dec":"[MAX_LOCALE_LEN]"}, "name":"preferred_locale"}' */
187  char preferred_locale[MAX_LOCALE_LEN];
188 
189  /* specs/discord/guild.json:61:27
190  '{"type":{"base":"char", "dec":"*", "converter":"snowflake", "nullable":true},
191  "name":"public_updates_channel_id"}' */
192  u64_snowflake_t public_updates_channel_id;
193 
194  /* specs/discord/guild.json:62:41
195  '{"type":{"base":"int"}, "name":"max_video_channel_users", "option":true}' */
196  int max_video_channel_users;
197 
198  /* specs/discord/guild.json:63:41
199  '{"type":{"base":"int"}, "name":"approximate_member_count", "option":true}' */
200  int approximate_member_count;
201 
202  /* specs/discord/guild.json:64:41
203  '{"type":{"base":"int"}, "name":"approximate_presence_count", "option":true}' */
204  int approximate_presence_count;
205 
206  /* specs/discord/guild.json:65:84
207  '{"type":{"base":"struct discord_guild_welcome_screen", "dec":"*"}, "name":"welcome_screen", "option":true}' */
208  struct discord_guild_welcome_screen *welcome_screen;
209 
210  // The following is metadata used to
211  // 1. control which field should be extracted/injected
212  // 2. record which field is presented(defined) in JSON
213  // 3. record which field is null in JSON
215  struct {
216  bool enable_arg_switches;
217  bool enable_record_defined;
218  bool enable_record_null;
219  void *arg_switches[46];
220  void *record_defined[46];
221  void *record_null[46];
222  } __M; // metadata
224 };
225 extern void discord_guild_cleanup_v(void *p);
226 extern void discord_guild_cleanup(struct discord_guild *p);
227 extern void discord_guild_init_v(void *p);
228 extern void discord_guild_init(struct discord_guild *p);
229 extern struct discord_guild * discord_guild_alloc();
230 extern void discord_guild_free_v(void *p);
231 extern void discord_guild_free(struct discord_guild *p);
232 extern void discord_guild_from_json_v(char *json, size_t len, void *p);
233 extern void discord_guild_from_json(char *json, size_t len, struct discord_guild *p);
234 extern size_t discord_guild_to_json_v(char *json, size_t len, void *p);
235 extern size_t discord_guild_to_json(char *json, size_t len, struct discord_guild *p);
236 extern size_t discord_guild_to_query_v(char *json, size_t len, void *p);
237 extern size_t discord_guild_to_query(char *json, size_t len, struct discord_guild *p);
238 extern void discord_guild_list_free_v(void **p);
239 extern void discord_guild_list_free(struct discord_guild **p);
240 extern void discord_guild_list_from_json_v(char *str, size_t len, void *p);
241 extern void discord_guild_list_from_json(char *str, size_t len, struct discord_guild ***p);
242 extern size_t discord_guild_list_to_json_v(char *str, size_t len, void *p);
243 extern size_t discord_guild_list_to_json(char *str, size_t len, struct discord_guild **p);
244 
245 
246 enum discord_guild_default_message_notification_level {
247  DISCORD_GUILD_ALL_MESSAGES = 0,
248  DISCORD_GUILD_ONLY_MENTIONS = 1,
249 };
250 extern char* discord_guild_default_message_notification_level_to_string(enum discord_guild_default_message_notification_level);
251 extern enum discord_guild_default_message_notification_level discord_guild_default_message_notification_level_from_string(char*);
252 extern bool discord_guild_default_message_notification_level_has(enum discord_guild_default_message_notification_level, char*);
253 
254 
255 enum discord_guild_explicit_content_filter_level {
256  DISCORD_GUILD_DISABLED = 0,
257  DISCORD_GUILD_MEMBERS_WITHOUT_ROLES = 1,
258  DISCORD_GUILD_ALL_MEMBERS = 2,
259 };
260 extern char* discord_guild_explicit_content_filter_level_to_string(enum discord_guild_explicit_content_filter_level);
261 extern enum discord_guild_explicit_content_filter_level discord_guild_explicit_content_filter_level_from_string(char*);
262 extern bool discord_guild_explicit_content_filter_level_has(enum discord_guild_explicit_content_filter_level, char*);
263 
264 
265 enum discord_guild_mfa_level {
266  DISCORD_GUILD_DISCORD_MFA_NONE = 0,
267  DISCORD_GUILD_ELEVATED = 1,
268 };
269 extern char* discord_guild_mfa_level_to_string(enum discord_guild_mfa_level);
270 extern enum discord_guild_mfa_level discord_guild_mfa_level_from_string(char*);
271 extern bool discord_guild_mfa_level_has(enum discord_guild_mfa_level, char*);
272 
273 
274 enum discord_guild_verification_level {
275  DISCORD_GUILD_DISCORD_VL_NONE = 0,
276  DISCORD_GUILD_LOW = 1,
277  DISCORD_GUILD_MEDIUM = 2,
278  DISCORD_GUILD_HIGH = 3,
279  DISCORD_GUILD_VERY_HIGH = 4,
280 };
281 extern char* discord_guild_verification_level_to_string(enum discord_guild_verification_level);
282 extern enum discord_guild_verification_level discord_guild_verification_level_from_string(char*);
283 extern bool discord_guild_verification_level_has(enum discord_guild_verification_level, char*);
284 
285 
286 enum discord_guild_premium_tier {
287  DISCORD_GUILD_DISCORD_PREMIUM_NONE = 0,
288  DISCORD_GUILD_TIER_1 = 1,
289  DISCORD_GUILD_TIER_2 = 2,
290  DISCORD_GUILD_TIER_3 = 3,
291 };
292 extern char* discord_guild_premium_tier_to_string(enum discord_guild_premium_tier);
293 extern enum discord_guild_premium_tier discord_guild_premium_tier_from_string(char*);
294 extern bool discord_guild_premium_tier_has(enum discord_guild_premium_tier, char*);
295 
296 
297 enum discord_guild_system_channel_flags {
298  DISCORD_GUILD_SUPRESS_JOIN_NOTIFICATIONS = 1, // 1<<0
299  DISCORD_GUILD_SUPRESS_PREMIUM_SUBSCRIPTIONS = 2, // 1<<1
300 };
301 extern char* discord_guild_system_channel_flags_to_string(enum discord_guild_system_channel_flags);
302 extern enum discord_guild_system_channel_flags discord_guild_system_channel_flags_from_string(char*);
303 extern bool discord_guild_system_channel_flags_has(enum discord_guild_system_channel_flags, char*);
304 
305 
306 enum discord_guild_features {
307  DISCORD_GUILD_INVITE_SPLASH = 0,
308  DISCORD_GUILD_VIP_REGIONS = 1,
309  DISCORD_GUILD_VANITY_URL = 2,
310  DISCORD_GUILD_VERIFIED = 3,
311  DISCORD_GUILD_PARTNERED = 4,
312  DISCORD_GUILD_COMMUNITY = 5,
313  DISCORD_GUILD_COMMERCE = 6,
314  DISCORD_GUILD_NEWS = 7,
315  DISCORD_GUILD_DISCOVERABLE = 8,
316  DISCORD_GUILD_FEATURABLE = 9,
317  DISCORD_GUILD_ANIMATED_ICON = 10,
318  DISCORD_GUILD_BANNER = 11,
319  DISCORD_GUILD_WELCOME_SCREEN_ENABLED = 12,
320  DISCORD_GUILD_MEMBER_VERIFICATION_GATE_ENABLED = 13,
321  DISCORD_GUILD_PREVIEW_ENABLED = 14,
322 };
323 extern char* discord_guild_features_to_string(enum discord_guild_features);
324 extern enum discord_guild_features discord_guild_features_from_string(char*);
325 extern bool discord_guild_features_has(enum discord_guild_features, char*);
326 
334  /* specs/discord/guild.json:163:18
335  '{"name":"id", "type":{"base":"char", "dec":"*", "converter":"snowflake"}}' */
336  u64_snowflake_t id;
337 
338  /* specs/discord/guild.json:164:18
339  '{"name":"unavailable", "type":{"base":"bool"}}' */
340  bool unavailable;
341 
342  // The following is metadata used to
343  // 1. control which field should be extracted/injected
344  // 2. record which field is presented(defined) in JSON
345  // 3. record which field is null in JSON
347  struct {
348  bool enable_arg_switches;
349  bool enable_record_defined;
350  bool enable_record_null;
351  void *arg_switches[2];
352  void *record_defined[2];
353  void *record_null[2];
354  } __M; // metadata
356 };
357 extern void discord_guild_unavailable_cleanup_v(void *p);
358 extern void discord_guild_unavailable_cleanup(struct discord_guild_unavailable *p);
359 extern void discord_guild_unavailable_init_v(void *p);
360 extern void discord_guild_unavailable_init(struct discord_guild_unavailable *p);
361 extern struct discord_guild_unavailable * discord_guild_unavailable_alloc();
362 extern void discord_guild_unavailable_free_v(void *p);
363 extern void discord_guild_unavailable_free(struct discord_guild_unavailable *p);
364 extern void discord_guild_unavailable_from_json_v(char *json, size_t len, void *p);
365 extern void discord_guild_unavailable_from_json(char *json, size_t len, struct discord_guild_unavailable *p);
366 extern size_t discord_guild_unavailable_to_json_v(char *json, size_t len, void *p);
367 extern size_t discord_guild_unavailable_to_json(char *json, size_t len, struct discord_guild_unavailable *p);
368 extern size_t discord_guild_unavailable_to_query_v(char *json, size_t len, void *p);
369 extern size_t discord_guild_unavailable_to_query(char *json, size_t len, struct discord_guild_unavailable *p);
370 extern void discord_guild_unavailable_list_free_v(void **p);
371 extern void discord_guild_unavailable_list_free(struct discord_guild_unavailable **p);
372 extern void discord_guild_unavailable_list_from_json_v(char *str, size_t len, void *p);
373 extern void discord_guild_unavailable_list_from_json(char *str, size_t len, struct discord_guild_unavailable ***p);
374 extern size_t discord_guild_unavailable_list_to_json_v(char *str, size_t len, void *p);
375 extern size_t discord_guild_unavailable_list_to_json(char *str, size_t len, struct discord_guild_unavailable **p);
376 
384  /* specs/discord/guild.json:173:18
385  '{"name":"id", "type":{"base":"char", "dec":"*", "converter":"snowflake"}}' */
386  u64_snowflake_t id;
387 
388  /* specs/discord/guild.json:174:18
389  '{"name":"name", "type":{"base":"char", "dec":"[MAX_NAME_LEN]"}}' */
390  char name[MAX_NAME_LEN];
391 
392  /* specs/discord/guild.json:175:18
393  '{"name":"icon", "type":{"base":"char", "dec":"*", "nullable":true}}' */
394  char *icon;
395 
396  /* specs/discord/guild.json:176:18
397  '{"name":"splash", "type":{"base":"char", "dec":"*", "nullable":true}}' */
398  char *splash;
399 
400  /* specs/discord/guild.json:177:18
401  '{"name":"discovery_splash", "type":{"base":"char", "dec":"*", "nullable":true}}' */
402  char *discovery_splash;
403 
404  /* specs/discord/guild.json:178:18
405  '{"name":"emojis", "type":{"base":"struct discord_emoji", "dec":"ntl"}}' */
406  struct discord_emoji **emojis;
407 
408  /* specs/discord/guild.json:179:18
409  '{"name":"features", "todo":true, "type":{"base":"char", "dec":"ntl"}}' */
411 
412  /* specs/discord/guild.json:180:18
413  '{"name":"approximate_member_count", "type":{"base":"int"}}' */
415 
416  /* specs/discord/guild.json:181:18
417  '{"name":"approximate_presence_count", "type":{"base":"int"}}' */
418  int approximate_presence_count;
419 
420  /* specs/discord/guild.json:182:18
421  '{"name":"description", "type":{"base":"char", "dec":"[MAX_DESCRIPTION_LEN]"}}' */
422  char description[MAX_DESCRIPTION_LEN];
423 
424  // The following is metadata used to
425  // 1. control which field should be extracted/injected
426  // 2. record which field is presented(defined) in JSON
427  // 3. record which field is null in JSON
429  struct {
430  bool enable_arg_switches;
431  bool enable_record_defined;
432  bool enable_record_null;
433  void *arg_switches[10];
434  void *record_defined[10];
435  void *record_null[10];
436  } __M; // metadata
438 };
439 extern void discord_guild_preview_cleanup_v(void *p);
440 extern void discord_guild_preview_cleanup(struct discord_guild_preview *p);
441 extern void discord_guild_preview_init_v(void *p);
442 extern void discord_guild_preview_init(struct discord_guild_preview *p);
443 extern struct discord_guild_preview * discord_guild_preview_alloc();
444 extern void discord_guild_preview_free_v(void *p);
445 extern void discord_guild_preview_free(struct discord_guild_preview *p);
446 extern void discord_guild_preview_from_json_v(char *json, size_t len, void *p);
447 extern void discord_guild_preview_from_json(char *json, size_t len, struct discord_guild_preview *p);
448 extern size_t discord_guild_preview_to_json_v(char *json, size_t len, void *p);
449 extern size_t discord_guild_preview_to_json(char *json, size_t len, struct discord_guild_preview *p);
450 extern size_t discord_guild_preview_to_query_v(char *json, size_t len, void *p);
451 extern size_t discord_guild_preview_to_query(char *json, size_t len, struct discord_guild_preview *p);
452 extern void discord_guild_preview_list_free_v(void **p);
453 extern void discord_guild_preview_list_free(struct discord_guild_preview **p);
454 extern void discord_guild_preview_list_from_json_v(char *str, size_t len, void *p);
455 extern void discord_guild_preview_list_from_json(char *str, size_t len, struct discord_guild_preview ***p);
456 extern size_t discord_guild_preview_list_to_json_v(char *str, size_t len, void *p);
457 extern size_t discord_guild_preview_list_to_json(char *str, size_t len, struct discord_guild_preview **p);
458 
466  /* specs/discord/guild.json:191:18
467  '{"name":"enabled", "type":{"base":"bool"}}' */
468  bool enabled;
469 
470  /* specs/discord/guild.json:192:18
471  '{"name":"channel_id", "type":{"base":"char", "dec":"*", "converter":"snowflake", "nullable":true}}' */
472  u64_snowflake_t channel_id;
473 
474  // The following is metadata used to
475  // 1. control which field should be extracted/injected
476  // 2. record which field is presented(defined) in JSON
477  // 3. record which field is null in JSON
479  struct {
480  bool enable_arg_switches;
481  bool enable_record_defined;
482  bool enable_record_null;
483  void *arg_switches[2];
484  void *record_defined[2];
485  void *record_null[2];
486  } __M; // metadata
488 };
489 extern void discord_guild_widget_cleanup_v(void *p);
490 extern void discord_guild_widget_cleanup(struct discord_guild_widget *p);
491 extern void discord_guild_widget_init_v(void *p);
492 extern void discord_guild_widget_init(struct discord_guild_widget *p);
493 extern struct discord_guild_widget * discord_guild_widget_alloc();
494 extern void discord_guild_widget_free_v(void *p);
495 extern void discord_guild_widget_free(struct discord_guild_widget *p);
496 extern void discord_guild_widget_from_json_v(char *json, size_t len, void *p);
497 extern void discord_guild_widget_from_json(char *json, size_t len, struct discord_guild_widget *p);
498 extern size_t discord_guild_widget_to_json_v(char *json, size_t len, void *p);
499 extern size_t discord_guild_widget_to_json(char *json, size_t len, struct discord_guild_widget *p);
500 extern size_t discord_guild_widget_to_query_v(char *json, size_t len, void *p);
501 extern size_t discord_guild_widget_to_query(char *json, size_t len, struct discord_guild_widget *p);
502 extern void discord_guild_widget_list_free_v(void **p);
503 extern void discord_guild_widget_list_free(struct discord_guild_widget **p);
504 extern void discord_guild_widget_list_from_json_v(char *str, size_t len, void *p);
505 extern void discord_guild_widget_list_from_json(char *str, size_t len, struct discord_guild_widget ***p);
506 extern size_t discord_guild_widget_list_to_json_v(char *str, size_t len, void *p);
507 extern size_t discord_guild_widget_list_to_json(char *str, size_t len, struct discord_guild_widget **p);
508 
516  /* specs/discord/guild.json:202:20
517  '{ "name": "user", "type":{ "base":"struct discord_user", "dec":"*" }, "option":true}' */
518  struct discord_user *user;
519 
520  /* specs/discord/guild.json:203:20
521  '{ "name": "nick", "type":{ "base":"char", "dec":"[MAX_NAME_LEN]"}, "option":true}' */
522  char nick[MAX_NAME_LEN];
523 
524  /* specs/discord/guild.json:204:20
525  '{ "name": "roles", "type":{ "base":"ja_u64", "dec":"ntl"}, "comment":"array of role object ids"}' */
526  ja_u64 **roles; // array of role object ids
527 
528  /* specs/discord/guild.json:205:20
529  '{ "name": "joined_at", "type":{ "base":"char", "dec":"*", "converter":"iso8601" }}' */
530  u64_unix_ms_t joined_at;
531 
532  /* specs/discord/guild.json:206:20
533  '{ "name": "premium_since", "type":{ "base":"char", "dec":"*", "converter":"iso8601" }}' */
534  u64_unix_ms_t premium_since;
535 
536  /* specs/discord/guild.json:207:20
537  '{ "name": "deaf", "type":{ "base":"bool" }}' */
538  bool deaf;
539 
540  /* specs/discord/guild.json:208:20
541  '{ "name": "mute", "type":{ "base":"bool" }}' */
542  bool mute;
543 
544  /* specs/discord/guild.json:209:20
545  '{ "name": "pending", "type":{ "base":"bool" }, "option":true}' */
546  bool pending;
547 
548  /* specs/discord/guild.json:210:20
549  '{ "name": "permissions", "type":{ "base":"char", "dec":"*"}, "option":true}' */
550  char *permissions;
551 
552  // The following is metadata used to
553  // 1. control which field should be extracted/injected
554  // 2. record which field is presented(defined) in JSON
555  // 3. record which field is null in JSON
557  struct {
558  bool enable_arg_switches;
559  bool enable_record_defined;
560  bool enable_record_null;
561  void *arg_switches[9];
562  void *record_defined[9];
563  void *record_null[9];
564  } __M; // metadata
566 };
567 extern void discord_guild_member_cleanup_v(void *p);
568 extern void discord_guild_member_cleanup(struct discord_guild_member *p);
569 extern void discord_guild_member_init_v(void *p);
570 extern void discord_guild_member_init(struct discord_guild_member *p);
571 extern struct discord_guild_member * discord_guild_member_alloc();
572 extern void discord_guild_member_free_v(void *p);
573 extern void discord_guild_member_free(struct discord_guild_member *p);
574 extern void discord_guild_member_from_json_v(char *json, size_t len, void *p);
575 extern void discord_guild_member_from_json(char *json, size_t len, struct discord_guild_member *p);
576 extern size_t discord_guild_member_to_json_v(char *json, size_t len, void *p);
577 extern size_t discord_guild_member_to_json(char *json, size_t len, struct discord_guild_member *p);
578 extern size_t discord_guild_member_to_query_v(char *json, size_t len, void *p);
579 extern size_t discord_guild_member_to_query(char *json, size_t len, struct discord_guild_member *p);
580 extern void discord_guild_member_list_free_v(void **p);
581 extern void discord_guild_member_list_free(struct discord_guild_member **p);
582 extern void discord_guild_member_list_from_json_v(char *str, size_t len, void *p);
583 extern void discord_guild_member_list_from_json(char *str, size_t len, struct discord_guild_member ***p);
584 extern size_t discord_guild_member_list_to_json_v(char *str, size_t len, void *p);
585 extern size_t discord_guild_member_list_to_json(char *str, size_t len, struct discord_guild_member **p);
586 
594  /* specs/discord/guild.json:220:20
595  '{ "name": "id", "type":{ "base":"char", "dec":"*", "converter":"snowflake" }}' */
596  u64_snowflake_t id;
597 
598  /* specs/discord/guild.json:221:20
599  '{ "name": "name", "type":{ "base":"char", "dec":"*"}}' */
600  char *name;
601 
602  /* specs/discord/guild.json:222:20
603  '{ "name": "type", "type":{ "base":"char", "dec":"*"}}' */
604  char *type;
605 
606  /* specs/discord/guild.json:223:20
607  '{ "name": "enabled", "type":{ "base":"bool"}}' */
608  bool enabled;
609 
610  /* specs/discord/guild.json:224:20
611  '{ "name": "syncing", "type":{ "base":"bool"}}' */
612  bool syncing;
613 
614  /* specs/discord/guild.json:225:20
615  '{ "name": "role_id", "type":{ "base":"char", "dec":"*", "converter":"snowflake"}}' */
616  u64_snowflake_t role_id;
617 
618  /* specs/discord/guild.json:226:20
619  '{ "name": "enable_emotions", "type":{ "base":"bool"}}' */
620  bool enable_emotions;
621 
622  /* specs/discord/guild.json:227:20
623  '{ "name": "expire_behavior", "type":{ "base":"int", "int_alias":"enum discord_guild_integration_expire_behaviors"}}' */
624  enum discord_guild_integration_expire_behaviors expire_behavior;
625 
626  /* specs/discord/guild.json:228:20
627  '{ "name": "expire_grace_period", "type":{ "base":"int"}}' */
628  int expire_grace_period;
629 
630  /* specs/discord/guild.json:229:20
631  '{ "name": "user", "type":{ "base":"struct discord_user", "dec":"*"}, "opt":true}' */
632  struct discord_user *user;
633 
634  /* specs/discord/guild.json:230:20
635  '{ "name": "account", "type":{ "base":"struct discord_guild_integration_account", "dec":"*"}}' */
636  struct discord_guild_integration_account *account;
637 
638  /* specs/discord/guild.json:231:20
639  '{ "name": "synced_at", "type":{ "base":"char", "dec":"*", "converter":"iso8601"}}' */
640  u64_unix_ms_t synced_at;
641 
642  /* specs/discord/guild.json:232:20
643  '{ "name": "subscriber_count", "type":{ "base":"int"}}' */
644  int subscriber_count;
645 
646  /* specs/discord/guild.json:233:20
647  '{ "name": "revoked", "type":{ "base":"bool"}}' */
648  bool revoked;
649 
650  /* specs/discord/guild.json:234:20
651  '{ "name": "application", "type":{ "base":"struct discord_guild_integration_application", "dec":"*" }}' */
652  struct discord_guild_integration_application *application;
653 
654  // The following is metadata used to
655  // 1. control which field should be extracted/injected
656  // 2. record which field is presented(defined) in JSON
657  // 3. record which field is null in JSON
659  struct {
660  bool enable_arg_switches;
661  bool enable_record_defined;
662  bool enable_record_null;
663  void *arg_switches[15];
664  void *record_defined[15];
665  void *record_null[15];
666  } __M; // metadata
668 };
669 extern void discord_guild_integration_cleanup_v(void *p);
670 extern void discord_guild_integration_cleanup(struct discord_guild_integration *p);
671 extern void discord_guild_integration_init_v(void *p);
672 extern void discord_guild_integration_init(struct discord_guild_integration *p);
673 extern struct discord_guild_integration * discord_guild_integration_alloc();
674 extern void discord_guild_integration_free_v(void *p);
675 extern void discord_guild_integration_free(struct discord_guild_integration *p);
676 extern void discord_guild_integration_from_json_v(char *json, size_t len, void *p);
677 extern void discord_guild_integration_from_json(char *json, size_t len, struct discord_guild_integration *p);
678 extern size_t discord_guild_integration_to_json_v(char *json, size_t len, void *p);
679 extern size_t discord_guild_integration_to_json(char *json, size_t len, struct discord_guild_integration *p);
680 extern size_t discord_guild_integration_to_query_v(char *json, size_t len, void *p);
681 extern size_t discord_guild_integration_to_query(char *json, size_t len, struct discord_guild_integration *p);
682 extern void discord_guild_integration_list_free_v(void **p);
683 extern void discord_guild_integration_list_free(struct discord_guild_integration **p);
684 extern void discord_guild_integration_list_from_json_v(char *str, size_t len, void *p);
685 extern void discord_guild_integration_list_from_json(char *str, size_t len, struct discord_guild_integration ***p);
686 extern size_t discord_guild_integration_list_to_json_v(char *str, size_t len, void *p);
687 extern size_t discord_guild_integration_list_to_json(char *str, size_t len, struct discord_guild_integration **p);
688 
689 
690 enum discord_guild_integration_expire_behaviors {
691  DISCORD_GUILD_INTEGRATION_REMOVE_ROLE = 0,
692  DISCORD_GUILD_INTEGRATION_KICK = 1,
693 };
694 extern char* discord_guild_integration_expire_behaviors_to_string(enum discord_guild_integration_expire_behaviors);
695 extern enum discord_guild_integration_expire_behaviors discord_guild_integration_expire_behaviors_from_string(char*);
696 extern bool discord_guild_integration_expire_behaviors_has(enum discord_guild_integration_expire_behaviors, char*);
697 
705  /* specs/discord/guild.json:253:19
706  '{ "name":"id", "type":{ "base":"char", "dec":"*", "converter":"snowflake" }}' */
707  u64_snowflake_t id;
708 
709  /* specs/discord/guild.json:254:19
710  '{ "name":"name", "type":{ "base":"char", "dec":"*" }}' */
711  char *name;
712 
713  // The following is metadata used to
714  // 1. control which field should be extracted/injected
715  // 2. record which field is presented(defined) in JSON
716  // 3. record which field is null in JSON
718  struct {
719  bool enable_arg_switches;
720  bool enable_record_defined;
721  bool enable_record_null;
722  void *arg_switches[2];
723  void *record_defined[2];
724  void *record_null[2];
725  } __M; // metadata
727 };
728 extern void discord_guild_integration_account_cleanup_v(void *p);
729 extern void discord_guild_integration_account_cleanup(struct discord_guild_integration_account *p);
730 extern void discord_guild_integration_account_init_v(void *p);
731 extern void discord_guild_integration_account_init(struct discord_guild_integration_account *p);
732 extern struct discord_guild_integration_account * discord_guild_integration_account_alloc();
733 extern void discord_guild_integration_account_free_v(void *p);
734 extern void discord_guild_integration_account_free(struct discord_guild_integration_account *p);
735 extern void discord_guild_integration_account_from_json_v(char *json, size_t len, void *p);
736 extern void discord_guild_integration_account_from_json(char *json, size_t len, struct discord_guild_integration_account *p);
737 extern size_t discord_guild_integration_account_to_json_v(char *json, size_t len, void *p);
738 extern size_t discord_guild_integration_account_to_json(char *json, size_t len, struct discord_guild_integration_account *p);
739 extern size_t discord_guild_integration_account_to_query_v(char *json, size_t len, void *p);
740 extern size_t discord_guild_integration_account_to_query(char *json, size_t len, struct discord_guild_integration_account *p);
741 extern void discord_guild_integration_account_list_free_v(void **p);
742 extern void discord_guild_integration_account_list_free(struct discord_guild_integration_account **p);
743 extern void discord_guild_integration_account_list_from_json_v(char *str, size_t len, void *p);
744 extern void discord_guild_integration_account_list_from_json(char *str, size_t len, struct discord_guild_integration_account ***p);
745 extern size_t discord_guild_integration_account_list_to_json_v(char *str, size_t len, void *p);
746 extern size_t discord_guild_integration_account_list_to_json(char *str, size_t len, struct discord_guild_integration_account **p);
747 
755  /* specs/discord/guild.json:263:19
756  '{ "name":"id", "type":{ "base":"char", "dec":"*", "converter":"snowflake" }}' */
757  u64_snowflake_t id;
758 
759  /* specs/discord/guild.json:264:19
760  '{ "name":"name", "type":{ "base":"char", "dec":"*" }}' */
761  char *name;
762 
763  /* specs/discord/guild.json:265:19
764  '{ "name":"icon", "type":{ "base":"char", "dec":"[MAX_SHA256_LEN]" }}' */
765  char icon[MAX_SHA256_LEN];
766 
767  /* specs/discord/guild.json:266:19
768  '{ "name":"description", "type":{ "base":"char", "dec":"*" }}' */
769  char *description;
770 
771  /* specs/discord/guild.json:267:19
772  '{ "name":"summary", "type":{ "base":"char", "dec":"*" }}' */
773  char *summary;
774 
775  /* specs/discord/guild.json:268:19
776  '{ "name":"bot", "type":{ "base":"struct discord_user", "dec":"*" }, "option":true}' */
777  struct discord_user *bot;
778 
779  // The following is metadata used to
780  // 1. control which field should be extracted/injected
781  // 2. record which field is presented(defined) in JSON
782  // 3. record which field is null in JSON
784  struct {
785  bool enable_arg_switches;
786  bool enable_record_defined;
787  bool enable_record_null;
788  void *arg_switches[6];
789  void *record_defined[6];
790  void *record_null[6];
791  } __M; // metadata
793 };
794 extern void discord_guild_integration_application_cleanup_v(void *p);
795 extern void discord_guild_integration_application_cleanup(struct discord_guild_integration_application *p);
796 extern void discord_guild_integration_application_init_v(void *p);
797 extern void discord_guild_integration_application_init(struct discord_guild_integration_application *p);
798 extern struct discord_guild_integration_application * discord_guild_integration_application_alloc();
799 extern void discord_guild_integration_application_free_v(void *p);
800 extern void discord_guild_integration_application_free(struct discord_guild_integration_application *p);
801 extern void discord_guild_integration_application_from_json_v(char *json, size_t len, void *p);
802 extern void discord_guild_integration_application_from_json(char *json, size_t len, struct discord_guild_integration_application *p);
803 extern size_t discord_guild_integration_application_to_json_v(char *json, size_t len, void *p);
804 extern size_t discord_guild_integration_application_to_json(char *json, size_t len, struct discord_guild_integration_application *p);
805 extern size_t discord_guild_integration_application_to_query_v(char *json, size_t len, void *p);
806 extern size_t discord_guild_integration_application_to_query(char *json, size_t len, struct discord_guild_integration_application *p);
807 extern void discord_guild_integration_application_list_free_v(void **p);
808 extern void discord_guild_integration_application_list_free(struct discord_guild_integration_application **p);
809 extern void discord_guild_integration_application_list_from_json_v(char *str, size_t len, void *p);
810 extern void discord_guild_integration_application_list_from_json(char *str, size_t len, struct discord_guild_integration_application ***p);
811 extern size_t discord_guild_integration_application_list_to_json_v(char *str, size_t len, void *p);
812 extern size_t discord_guild_integration_application_list_to_json(char *str, size_t len, struct discord_guild_integration_application **p);
813 
821  /* specs/discord/guild.json:278:20
822  '{ "name": "reason", "type":{ "base":"char", "dec":"[MAX_REASON_LEN]" }}' */
823  char reason[MAX_REASON_LEN];
824 
825  /* specs/discord/guild.json:279:20
826  '{ "name": "user", "type":{ "base":"struct discord_user", "dec":"*"}, "comment":"partial user object"}' */
827  struct discord_user *user; // partial user object
828 
829  // The following is metadata used to
830  // 1. control which field should be extracted/injected
831  // 2. record which field is presented(defined) in JSON
832  // 3. record which field is null in JSON
834  struct {
835  bool enable_arg_switches;
836  bool enable_record_defined;
837  bool enable_record_null;
838  void *arg_switches[2];
839  void *record_defined[2];
840  void *record_null[2];
841  } __M; // metadata
843 };
844 extern void discord_guild_ban_cleanup_v(void *p);
845 extern void discord_guild_ban_cleanup(struct discord_guild_ban *p);
846 extern void discord_guild_ban_init_v(void *p);
847 extern void discord_guild_ban_init(struct discord_guild_ban *p);
848 extern struct discord_guild_ban * discord_guild_ban_alloc();
849 extern void discord_guild_ban_free_v(void *p);
850 extern void discord_guild_ban_free(struct discord_guild_ban *p);
851 extern void discord_guild_ban_from_json_v(char *json, size_t len, void *p);
852 extern void discord_guild_ban_from_json(char *json, size_t len, struct discord_guild_ban *p);
853 extern size_t discord_guild_ban_to_json_v(char *json, size_t len, void *p);
854 extern size_t discord_guild_ban_to_json(char *json, size_t len, struct discord_guild_ban *p);
855 extern size_t discord_guild_ban_to_query_v(char *json, size_t len, void *p);
856 extern size_t discord_guild_ban_to_query(char *json, size_t len, struct discord_guild_ban *p);
857 extern void discord_guild_ban_list_free_v(void **p);
858 extern void discord_guild_ban_list_free(struct discord_guild_ban **p);
859 extern void discord_guild_ban_list_from_json_v(char *str, size_t len, void *p);
860 extern void discord_guild_ban_list_from_json(char *str, size_t len, struct discord_guild_ban ***p);
861 extern size_t discord_guild_ban_list_to_json_v(char *str, size_t len, void *p);
862 extern size_t discord_guild_ban_list_to_json(char *str, size_t len, struct discord_guild_ban **p);
863 
871  /* specs/discord/guild.json:289:20
872  '{ "name": "description", "type":{ "base":"char", "dec":"*" }, "comment":"@todo fixed size limit"}' */
873  char *description; // @todo fixed size limit
874 
875  /* specs/discord/guild.json:290:20
876  '{ "name": "welcome_channels", "type":{ "base":"struct discord_guild_welcome_screen_channel", "dec":"ntl" }, "todo":false }' */
877  struct discord_guild_welcome_screen_channel **welcome_channels;
878 
879  // The following is metadata used to
880  // 1. control which field should be extracted/injected
881  // 2. record which field is presented(defined) in JSON
882  // 3. record which field is null in JSON
884  struct {
885  bool enable_arg_switches;
886  bool enable_record_defined;
887  bool enable_record_null;
888  void *arg_switches[2];
889  void *record_defined[2];
890  void *record_null[2];
891  } __M; // metadata
893 };
894 extern void discord_guild_welcome_screen_cleanup_v(void *p);
895 extern void discord_guild_welcome_screen_cleanup(struct discord_guild_welcome_screen *p);
896 extern void discord_guild_welcome_screen_init_v(void *p);
897 extern void discord_guild_welcome_screen_init(struct discord_guild_welcome_screen *p);
898 extern struct discord_guild_welcome_screen * discord_guild_welcome_screen_alloc();
899 extern void discord_guild_welcome_screen_free_v(void *p);
900 extern void discord_guild_welcome_screen_free(struct discord_guild_welcome_screen *p);
901 extern void discord_guild_welcome_screen_from_json_v(char *json, size_t len, void *p);
902 extern void discord_guild_welcome_screen_from_json(char *json, size_t len, struct discord_guild_welcome_screen *p);
903 extern size_t discord_guild_welcome_screen_to_json_v(char *json, size_t len, void *p);
904 extern size_t discord_guild_welcome_screen_to_json(char *json, size_t len, struct discord_guild_welcome_screen *p);
905 extern size_t discord_guild_welcome_screen_to_query_v(char *json, size_t len, void *p);
906 extern size_t discord_guild_welcome_screen_to_query(char *json, size_t len, struct discord_guild_welcome_screen *p);
907 extern void discord_guild_welcome_screen_list_free_v(void **p);
908 extern void discord_guild_welcome_screen_list_free(struct discord_guild_welcome_screen **p);
909 extern void discord_guild_welcome_screen_list_from_json_v(char *str, size_t len, void *p);
910 extern void discord_guild_welcome_screen_list_from_json(char *str, size_t len, struct discord_guild_welcome_screen ***p);
911 extern size_t discord_guild_welcome_screen_list_to_json_v(char *str, size_t len, void *p);
912 extern size_t discord_guild_welcome_screen_list_to_json(char *str, size_t len, struct discord_guild_welcome_screen **p);
913 
921  /* specs/discord/guild.json:300:20
922  '{ "name": "channel_id", "type":{ "base":"char", "dec":"*", "converter":"snowflake" }}' */
923  u64_snowflake_t channel_id;
924 
925  /* specs/discord/guild.json:301:20
926  '{ "name": "description", "type":{ "base":"char", "dec":"*" }}' */
927  char *description;
928 
929  /* specs/discord/guild.json:302:20
930  '{ "name": "emoji_id", "type":{ "base":"char", "dec":"*", "converter":"snowflake" }}' */
931  u64_snowflake_t emoji_id;
932 
933  /* specs/discord/guild.json:303:20
934  '{ "name": "emoji_name", "type":{ "base":"char", "dec":"*" }}' */
935  char *emoji_name;
936 
937  // The following is metadata used to
938  // 1. control which field should be extracted/injected
939  // 2. record which field is presented(defined) in JSON
940  // 3. record which field is null in JSON
942  struct {
943  bool enable_arg_switches;
944  bool enable_record_defined;
945  bool enable_record_null;
946  void *arg_switches[4];
947  void *record_defined[4];
948  void *record_null[4];
949  } __M; // metadata
951 };
952 extern void discord_guild_welcome_screen_channel_cleanup_v(void *p);
953 extern void discord_guild_welcome_screen_channel_cleanup(struct discord_guild_welcome_screen_channel *p);
954 extern void discord_guild_welcome_screen_channel_init_v(void *p);
955 extern void discord_guild_welcome_screen_channel_init(struct discord_guild_welcome_screen_channel *p);
956 extern struct discord_guild_welcome_screen_channel * discord_guild_welcome_screen_channel_alloc();
957 extern void discord_guild_welcome_screen_channel_free_v(void *p);
958 extern void discord_guild_welcome_screen_channel_free(struct discord_guild_welcome_screen_channel *p);
959 extern void discord_guild_welcome_screen_channel_from_json_v(char *json, size_t len, void *p);
960 extern void discord_guild_welcome_screen_channel_from_json(char *json, size_t len, struct discord_guild_welcome_screen_channel *p);
961 extern size_t discord_guild_welcome_screen_channel_to_json_v(char *json, size_t len, void *p);
962 extern size_t discord_guild_welcome_screen_channel_to_json(char *json, size_t len, struct discord_guild_welcome_screen_channel *p);
963 extern size_t discord_guild_welcome_screen_channel_to_query_v(char *json, size_t len, void *p);
964 extern size_t discord_guild_welcome_screen_channel_to_query(char *json, size_t len, struct discord_guild_welcome_screen_channel *p);
965 extern void discord_guild_welcome_screen_channel_list_free_v(void **p);
966 extern void discord_guild_welcome_screen_channel_list_free(struct discord_guild_welcome_screen_channel **p);
967 extern void discord_guild_welcome_screen_channel_list_from_json_v(char *str, size_t len, void *p);
968 extern void discord_guild_welcome_screen_channel_list_from_json(char *str, size_t len, struct discord_guild_welcome_screen_channel ***p);
969 extern size_t discord_guild_welcome_screen_channel_list_to_json_v(char *str, size_t len, void *p);
970 extern size_t discord_guild_welcome_screen_channel_list_to_json(char *str, size_t len, struct discord_guild_welcome_screen_channel **p);
discord_guild::max_presences
int max_presences
<
Definition: guild.h:159
discord_guild::mfa_level
enum discord_guild_mfa_level mfa_level
<
Definition: guild.h:104
discord_guild_welcome_screen
Welcome Screen Structure.
Definition: guild.h:870
discord_guild_welcome_screen_channel
Welcome Screen Channel Structure.
Definition: guild.h:920
discord_guild_ban
Ban Structure.
Definition: guild.h:820
discord_guild_preview
Guild Preview Object.
Definition: guild.h:383
discord_guild
Guild Structure.
Definition: guild.h:17
discord_guild_preview::approximate_member_count
int approximate_member_count
<
Definition: guild.h:414
discord_guild_integration
Integration Structure.
Definition: guild.h:593
discord_guild::members
struct discord_guild_member ** members
<
Definition: guild.h:145
u64_unix_ms_t
uint64_t u64_unix_ms_t
unix time in ms
Definition: discord.h:26
discord_guild_unavailable
Unavailable Guild Object.
Definition: guild.h:333
discord_guild_integration_application
Integration Application Object.
Definition: guild.h:754
u64_snowflake_t
uint64_t u64_snowflake_t
snowflake datatype
Definition: discord.h:32
discord_guild_widget
Guild Widget Object.
Definition: guild.h:465
discord_guild_integration_account
Integration Account Structure.
Definition: guild.h:704
discord_guild_member
Guild Member Structure.
Definition: guild.h:515
discord_channel
Channel Structure.
Definition: channel.h:31
discord_emoji
Emoji Structure.
Definition: emoji.h:17
discord_user
User Structure.
Definition: user.h:45
discord_guild::emojis
struct discord_emoji ** emojis
<
Definition: guild.h:95