diff --git a/assets/schemas.json b/assets/schemas.json
index a0ab1697..018ddaca 100644
--- a/assets/schemas.json
+++ b/assets/schemas.json
@@ -2285,7 +2285,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -3047,7 +3047,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -3562,7 +3562,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -6504,7 +6504,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -7266,7 +7266,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -7781,7 +7781,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -10723,7 +10723,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -11485,7 +11485,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -12000,7 +12000,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -14937,7 +14937,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -15699,7 +15699,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -16214,7 +16214,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -19187,7 +19187,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -19949,7 +19949,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -20464,7 +20464,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -23406,7 +23406,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -24168,7 +24168,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -24683,7 +24683,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -27616,7 +27616,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -28378,7 +28378,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -28893,7 +28893,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -31829,7 +31829,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -32591,7 +32591,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -33106,7 +33106,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -36051,7 +36051,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -36813,7 +36813,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -37328,7 +37328,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -40261,7 +40261,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -41023,7 +41023,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -41538,7 +41538,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -44471,7 +44471,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -45233,7 +45233,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -45748,7 +45748,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -48700,7 +48700,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -49462,7 +49462,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -49977,7 +49977,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -52913,7 +52913,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -53675,7 +53675,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -54190,7 +54190,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -57186,7 +57186,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -57948,7 +57948,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -58463,7 +58463,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -61418,7 +61418,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -62180,7 +62180,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -62695,7 +62695,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -65791,7 +65791,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -66553,7 +66553,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -67068,7 +67068,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -70022,7 +70022,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -70784,7 +70784,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -71299,7 +71299,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -74263,7 +74263,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -75025,7 +75025,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -75540,7 +75540,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -78486,7 +78486,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -79248,7 +79248,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -79763,7 +79763,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -82715,7 +82715,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -83477,7 +83477,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -83992,7 +83992,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -86934,7 +86934,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -87696,7 +87696,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -88211,7 +88211,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -91141,7 +91141,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -91903,7 +91903,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -92418,7 +92418,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -95466,7 +95466,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -96228,7 +96228,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -96743,7 +96743,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -99788,7 +99788,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -100550,7 +100550,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -101065,7 +101065,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -103998,7 +103998,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -104760,7 +104760,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -105275,7 +105275,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -108216,7 +108216,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -108978,7 +108978,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -109493,7 +109493,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -112427,7 +112427,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -113189,7 +113189,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -113704,7 +113704,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -116638,7 +116638,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -117400,7 +117400,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -117915,7 +117915,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -120884,7 +120884,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -121646,7 +121646,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -122161,7 +122161,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -125095,7 +125095,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -125857,7 +125857,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -126372,7 +126372,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -129305,7 +129305,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -130067,7 +130067,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -130582,7 +130582,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -133530,7 +133530,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -134292,7 +134292,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -134807,7 +134807,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -137744,7 +137744,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -138506,7 +138506,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -139021,7 +139021,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -142032,7 +142032,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -142794,7 +142794,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -143309,7 +143309,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -146242,7 +146242,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -147004,7 +147004,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -147519,7 +147519,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -150452,7 +150452,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -151214,7 +151214,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -151729,7 +151729,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -154659,7 +154659,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -155421,7 +155421,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -155936,7 +155936,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -158872,7 +158872,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -159634,7 +159634,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -160149,7 +160149,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -163095,7 +163095,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -163857,7 +163857,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -164372,7 +164372,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -167302,7 +167302,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -168064,7 +168064,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -168579,7 +168579,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -171558,7 +171558,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -172320,7 +172320,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -172835,7 +172835,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -175800,7 +175800,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -176562,7 +176562,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -177077,7 +177077,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -180007,7 +180007,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -180769,7 +180769,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -181284,7 +181284,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -184239,7 +184239,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -185001,7 +185001,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -185516,7 +185516,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -188560,7 +188560,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -189322,7 +189322,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -189837,7 +189837,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -192766,7 +192766,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -193528,7 +193528,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -194043,7 +194043,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -197011,7 +197011,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -197773,7 +197773,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -198288,7 +198288,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -201244,7 +201244,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -202006,7 +202006,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -202521,7 +202521,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -205529,7 +205529,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -206291,7 +206291,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -206806,7 +206806,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -209736,7 +209736,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -210498,7 +210498,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -211013,7 +211013,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -213951,7 +213951,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -214713,7 +214713,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -215228,7 +215228,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -218156,7 +218156,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -218918,7 +218918,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -219433,7 +219433,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -222367,7 +222367,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -223129,7 +223129,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -223644,7 +223644,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -226578,7 +226578,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -227340,7 +227340,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -227855,7 +227855,4304 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
+ }
+ },
+ "embeds": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Embed"
+ }
+ },
+ "mentions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PublicUser"
+ }
+ },
+ "mention_roles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "pinned": {
+ "type": "boolean"
+ },
+ "mention_everyone": {
+ "type": "boolean"
+ },
+ "tts": {
+ "type": "boolean"
+ },
+ "timestamp": {
+ "type": "string"
+ },
+ "edited_timestamp": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "flags": {
+ "type": "integer"
+ },
+ "components": {
+ "type": "array",
+ "items": {}
+ },
+ "hit": {
+ "type": "boolean",
+ "enum": [
+ true
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "attachments",
+ "author",
+ "channel_id",
+ "components",
+ "edited_timestamp",
+ "embeds",
+ "flags",
+ "hit",
+ "id",
+ "mention_roles",
+ "mentions",
+ "pinned",
+ "timestamp",
+ "tts",
+ "type"
+ ]
+ },
+ "PublicUser": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "premium_since": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "avatar": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ },
+ "discriminator": {
+ "type": "string"
+ },
+ "public_flags": {
+ "type": "integer"
+ },
+ "accent_color": {
+ "type": "integer"
+ },
+ "banner": {
+ "type": "string"
+ },
+ "bio": {
+ "type": "string"
+ },
+ "bot": {
+ "type": "boolean"
+ },
+ "premium_type": {
+ "type": "integer"
+ },
+ "theme_colors": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "pronouns": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "bio",
+ "bot",
+ "discriminator",
+ "id",
+ "premium_since",
+ "premium_type",
+ "public_flags",
+ "username"
+ ]
+ },
+ "GuildVanityUrl": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "uses": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "code",
+ "uses"
+ ]
+ },
+ "GuildVanityUrlNoInvite": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "null"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "code"
+ ]
+ },
+ "ClientStatus": {
+ "type": "object",
+ "properties": {
+ "desktop": {
+ "type": "string"
+ },
+ "mobile": {
+ "type": "string"
+ },
+ "web": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "Snowflake": {
+ "description": "A container for useful snowflake-related methods.",
+ "type": "object",
+ "additionalProperties": false
+ },
+ "TenorGifResponse": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "src": {
+ "type": "string"
+ },
+ "gif_src": {
+ "type": "string"
+ },
+ "width": {
+ "type": "integer"
+ },
+ "height": {
+ "type": "integer"
+ },
+ "preview": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "gif_src",
+ "height",
+ "id",
+ "preview",
+ "src",
+ "title",
+ "url",
+ "width"
+ ]
+ },
+ "BackupCode": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "code": {
+ "type": "string"
+ },
+ "consumed": {
+ "type": "boolean"
+ },
+ "expired": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "code",
+ "consumed",
+ "expired",
+ "id",
+ "user"
+ ]
+ },
+ "APIGuild": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "reload": {
+ "description": "Reloads entity data from the database.",
+ "type": "object",
+ "additionalProperties": false
+ },
+ "id": {
+ "type": "string"
+ },
+ "icon": {
+ "type": "string"
+ },
+ "parent": {
+ "type": "string"
+ },
+ "owner_id": {
+ "type": "string"
+ },
+ "nsfw": {
+ "type": "boolean"
+ },
+ "invites": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Invite"
+ }
+ },
+ "voice_states": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VoiceState"
+ }
+ },
+ "webhooks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Webhook"
+ }
+ },
+ "toJSON": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "_do_validate": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "assign": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "hasId": {
+ "description": "Checks if entity has an id.\nIf entity composite compose ids, it will check them all.",
+ "type": "object",
+ "additionalProperties": false
+ },
+ "save": {
+ "description": "Saves current entity in the database.\nIf entity does not exist in the database then inserts, otherwise updates.",
+ "type": "object",
+ "additionalProperties": false
+ },
+ "remove": {
+ "description": "Removes current entity from the database.",
+ "type": "object",
+ "additionalProperties": false
+ },
+ "softRemove": {
+ "description": "Records the delete date of current entity.",
+ "type": "object",
+ "additionalProperties": false
+ },
+ "recover": {
+ "description": "Recovers a given entity in the database.",
+ "type": "object",
+ "additionalProperties": false
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "banner": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "unavailable": {
+ "type": "boolean"
+ },
+ "channels": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Channel"
+ }
+ },
+ "region": {
+ "type": "string"
+ },
+ "system_channel_id": {
+ "type": "string"
+ },
+ "rules_channel_id": {
+ "type": "string"
+ },
+ "afk_timeout": {
+ "type": "integer"
+ },
+ "explicit_content_filter": {
+ "type": "integer"
+ },
+ "afk_channel_id": {
+ "type": "string"
+ },
+ "bans": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Ban"
+ }
+ },
+ "default_message_notifications": {
+ "type": "integer"
+ },
+ "discovery_splash": {
+ "type": "string"
+ },
+ "features": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "primary_category_id": {
+ "type": "string"
+ },
+ "large": {
+ "type": "boolean"
+ },
+ "max_members": {
+ "type": "integer"
+ },
+ "max_presences": {
+ "type": "integer"
+ },
+ "max_video_channel_users": {
+ "type": "integer"
+ },
+ "member_count": {
+ "type": "integer"
+ },
+ "presence_count": {
+ "type": "integer"
+ },
+ "members": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Member"
+ }
+ },
+ "template_id": {
+ "type": "string"
+ },
+ "emojis": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Emoji"
+ }
+ },
+ "stickers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Sticker"
+ }
+ },
+ "mfa_level": {
+ "type": "integer"
+ },
+ "preferred_locale": {
+ "type": "string"
+ },
+ "premium_subscription_count": {
+ "type": "integer"
+ },
+ "premium_tier": {
+ "type": "integer"
+ },
+ "public_updates_channel_id": {
+ "type": "string"
+ },
+ "splash": {
+ "type": "string"
+ },
+ "system_channel_flags": {
+ "type": "integer"
+ },
+ "verification_level": {
+ "type": "integer"
+ },
+ "welcome_screen": {
+ "$ref": "#/definitions/GuildWelcomeScreen"
+ },
+ "widget_channel_id": {
+ "type": "string"
+ },
+ "widget_enabled": {
+ "type": "boolean"
+ },
+ "nsfw_level": {
+ "type": "integer"
+ },
+ "permissions": {
+ "type": "integer"
+ },
+ "premium_progress_bar_enabled": {
+ "type": "boolean"
+ },
+ "channel_ordering": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "_do_validate",
+ "assign",
+ "bans",
+ "channel_ordering",
+ "channels",
+ "emojis",
+ "features",
+ "hasId",
+ "id",
+ "invites",
+ "members",
+ "name",
+ "nsfw",
+ "premium_progress_bar_enabled",
+ "public_updates_channel_id",
+ "recover",
+ "reload",
+ "remove",
+ "roles",
+ "save",
+ "softRemove",
+ "stickers",
+ "toJSON",
+ "unavailable",
+ "voice_states",
+ "webhooks",
+ "welcome_screen",
+ "widget_enabled"
+ ]
+ },
+ "DmChannelDTO": {
+ "type": "object",
+ "properties": {
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "last_message_id": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "name": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "origin_channel_id": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "owner_id": {
+ "type": "string"
+ },
+ "recipients": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MinimalPublicUserDTO"
+ }
+ },
+ "type": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "icon",
+ "id",
+ "last_message_id",
+ "name",
+ "origin_channel_id",
+ "recipients",
+ "type"
+ ]
+ },
+ "MinimalPublicUserDTO": {
+ "type": "object",
+ "properties": {
+ "avatar": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "discriminator": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "public_flags": {
+ "type": "integer"
+ },
+ "username": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "discriminator",
+ "id",
+ "public_flags",
+ "username"
+ ]
+ },
+ "Categories": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "localizations": {
+ "type": "string"
+ },
+ "is_primary": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "is_primary",
+ "localizations",
+ "name"
+ ]
+ },
+ "GuildVoiceRegion": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "custom": {
+ "type": "boolean"
+ },
+ "deprecated": {
+ "type": "boolean"
+ },
+ "optimal": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "custom",
+ "deprecated",
+ "id",
+ "name",
+ "optimal"
+ ]
+ },
+ "UserLimits": {
+ "type": "object",
+ "properties": {
+ "maxGuilds": {
+ "type": "integer",
+ "default": 1048576
+ },
+ "maxUsername": {
+ "type": "integer",
+ "default": 32
+ },
+ "maxFriends": {
+ "type": "integer",
+ "default": 5000
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "maxFriends",
+ "maxGuilds",
+ "maxUsername"
+ ]
+ },
+ "GuildLimits": {
+ "type": "object",
+ "properties": {
+ "maxRoles": {
+ "type": "integer",
+ "default": 1000
+ },
+ "maxEmojis": {
+ "type": "integer",
+ "default": 2000
+ },
+ "maxMembers": {
+ "type": "integer",
+ "default": 25000000
+ },
+ "maxChannels": {
+ "type": "integer",
+ "default": 65535
+ },
+ "maxChannelsInCategory": {
+ "type": "integer",
+ "default": 65535
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "maxChannels",
+ "maxChannelsInCategory",
+ "maxEmojis",
+ "maxMembers",
+ "maxRoles"
+ ]
+ },
+ "MessageLimits": {
+ "type": "object",
+ "properties": {
+ "maxCharacters": {
+ "type": "integer",
+ "default": 1048576
+ },
+ "maxTTSCharacters": {
+ "type": "integer",
+ "default": 160
+ },
+ "maxReactions": {
+ "type": "integer",
+ "default": 2048
+ },
+ "maxAttachmentSize": {
+ "type": "integer",
+ "default": 1073741824
+ },
+ "maxBulkDelete": {
+ "type": "integer",
+ "default": 1000
+ },
+ "maxEmbedDownloadSize": {
+ "type": "integer",
+ "default": 5242880
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "maxAttachmentSize",
+ "maxBulkDelete",
+ "maxCharacters",
+ "maxEmbedDownloadSize",
+ "maxReactions",
+ "maxTTSCharacters"
+ ]
+ },
+ "ChannelLimits": {
+ "type": "object",
+ "properties": {
+ "maxPins": {
+ "type": "integer",
+ "default": 500
+ },
+ "maxTopic": {
+ "type": "integer",
+ "default": 1024
+ },
+ "maxWebhooks": {
+ "type": "integer",
+ "default": 100
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "maxPins",
+ "maxTopic",
+ "maxWebhooks"
+ ]
+ },
+ "RateLimits": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": false
+ },
+ "ip": {
+ "$ref": "#/definitions/RateLimitOptions"
+ },
+ "global": {
+ "$ref": "#/definitions/RateLimitOptions"
+ },
+ "error": {
+ "$ref": "#/definitions/RateLimitOptions"
+ },
+ "routes": {
+ "$ref": "#/definitions/RouteRateLimit"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "enabled",
+ "error",
+ "global",
+ "ip",
+ "routes"
+ ]
+ },
+ "RateLimitOptions": {
+ "type": "object",
+ "properties": {
+ "bot": {
+ "type": "integer"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "window": {
+ "type": "integer"
+ },
+ "onyIp": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "count",
+ "window"
+ ]
+ },
+ "RouteRateLimit": {
+ "type": "object",
+ "properties": {
+ "guild": {
+ "$ref": "#/definitions/RateLimitOptions"
+ },
+ "webhook": {
+ "$ref": "#/definitions/RateLimitOptions"
+ },
+ "channel": {
+ "$ref": "#/definitions/RateLimitOptions"
+ },
+ "auth": {}
+ },
+ "additionalProperties": false,
+ "required": [
+ "auth",
+ "channel",
+ "guild",
+ "webhook"
+ ]
+ },
+ "GlobalRateLimits": {
+ "type": "object",
+ "properties": {
+ "register": {
+ "$ref": "#/definitions/GlobalRateLimit"
+ },
+ "sendMessage": {
+ "$ref": "#/definitions/GlobalRateLimit"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "register",
+ "sendMessage"
+ ]
+ },
+ "GlobalRateLimit": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "default": 100
+ },
+ "window": {
+ "type": "integer",
+ "default": 3600000
+ },
+ "enabled": {
+ "type": "boolean",
+ "default": true
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "enabled",
+ "limit",
+ "window"
+ ]
+ },
+ "PublicConnectedAccount": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "verified": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name",
+ "type"
+ ]
+ },
+ "UserProfile": {
+ "type": "object",
+ "properties": {
+ "accent_color": {
+ "type": "integer"
+ },
+ "banner": {
+ "type": "string"
+ },
+ "bio": {
+ "type": "string"
+ },
+ "theme_colors": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "pronouns": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "bio"
+ ]
+ },
+ "TokenResponse": {
+ "type": "object",
+ "properties": {
+ "token": {
+ "type": "string"
+ },
+ "settings": {
+ "$ref": "#/definitions/UserSettings"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "settings",
+ "token"
+ ]
+ },
+ "MFAResponse": {
+ "type": "object",
+ "properties": {
+ "ticket": {
+ "type": "string"
+ },
+ "mfa": {
+ "type": "boolean",
+ "enum": [
+ true
+ ]
+ },
+ "sms": {
+ "type": "boolean",
+ "enum": [
+ false
+ ]
+ },
+ "token": {
+ "type": "null"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "mfa",
+ "sms",
+ "ticket",
+ "token"
+ ]
+ },
+ "WebAuthnResponse": {
+ "type": "object",
+ "properties": {
+ "webauthn": {
+ "type": "string"
+ },
+ "ticket": {
+ "type": "string"
+ },
+ "mfa": {
+ "type": "boolean",
+ "enum": [
+ true
+ ]
+ },
+ "sms": {
+ "type": "boolean",
+ "enum": [
+ false
+ ]
+ },
+ "token": {
+ "type": "null"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "mfa",
+ "sms",
+ "ticket",
+ "token",
+ "webauthn"
+ ]
+ }
+ },
+ "$schema": "http://json-schema.org/draft-07/schema#"
+ },
+ "WebhookExecuteSchema": {
+ "type": "object",
+ "properties": {
+ "content": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ },
+ "avatar_url": {
+ "type": "string"
+ },
+ "tts": {
+ "type": "boolean"
+ },
+ "embeds": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Embed"
+ }
+ },
+ "allowed_mentions": {
+ "type": "object",
+ "properties": {
+ "parse": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "users": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "replied_user": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false
+ },
+ "components": {
+ "type": "array",
+ "items": {}
+ },
+ "file": {
+ "type": "object",
+ "properties": {
+ "filename": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "filename"
+ ]
+ },
+ "payload_json": {
+ "type": "string"
+ },
+ "attachments": {
+ "description": "TODO: we should create an interface for attachments\nTODO: OpenWAAO<-->attachment-style metadata conversion",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "filename": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "filename",
+ "id"
+ ]
+ }
+ },
+ "flags": {
+ "type": "integer"
+ },
+ "thread_name": {
+ "type": "string"
+ },
+ "applied_tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "definitions": {
+ "ChannelPermissionOverwriteType": {
+ "enum": [
+ 0,
+ 1,
+ 2
+ ],
+ "type": "number"
+ },
+ "ConnectedAccountTokenData": {
+ "type": "object",
+ "properties": {
+ "access_token": {
+ "type": "string"
+ },
+ "token_type": {
+ "type": "string"
+ },
+ "scope": {
+ "type": "string"
+ },
+ "refresh_token": {
+ "type": "string"
+ },
+ "expires_in": {
+ "type": "integer"
+ },
+ "expires_at": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "access_token",
+ "fetched_at"
+ ]
+ },
+ "ChannelModifySchema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 2,
+ 255,
+ 3,
+ 33,
+ 34,
+ 35,
+ 4,
+ 5,
+ 6,
+ 64,
+ 7,
+ 8,
+ 9
+ ],
+ "type": "number"
+ },
+ "topic": {
+ "type": "string"
+ },
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "bitrate": {
+ "type": "integer"
+ },
+ "user_limit": {
+ "type": "integer"
+ },
+ "rate_limit_per_user": {
+ "type": "integer"
+ },
+ "position": {
+ "type": "integer"
+ },
+ "permission_overwrites": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/definitions/ChannelPermissionOverwriteType"
+ },
+ "allow": {
+ "type": "string"
+ },
+ "deny": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "allow",
+ "deny",
+ "id",
+ "type"
+ ]
+ }
+ },
+ "parent_id": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "nsfw": {
+ "type": "boolean"
+ },
+ "rtc_region": {
+ "type": "string"
+ },
+ "default_auto_archive_duration": {
+ "type": "integer"
+ },
+ "default_reaction_emoji": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "flags": {
+ "type": "integer"
+ },
+ "default_thread_rate_limit_per_user": {
+ "type": "integer"
+ },
+ "video_quality_mode": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ActivitySchema": {
+ "type": "object",
+ "properties": {
+ "afk": {
+ "type": "boolean"
+ },
+ "status": {
+ "$ref": "#/definitions/Status"
+ },
+ "activities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Activity"
+ }
+ },
+ "since": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "status"
+ ]
+ },
+ "Status": {
+ "enum": [
+ "dnd",
+ "idle",
+ "invisible",
+ "offline",
+ "online"
+ ],
+ "type": "string"
+ },
+ "Activity": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/definitions/ActivityType"
+ },
+ "url": {
+ "type": "string"
+ },
+ "created_at": {
+ "type": "integer"
+ },
+ "timestamps": {
+ "type": "object",
+ "properties": {
+ "start": {
+ "type": "integer"
+ },
+ "end": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "end",
+ "start"
+ ]
+ },
+ "application_id": {
+ "type": "string"
+ },
+ "details": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "emoji": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "animated": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "animated",
+ "name"
+ ]
+ },
+ "party": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "size": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "assets": {
+ "type": "object",
+ "properties": {
+ "large_image": {
+ "type": "string"
+ },
+ "large_text": {
+ "type": "string"
+ },
+ "small_image": {
+ "type": "string"
+ },
+ "small_text": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "secrets": {
+ "type": "object",
+ "properties": {
+ "join": {
+ "type": "string"
+ },
+ "spectate": {
+ "type": "string"
+ },
+ "match": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "instance": {
+ "type": "boolean"
+ },
+ "flags": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "sync_id": {
+ "type": "string"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "context_uri": {
+ "type": "string"
+ },
+ "album_id": {
+ "type": "string"
+ },
+ "artist_ids": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "album_id",
+ "artist_ids"
+ ]
+ },
+ "session_id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "flags",
+ "name",
+ "session_id",
+ "type"
+ ]
+ },
+ "ActivityType": {
+ "enum": [
+ 0,
+ 1,
+ 2,
+ 4,
+ 5
+ ],
+ "type": "number"
+ },
+ "Embed": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "article",
+ "gifv",
+ "image",
+ "link",
+ "rich",
+ "video"
+ ],
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "color": {
+ "type": "integer"
+ },
+ "footer": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "icon_url": {
+ "type": "string"
+ },
+ "proxy_icon_url": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "text"
+ ]
+ },
+ "image": {
+ "$ref": "#/definitions/EmbedImage"
+ },
+ "thumbnail": {
+ "$ref": "#/definitions/EmbedImage"
+ },
+ "video": {
+ "$ref": "#/definitions/EmbedImage"
+ },
+ "provider": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "author": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "icon_url": {
+ "type": "string"
+ },
+ "proxy_icon_url": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "inline": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name",
+ "value"
+ ]
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "EmbedImage": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "proxy_url": {
+ "type": "string"
+ },
+ "height": {
+ "type": "integer"
+ },
+ "width": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ChannelOverride": {
+ "type": "object",
+ "properties": {
+ "message_notifications": {
+ "type": "integer"
+ },
+ "mute_config": {
+ "$ref": "#/definitions/MuteConfig"
+ },
+ "muted": {
+ "type": "boolean"
+ },
+ "channel_id": {
+ "type": [
+ "null",
+ "string"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel_id",
+ "message_notifications",
+ "mute_config",
+ "muted"
+ ]
+ },
+ "MuteConfig": {
+ "type": "object",
+ "properties": {
+ "end_time": {
+ "type": "integer"
+ },
+ "selected_time_window": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "end_time",
+ "selected_time_window"
+ ]
+ },
+ "CustomStatus": {
+ "type": "object",
+ "properties": {
+ "emoji_id": {
+ "type": "string"
+ },
+ "emoji_name": {
+ "type": "string"
+ },
+ "expires_at": {
+ "type": "integer"
+ },
+ "text": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "FriendSourceFlags": {
+ "type": "object",
+ "properties": {
+ "all": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "all"
+ ]
+ },
+ "GuildFolder": {
+ "type": "object",
+ "properties": {
+ "color": {
+ "type": "integer"
+ },
+ "guild_ids": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "color",
+ "guild_ids",
+ "id",
+ "name"
+ ]
+ },
+ "GenerateWebAuthnCredentialsSchema": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "password"
+ ]
+ },
+ "CreateWebAuthnCredentialSchema": {
+ "type": "object",
+ "properties": {
+ "credential": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "ticket": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "credential",
+ "name",
+ "ticket"
+ ]
+ },
+ "APIErrorResponse": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "integer"
+ },
+ "message": {
+ "type": "string"
+ },
+ "errors": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "_errors": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string"
+ },
+ "code": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "code",
+ "message"
+ ]
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "_errors"
+ ]
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "code",
+ "errors",
+ "message"
+ ]
+ },
+ "CaptchaRequiredResponse": {
+ "type": "object",
+ "properties": {
+ "captcha_key": {
+ "type": "string"
+ },
+ "captcha_sitekey": {
+ "type": "string"
+ },
+ "captcha_service": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "captcha_key",
+ "captcha_service",
+ "captcha_sitekey"
+ ]
+ },
+ "Guild": {
+ "type": "object",
+ "properties": {
+ "afk_channel_id": {
+ "type": "string"
+ },
+ "afk_channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "afk_timeout": {
+ "type": "integer"
+ },
+ "bans": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Ban"
+ }
+ },
+ "banner": {
+ "type": "string"
+ },
+ "default_message_notifications": {
+ "type": "integer"
+ },
+ "description": {
+ "type": "string"
+ },
+ "discovery_splash": {
+ "type": "string"
+ },
+ "explicit_content_filter": {
+ "type": "integer"
+ },
+ "features": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "default": []
+ },
+ "primary_category_id": {
+ "type": "string"
+ },
+ "icon": {
+ "type": "string"
+ },
+ "large": {
+ "type": "boolean",
+ "default": false
+ },
+ "max_members": {
+ "type": "integer"
+ },
+ "max_presences": {
+ "type": "integer"
+ },
+ "max_video_channel_users": {
+ "type": "integer"
+ },
+ "member_count": {
+ "type": "integer"
+ },
+ "presence_count": {
+ "type": "integer"
+ },
+ "members": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Member"
+ }
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "channels": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Channel"
+ }
+ },
+ "template_id": {
+ "type": "string"
+ },
+ "template": {
+ "$ref": "#/definitions/Template"
+ },
+ "emojis": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Emoji"
+ }
+ },
+ "stickers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Sticker"
+ }
+ },
+ "invites": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Invite"
+ }
+ },
+ "voice_states": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VoiceState"
+ }
+ },
+ "webhooks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Webhook"
+ }
+ },
+ "mfa_level": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "owner_id": {
+ "type": "string"
+ },
+ "owner": {
+ "$ref": "#/definitions/User"
+ },
+ "preferred_locale": {
+ "type": "string"
+ },
+ "premium_subscription_count": {
+ "type": "integer"
+ },
+ "premium_tier": {
+ "type": "integer"
+ },
+ "public_updates_channel_id": {
+ "type": "string"
+ },
+ "public_updates_channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "rules_channel_id": {
+ "type": "string"
+ },
+ "rules_channel": {
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
+ },
+ "splash": {
+ "type": "string"
+ },
+ "system_channel_id": {
+ "type": "string"
+ },
+ "system_channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "system_channel_flags": {
+ "type": "integer"
+ },
+ "unavailable": {
+ "type": "boolean",
+ "default": false
+ },
+ "verification_level": {
+ "type": "integer"
+ },
+ "welcome_screen": {
+ "$ref": "#/definitions/GuildWelcomeScreen"
+ },
+ "widget_channel_id": {
+ "type": "string"
+ },
+ "widget_channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "widget_enabled": {
+ "type": "boolean",
+ "default": true
+ },
+ "nsfw_level": {
+ "type": "integer"
+ },
+ "nsfw": {
+ "type": "boolean",
+ "default": false
+ },
+ "parent": {
+ "type": "string"
+ },
+ "permissions": {
+ "type": "integer"
+ },
+ "premium_progress_bar_enabled": {
+ "type": "boolean",
+ "default": false
+ },
+ "channel_ordering": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "bans",
+ "channel_ordering",
+ "channels",
+ "emojis",
+ "features",
+ "id",
+ "invites",
+ "members",
+ "name",
+ "nsfw",
+ "premium_progress_bar_enabled",
+ "public_updates_channel_id",
+ "roles",
+ "stickers",
+ "template",
+ "unavailable",
+ "voice_states",
+ "webhooks",
+ "welcome_screen",
+ "widget_enabled"
+ ]
+ },
+ "Channel": {
+ "type": "object",
+ "properties": {
+ "created_at": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "name": {
+ "type": "string"
+ },
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "type": {
+ "$ref": "#/definitions/ChannelType"
+ },
+ "recipients": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Recipient"
+ }
+ },
+ "last_message_id": {
+ "type": "string"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "parent_id": {
+ "type": "string"
+ },
+ "parent": {
+ "$ref": "#/definitions/Channel"
+ },
+ "owner_id": {
+ "type": "string"
+ },
+ "owner": {
+ "$ref": "#/definitions/User"
+ },
+ "last_pin_timestamp": {
+ "type": "integer"
+ },
+ "default_auto_archive_duration": {
+ "type": "integer"
+ },
+ "permission_overwrites": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChannelPermissionOverwrite"
+ }
+ },
+ "video_quality_mode": {
+ "type": "integer"
+ },
+ "bitrate": {
+ "type": "integer"
+ },
+ "user_limit": {
+ "type": "integer"
+ },
+ "nsfw": {
+ "type": "boolean",
+ "default": false
+ },
+ "rate_limit_per_user": {
+ "type": "integer"
+ },
+ "topic": {
+ "type": "string"
+ },
+ "invites": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Invite"
+ }
+ },
+ "retention_policy_id": {
+ "type": "string"
+ },
+ "messages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Message"
+ }
+ },
+ "voice_states": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VoiceState"
+ }
+ },
+ "read_states": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReadState"
+ }
+ },
+ "webhooks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Webhook"
+ }
+ },
+ "flags": {
+ "type": "integer",
+ "default": 0
+ },
+ "default_thread_rate_limit_per_user": {
+ "type": "integer",
+ "default": 0
+ },
+ "position": {
+ "description": "Must be calculated Channel.calculatePosition",
+ "type": "integer"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "created_at",
+ "default_thread_rate_limit_per_user",
+ "flags",
+ "id",
+ "nsfw",
+ "owner",
+ "parent_id",
+ "position",
+ "type"
+ ]
+ },
+ "ChannelType": {
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 2,
+ 255,
+ 3,
+ 33,
+ 34,
+ 35,
+ 4,
+ 5,
+ 6,
+ 64,
+ 7,
+ 8,
+ 9
+ ],
+ "type": "number"
+ },
+ "Recipient": {
+ "type": "object",
+ "properties": {
+ "channel_id": {
+ "type": "string"
+ },
+ "channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "closed": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel",
+ "channel_id",
+ "closed",
+ "id",
+ "user",
+ "user_id"
+ ]
+ },
+ "User": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "discriminator": {
+ "type": "string"
+ },
+ "avatar": {
+ "type": "string"
+ },
+ "accent_color": {
+ "type": "integer"
+ },
+ "banner": {
+ "type": "string"
+ },
+ "theme_colors": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "pronouns": {
+ "type": "string"
+ },
+ "phone": {
+ "type": "string"
+ },
+ "desktop": {
+ "type": "boolean",
+ "default": false
+ },
+ "mobile": {
+ "type": "boolean",
+ "default": false
+ },
+ "premium": {
+ "type": "boolean"
+ },
+ "premium_type": {
+ "type": "integer"
+ },
+ "bot": {
+ "type": "boolean",
+ "default": false
+ },
+ "bio": {
+ "type": "string",
+ "default": ""
+ },
+ "system": {
+ "type": "boolean",
+ "default": false
+ },
+ "nsfw_allowed": {
+ "type": "boolean",
+ "default": true
+ },
+ "mfa_enabled": {
+ "type": "boolean",
+ "default": false
+ },
+ "webauthn_enabled": {
+ "type": "boolean",
+ "default": false
+ },
+ "totp_secret": {
+ "type": "string",
+ "default": ""
+ },
+ "totp_last_ticket": {
+ "type": "string",
+ "default": ""
+ },
+ "created_at": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "premium_since": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "verified": {
+ "type": "boolean"
+ },
+ "disabled": {
+ "type": "boolean",
+ "default": false
+ },
+ "deleted": {
+ "type": "boolean",
+ "default": false
+ },
+ "email": {
+ "type": "string"
+ },
+ "flags": {
+ "type": "integer",
+ "default": 0
+ },
+ "public_flags": {
+ "type": "integer",
+ "default": 0
+ },
+ "purchased_flags": {
+ "type": "integer",
+ "default": 0
+ },
+ "premium_usage_flags": {
+ "type": "integer",
+ "default": 0
+ },
+ "rights": {
+ "type": "string"
+ },
+ "sessions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Session"
+ }
+ },
+ "relationships": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Relationship"
+ }
+ },
+ "connected_accounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectedAccount"
+ }
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "valid_tokens_since": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "hash": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "valid_tokens_since"
+ ]
+ },
+ "fingerprints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "default": []
+ },
+ "settings": {
+ "$ref": "#/definitions/UserSettings"
+ },
+ "extended_settings": {
+ "type": "string",
+ "default": "{}"
+ },
+ "security_keys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SecurityKey"
+ }
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "bio",
+ "bot",
+ "connected_accounts",
+ "created_at",
+ "data",
+ "deleted",
+ "desktop",
+ "disabled",
+ "discriminator",
+ "extended_settings",
+ "fingerprints",
+ "flags",
+ "id",
+ "mfa_enabled",
+ "mobile",
+ "nsfw_allowed",
+ "premium",
+ "premium_since",
+ "premium_type",
+ "premium_usage_flags",
+ "public_flags",
+ "purchased_flags",
+ "relationships",
+ "rights",
+ "security_keys",
+ "sessions",
+ "settings",
+ "system",
+ "username",
+ "verified",
+ "webauthn_enabled"
+ ]
+ },
+ "Session": {
+ "type": "object",
+ "properties": {
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "session_id": {
+ "type": "string"
+ },
+ "activities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Activity"
+ }
+ },
+ "client_info": {
+ "type": "object",
+ "properties": {
+ "client": {
+ "type": "string"
+ },
+ "os": {
+ "type": "string"
+ },
+ "version": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "client",
+ "os",
+ "version"
+ ]
+ },
+ "status": {
+ "$ref": "#/definitions/Status"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "activities",
+ "client_info",
+ "id",
+ "session_id",
+ "status",
+ "user",
+ "user_id"
+ ]
+ },
+ "Relationship": {
+ "type": "object",
+ "properties": {
+ "from_id": {
+ "type": "string"
+ },
+ "from": {
+ "$ref": "#/definitions/User"
+ },
+ "to_id": {
+ "type": "string"
+ },
+ "to": {
+ "$ref": "#/definitions/User"
+ },
+ "nickname": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/definitions/RelationshipType"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "from",
+ "from_id",
+ "id",
+ "to",
+ "to_id",
+ "type"
+ ]
+ },
+ "RelationshipType": {
+ "enum": [
+ 1,
+ 2,
+ 3,
+ 4
+ ],
+ "type": "number"
+ },
+ "ConnectedAccount": {
+ "type": "object",
+ "properties": {
+ "external_id": {
+ "type": "string"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "friend_sync": {
+ "type": "boolean",
+ "default": false
+ },
+ "name": {
+ "type": "string"
+ },
+ "revoked": {
+ "type": "boolean",
+ "default": false
+ },
+ "show_activity": {
+ "type": "integer",
+ "default": 0
+ },
+ "type": {
+ "type": "string"
+ },
+ "verified": {
+ "type": "boolean",
+ "default": true
+ },
+ "visibility": {
+ "type": "integer",
+ "default": 0
+ },
+ "integrations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "default": []
+ },
+ "metadata_": {},
+ "metadata_visibility": {
+ "type": "integer",
+ "default": 0
+ },
+ "two_way_link": {
+ "type": "boolean",
+ "default": false
+ },
+ "token_data": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/ConnectedAccountTokenData"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "external_id",
+ "id",
+ "name",
+ "type",
+ "user",
+ "user_id"
+ ]
+ },
+ "UserSettings": {
+ "type": "object",
+ "properties": {
+ "index": {
+ "type": "string"
+ },
+ "afk_timeout": {
+ "type": "integer",
+ "default": 3600
+ },
+ "allow_accessibility_detection": {
+ "type": "boolean",
+ "default": true
+ },
+ "animate_emoji": {
+ "type": "boolean",
+ "default": true
+ },
+ "animate_stickers": {
+ "type": "integer",
+ "default": 0
+ },
+ "contact_sync_enabled": {
+ "type": "boolean",
+ "default": false
+ },
+ "convert_emoticons": {
+ "type": "boolean",
+ "default": false
+ },
+ "custom_status": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/CustomStatus"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "default_guilds_restricted": {
+ "type": "boolean",
+ "default": false
+ },
+ "detect_platform_accounts": {
+ "type": "boolean",
+ "default": false
+ },
+ "developer_mode": {
+ "type": "boolean",
+ "default": true
+ },
+ "disable_games_tab": {
+ "type": "boolean",
+ "default": true
+ },
+ "enable_tts_command": {
+ "type": "boolean",
+ "default": false
+ },
+ "explicit_content_filter": {
+ "type": "integer",
+ "default": 0
+ },
+ "friend_source_flags": {
+ "$ref": "#/definitions/FriendSourceFlags"
+ },
+ "gateway_connected": {
+ "type": "boolean",
+ "default": false
+ },
+ "gif_auto_play": {
+ "type": "boolean",
+ "default": false
+ },
+ "guild_folders": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GuildFolder"
+ },
+ "default": []
+ },
+ "guild_positions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "default": []
+ },
+ "inline_attachment_media": {
+ "type": "boolean",
+ "default": true
+ },
+ "inline_embed_media": {
+ "type": "boolean",
+ "default": true
+ },
+ "locale": {
+ "type": "string",
+ "default": "en-US"
+ },
+ "message_display_compact": {
+ "type": "boolean",
+ "default": false
+ },
+ "native_phone_integration_enabled": {
+ "type": "boolean",
+ "default": true
+ },
+ "render_embeds": {
+ "type": "boolean",
+ "default": true
+ },
+ "render_reactions": {
+ "type": "boolean",
+ "default": true
+ },
+ "restricted_guilds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "default": []
+ },
+ "show_current_game": {
+ "type": "boolean",
+ "default": true
+ },
+ "status": {
+ "enum": [
+ "dnd",
+ "idle",
+ "invisible",
+ "offline",
+ "online"
+ ],
+ "type": "string",
+ "default": "online"
+ },
+ "stream_notifications_enabled": {
+ "type": "boolean",
+ "default": false
+ },
+ "theme": {
+ "enum": [
+ "dark",
+ "light"
+ ],
+ "type": "string",
+ "default": "dark"
+ },
+ "timezone_offset": {
+ "type": "integer",
+ "default": 0
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "afk_timeout",
+ "allow_accessibility_detection",
+ "animate_emoji",
+ "animate_stickers",
+ "contact_sync_enabled",
+ "convert_emoticons",
+ "custom_status",
+ "default_guilds_restricted",
+ "detect_platform_accounts",
+ "developer_mode",
+ "disable_games_tab",
+ "enable_tts_command",
+ "explicit_content_filter",
+ "friend_source_flags",
+ "gateway_connected",
+ "gif_auto_play",
+ "guild_folders",
+ "guild_positions",
+ "index",
+ "inline_attachment_media",
+ "inline_embed_media",
+ "locale",
+ "message_display_compact",
+ "native_phone_integration_enabled",
+ "render_embeds",
+ "render_reactions",
+ "restricted_guilds",
+ "show_current_game",
+ "status",
+ "stream_notifications_enabled",
+ "theme",
+ "timezone_offset"
+ ]
+ },
+ "SecurityKey": {
+ "type": "object",
+ "properties": {
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "key_id": {
+ "type": "string"
+ },
+ "public_key": {
+ "type": "string"
+ },
+ "counter": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "counter",
+ "id",
+ "key_id",
+ "name",
+ "public_key",
+ "user",
+ "user_id"
+ ]
+ },
+ "ChannelPermissionOverwrite": {
+ "type": "object",
+ "properties": {
+ "allow": {
+ "type": "string"
+ },
+ "deny": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/definitions/ChannelPermissionOverwriteType"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "allow",
+ "deny",
+ "id",
+ "type"
+ ]
+ },
+ "Invite": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "temporary": {
+ "type": "boolean"
+ },
+ "uses": {
+ "type": "integer"
+ },
+ "max_uses": {
+ "type": "integer"
+ },
+ "max_age": {
+ "type": "integer"
+ },
+ "created_at": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "expires_at": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "channel_id": {
+ "type": "string"
+ },
+ "channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "inviter_id": {
+ "type": "string"
+ },
+ "inviter": {
+ "$ref": "#/definitions/User"
+ },
+ "target_user_id": {
+ "type": "string"
+ },
+ "target_user": {
+ "type": "string"
+ },
+ "target_user_type": {
+ "type": "integer"
+ },
+ "vanity_url": {
+ "type": "boolean"
+ },
+ "flags": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel",
+ "channel_id",
+ "code",
+ "created_at",
+ "flags",
+ "guild",
+ "guild_id",
+ "inviter",
+ "max_age",
+ "max_uses",
+ "target_user_id",
+ "temporary",
+ "uses"
+ ]
+ },
+ "Message": {
+ "type": "object",
+ "properties": {
+ "channel_id": {
+ "type": "string"
+ },
+ "channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "author_id": {
+ "type": "string"
+ },
+ "author": {
+ "$ref": "#/definitions/User"
+ },
+ "member_id": {
+ "type": "string"
+ },
+ "member": {
+ "$ref": "#/definitions/Member"
+ },
+ "webhook_id": {
+ "type": "string"
+ },
+ "webhook": {
+ "$ref": "#/definitions/Webhook"
+ },
+ "application_id": {
+ "type": "string"
+ },
+ "application": {
+ "$ref": "#/definitions/Application"
+ },
+ "content": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "edited_timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "tts": {
+ "type": "boolean"
+ },
+ "mention_everyone": {
+ "type": "boolean"
+ },
+ "mentions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ "mention_roles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "mention_channels": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Channel"
+ }
+ },
+ "sticker_items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Sticker"
+ }
+ },
+ "attachments": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Attachment"
+ }
+ },
+ "embeds": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Embed"
+ }
+ },
+ "reactions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Reaction"
+ }
+ },
+ "nonce": {
+ "type": "string"
+ },
+ "pinned": {
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/definitions/MessageType"
+ },
+ "activity": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "integer"
+ },
+ "party_id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "party_id",
+ "type"
+ ]
+ },
+ "flags": {
+ "type": "integer"
+ },
+ "message_reference": {
+ "type": "object",
+ "properties": {
+ "message_id": {
+ "type": "string"
+ },
+ "channel_id": {
+ "type": "string"
+ },
+ "guild_id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "message_id"
+ ]
+ },
+ "referenced_message": {
+ "$ref": "#/definitions/Message"
+ },
+ "interaction": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/definitions/InteractionType"
+ },
+ "name": {
+ "type": "string"
+ },
+ "user_id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "name",
+ "type",
+ "user_id"
+ ]
+ },
+ "components": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MessageComponent"
+ }
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel",
+ "embeds",
+ "id",
+ "mention_channels",
+ "mention_roles",
+ "mentions",
+ "reactions",
+ "timestamp",
+ "type"
+ ]
+ },
+ "Member": {
+ "type": "object",
+ "properties": {
+ "index": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "nick": {
+ "type": "string"
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "joined_at": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "premium_since": {
+ "type": "integer"
+ },
+ "deaf": {
+ "type": "boolean"
+ },
+ "mute": {
+ "type": "boolean"
+ },
+ "pending": {
+ "type": "boolean"
+ },
+ "settings": {
+ "$ref": "#/definitions/UserGuildSettings"
+ },
+ "last_message_id": {
+ "type": "string"
+ },
+ "joined_by": {
+ "type": "string"
+ },
+ "avatar": {
+ "type": "string"
+ },
+ "banner": {
+ "type": "string"
+ },
+ "bio": {
+ "type": "string"
+ },
+ "theme_colors": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "pronouns": {
+ "type": "string"
+ },
+ "communication_disabled_until": {
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "banner",
+ "bio",
+ "communication_disabled_until",
+ "deaf",
+ "guild",
+ "guild_id",
+ "id",
+ "index",
+ "joined_at",
+ "joined_by",
+ "mute",
+ "pending",
+ "roles",
+ "settings",
+ "user"
+ ]
+ },
+ "Role": {
+ "type": "object",
+ "properties": {
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "color": {
+ "type": "integer"
+ },
+ "hoist": {
+ "type": "boolean"
+ },
+ "managed": {
+ "type": "boolean"
+ },
+ "mentionable": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "permissions": {
+ "type": "string"
+ },
+ "position": {
+ "type": "integer"
+ },
+ "icon": {
+ "type": "string"
+ },
+ "unicode_emoji": {
+ "type": "string"
+ },
+ "tags": {
+ "type": "object",
+ "properties": {
+ "bot_id": {
+ "type": "string"
+ },
+ "integration_id": {
+ "type": "string"
+ },
+ "premium_subscriber": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false
+ },
+ "flags": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "color",
+ "flags",
+ "guild",
+ "guild_id",
+ "hoist",
+ "id",
+ "managed",
+ "mentionable",
+ "name",
+ "permissions",
+ "position"
+ ]
+ },
+ "UserGuildSettings": {
+ "type": "object",
+ "properties": {
+ "channel_overrides": {
+ "anyOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/ChannelOverride"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "message_notifications": {
+ "type": "integer"
+ },
+ "mobile_push": {
+ "type": "boolean"
+ },
+ "mute_config": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/MuteConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "muted": {
+ "type": "boolean"
+ },
+ "suppress_everyone": {
+ "type": "boolean"
+ },
+ "suppress_roles": {
+ "type": "boolean"
+ },
+ "version": {
+ "type": "integer"
+ },
+ "guild_id": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "flags": {
+ "type": "integer"
+ },
+ "mute_scheduled_events": {
+ "type": "boolean"
+ },
+ "hide_muted_channels": {
+ "type": "boolean"
+ },
+ "notify_highlights": {
+ "type": "number",
+ "enum": [
+ 0
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel_overrides",
+ "flags",
+ "guild_id",
+ "hide_muted_channels",
+ "message_notifications",
+ "mobile_push",
+ "mute_config",
+ "mute_scheduled_events",
+ "muted",
+ "notify_highlights",
+ "suppress_everyone",
+ "suppress_roles",
+ "version"
+ ]
+ },
+ "Webhook": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/WebhookType"
+ },
+ "name": {
+ "type": "string"
+ },
+ "avatar": {
+ "type": "string"
+ },
+ "token": {
+ "type": "string"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "channel_id": {
+ "type": "string"
+ },
+ "channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "application_id": {
+ "type": "string"
+ },
+ "application": {
+ "$ref": "#/definitions/Application"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "source_guild_id": {
+ "type": "string"
+ },
+ "source_guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "application",
+ "application_id",
+ "channel",
+ "channel_id",
+ "guild",
+ "guild_id",
+ "id",
+ "source_guild",
+ "source_guild_id",
+ "type",
+ "user",
+ "user_id"
+ ]
+ },
+ "WebhookType": {
+ "enum": [
+ 1,
+ 2,
+ 3
+ ],
+ "type": "number"
+ },
+ "Application": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "icon": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string",
+ "default": ""
+ },
+ "type": {
+ "type": "object",
+ "properties": {},
+ "additionalProperties": true
+ },
+ "hook": {
+ "type": "boolean",
+ "default": true
+ },
+ "bot_public": {
+ "type": "boolean",
+ "default": true
+ },
+ "bot_require_code_grant": {
+ "type": "boolean",
+ "default": false
+ },
+ "verify_key": {
+ "type": "string"
+ },
+ "owner": {
+ "$ref": "#/definitions/User"
+ },
+ "flags": {
+ "type": "integer",
+ "default": 0
+ },
+ "redirect_uris": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "default": []
+ },
+ "rpc_application_state": {
+ "type": "integer",
+ "default": 0
+ },
+ "store_application_state": {
+ "type": "integer",
+ "default": 1
+ },
+ "verification_state": {
+ "type": "integer",
+ "default": 1
+ },
+ "interactions_endpoint_url": {
+ "type": "string"
+ },
+ "integration_public": {
+ "type": "boolean",
+ "default": true
+ },
+ "integration_require_code_grant": {
+ "type": "boolean",
+ "default": false
+ },
+ "discoverability_state": {
+ "type": "integer",
+ "default": 1
+ },
+ "discovery_eligibility_flags": {
+ "type": "integer",
+ "default": 2240
+ },
+ "bot": {
+ "$ref": "#/definitions/User"
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cover_image": {
+ "type": "string"
+ },
+ "install_params": {
+ "type": "object",
+ "properties": {
+ "scopes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "permissions": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "permissions",
+ "scopes"
+ ]
+ },
+ "terms_of_service_url": {
+ "type": "string"
+ },
+ "privacy_policy_url": {
+ "type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/Team"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "description",
+ "discoverability_state",
+ "discovery_eligibility_flags",
+ "flags",
+ "hook",
+ "id",
+ "integration_public",
+ "integration_require_code_grant",
+ "name",
+ "owner",
+ "redirect_uris",
+ "rpc_application_state",
+ "store_application_state",
+ "summary",
+ "verification_state",
+ "verify_key"
+ ]
+ },
+ "Team": {
+ "type": "object",
+ "properties": {
+ "icon": {
+ "type": "string"
+ },
+ "members": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TeamMember"
+ }
+ },
+ "name": {
+ "type": "string"
+ },
+ "owner_user_id": {
+ "type": "string"
+ },
+ "owner_user": {
+ "$ref": "#/definitions/User"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "members",
+ "name",
+ "owner_user",
+ "owner_user_id"
+ ]
+ },
+ "TeamMember": {
+ "type": "object",
+ "properties": {
+ "membership_state": {
+ "$ref": "#/definitions/TeamMemberState"
+ },
+ "permissions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "team_id": {
+ "type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/Team"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "membership_state",
+ "permissions",
+ "team",
+ "team_id",
+ "user",
+ "user_id"
+ ]
+ },
+ "TeamMemberState": {
+ "enum": [
+ 1,
+ 2
+ ],
+ "type": "number"
+ },
+ "Sticker": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "available": {
+ "type": "boolean"
+ },
+ "tags": {
+ "type": "string"
+ },
+ "pack_id": {
+ "type": "string"
+ },
+ "pack": {
+ "$ref": "#/definitions/StickerPack"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "type": {
+ "$ref": "#/definitions/StickerType"
+ },
+ "format_type": {
+ "$ref": "#/definitions/StickerFormatType"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "format_type",
+ "id",
+ "name",
+ "pack",
+ "type"
+ ]
+ },
+ "StickerPack": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "banner_asset_id": {
+ "type": "string"
+ },
+ "stickers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Sticker"
+ }
+ },
+ "cover_sticker_id": {
+ "type": "string"
+ },
+ "cover_sticker": {
+ "$ref": "#/definitions/Sticker"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "name",
+ "stickers"
+ ]
+ },
+ "StickerType": {
+ "enum": [
+ 1,
+ 2
+ ],
+ "type": "number"
+ },
+ "StickerFormatType": {
+ "enum": [
+ 0,
+ 1,
+ 2,
+ 3
+ ],
+ "type": "number"
+ },
+ "Attachment": {
+ "type": "object",
+ "properties": {
+ "filename": {
+ "type": "string"
+ },
+ "size": {
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ },
+ "proxy_url": {
+ "type": "string"
+ },
+ "height": {
+ "type": "integer"
+ },
+ "width": {
+ "type": "integer"
+ },
+ "content_type": {
+ "type": "string"
+ },
+ "message_id": {
+ "type": "string"
+ },
+ "message": {
+ "$ref": "#/definitions/Message"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "filename",
+ "id",
+ "message",
+ "message_id",
+ "proxy_url",
+ "size",
+ "url"
+ ]
+ },
+ "Reaction": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "emoji": {
+ "$ref": "#/definitions/PartialEmoji"
+ },
+ "user_ids": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "count",
+ "emoji",
+ "user_ids"
+ ]
+ },
+ "PartialEmoji": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "animated": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name"
+ ]
+ },
+ "MessageType": {
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 19,
+ 2,
+ 20,
+ 255,
+ 3,
+ 4,
+ 41,
+ 42,
+ 43,
+ 5,
+ 50,
+ 6,
+ 63,
+ 7,
+ 8,
+ 9
+ ],
+ "type": "number"
+ },
+ "InteractionType": {
+ "enum": [
+ 0,
+ 1,
+ 2
+ ],
+ "type": "number"
+ },
+ "MessageComponent": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "integer"
+ },
+ "style": {
+ "type": "integer"
+ },
+ "label": {
+ "type": "string"
+ },
+ "emoji": {
+ "$ref": "#/definitions/PartialEmoji"
+ },
+ "custom_id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "disabled": {
+ "type": "boolean"
+ },
+ "components": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MessageComponent"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "components",
+ "type"
+ ]
+ },
+ "VoiceState": {
+ "type": "object",
+ "properties": {
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "channel_id": {
+ "type": "string"
+ },
+ "channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "member": {
+ "$ref": "#/definitions/Member"
+ },
+ "session_id": {
+ "type": "string"
+ },
+ "token": {
+ "type": "string"
+ },
+ "deaf": {
+ "type": "boolean"
+ },
+ "mute": {
+ "type": "boolean"
+ },
+ "self_deaf": {
+ "type": "boolean"
+ },
+ "self_mute": {
+ "type": "boolean"
+ },
+ "self_stream": {
+ "type": "boolean"
+ },
+ "self_video": {
+ "type": "boolean"
+ },
+ "suppress": {
+ "type": "boolean"
+ },
+ "request_to_speak_timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel",
+ "channel_id",
+ "deaf",
+ "guild_id",
+ "id",
+ "member",
+ "mute",
+ "self_deaf",
+ "self_mute",
+ "self_video",
+ "session_id",
+ "suppress",
+ "token",
+ "user",
+ "user_id"
+ ]
+ },
+ "ReadState": {
+ "type": "object",
+ "properties": {
+ "channel_id": {
+ "type": "string"
+ },
+ "channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "last_message_id": {
+ "type": "string"
+ },
+ "public_ack": {
+ "type": "string"
+ },
+ "notifications_cursor": {
+ "type": "string"
+ },
+ "last_pin_timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "mention_count": {
+ "type": "integer"
+ },
+ "manual": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel",
+ "channel_id",
+ "id",
+ "last_message_id",
+ "manual",
+ "mention_count",
+ "notifications_cursor",
+ "public_ack",
+ "user",
+ "user_id"
+ ]
+ },
+ "Ban": {
+ "type": "object",
+ "properties": {
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "executor_id": {
+ "type": "string"
+ },
+ "executor": {
+ "$ref": "#/definitions/User"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "reason": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "executor",
+ "executor_id",
+ "guild",
+ "guild_id",
+ "id",
+ "ip",
+ "user",
+ "user_id"
+ ]
+ },
+ "Template": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "usage_count": {
+ "type": "integer"
+ },
+ "creator_id": {
+ "type": "string"
+ },
+ "creator": {
+ "$ref": "#/definitions/User"
+ },
+ "created_at": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "updated_at": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "source_guild_id": {
+ "type": "string"
+ },
+ "source_guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "serialized_source_guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "code",
+ "created_at",
+ "creator",
+ "creator_id",
+ "id",
+ "name",
+ "serialized_source_guild",
+ "source_guild",
+ "source_guild_id",
+ "updated_at"
+ ]
+ },
+ "Emoji": {
+ "type": "object",
+ "properties": {
+ "animated": {
+ "type": "boolean"
+ },
+ "available": {
+ "type": "boolean"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "managed": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "require_colons": {
+ "type": "boolean"
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "groups": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "animated",
+ "available",
+ "groups",
+ "guild",
+ "guild_id",
+ "id",
+ "managed",
+ "name",
+ "require_colons",
+ "roles",
+ "user",
+ "user_id"
+ ]
+ },
+ "GuildWelcomeScreen": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "description": {
+ "type": "string"
+ },
+ "welcome_channels": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "emoji_id": {
+ "type": "string"
+ },
+ "emoji_name": {
+ "type": "string"
+ },
+ "channel_id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel_id",
+ "description"
+ ]
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "description",
+ "enabled",
+ "welcome_channels"
+ ]
+ },
+ "GuildMessagesSearchMessage": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/definitions/MessageType"
+ },
+ "content": {
+ "type": "string"
+ },
+ "channel_id": {
+ "type": "string"
+ },
+ "author": {
+ "$ref": "#/definitions/PublicUser"
+ },
+ "attachments": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -230789,7 +235086,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -231551,7 +235848,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -232066,7 +236363,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -235032,7 +239329,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -235794,7 +240091,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -236309,7 +240606,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -239247,7 +243544,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -240009,7 +244306,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -240524,7 +244821,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -243452,7 +247749,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -244214,7 +248511,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -244729,7 +249026,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -247663,7 +251960,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -248425,7 +252722,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -248940,7 +253237,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -251885,7 +256182,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -252647,7 +256944,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -253162,7 +257459,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -256121,7 +260418,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -256883,7 +261180,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -257398,7 +261695,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -260328,7 +264625,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -261090,7 +265387,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -261605,7 +265902,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -264538,7 +268835,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -265300,7 +269597,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -265815,7 +270112,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -268777,7 +273074,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -269539,7 +273836,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -270054,7 +274351,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -272984,7 +277281,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -273746,7 +278043,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -274261,7 +278558,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -277270,7 +281567,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -278032,7 +282329,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -278547,7 +282844,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -281484,7 +285781,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -282246,7 +286543,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -282761,7 +287058,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -285691,7 +289988,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -286453,7 +290750,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -286968,7 +291265,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -289898,7 +294195,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -290660,7 +294957,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -291175,7 +295472,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -294112,7 +298409,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -294874,7 +299171,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -295389,7 +299686,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -298323,7 +302620,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -299085,7 +303382,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -299600,7 +303897,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -302530,7 +306827,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -303292,7 +307589,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -303807,7 +308104,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -306812,7 +311109,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -307574,7 +311871,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -308089,7 +312386,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -311030,7 +315327,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -311792,7 +316089,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -312307,7 +316604,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -315249,7 +319546,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -316011,7 +320308,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -316526,7 +320823,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -319518,7 +323815,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -320280,7 +324577,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -320795,7 +325092,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -323746,7 +328043,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -324508,7 +328805,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -325023,7 +329320,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -327980,7 +332277,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -328742,7 +333039,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -329257,7 +333554,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -332208,7 +336505,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -332970,7 +337267,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -333485,7 +337782,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -336415,7 +340712,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -337177,7 +341474,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -337692,7 +341989,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -340650,7 +344947,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -341412,7 +345709,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -341927,7 +346224,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -344897,7 +349194,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -345659,7 +349956,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -346174,7 +350471,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -349098,7 +353395,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -349860,7 +354157,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -350375,7 +354672,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -353309,7 +357606,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -354071,7 +358368,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -354586,7 +358883,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -357516,7 +361813,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -358278,7 +362575,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -358793,7 +363090,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -361730,7 +366027,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -362492,7 +366789,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -363007,7 +367304,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -366148,7 +370445,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -366910,7 +371207,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -367425,7 +371722,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -370346,7 +374643,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -371108,7 +375405,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -371623,7 +375920,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -374638,7 +378935,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -375400,7 +379697,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -375915,7 +380212,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -378839,7 +383136,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -379601,7 +383898,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -380116,7 +384413,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -383040,7 +387337,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -383802,7 +388099,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -384317,7 +388614,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -387241,7 +391538,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -388003,7 +392300,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -388518,7 +392815,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -391536,7 +395833,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -392298,7 +396595,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -392813,7 +397110,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -395735,7 +400032,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -396497,7 +400794,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -397012,7 +401309,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -399934,7 +404231,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -400696,7 +404993,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -401211,7 +405508,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -404133,7 +408430,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -404895,7 +409192,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -405410,7 +409707,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -408334,7 +412631,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -409096,7 +413393,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -409611,7 +413908,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -412535,7 +416832,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -413297,7 +417594,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -413812,7 +418109,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -416736,7 +421033,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -417498,7 +421795,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -418013,7 +422310,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -420937,7 +425234,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -421699,7 +425996,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -422214,7 +426511,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -425138,7 +429435,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -425900,7 +430197,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -426415,7 +430712,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -429403,7 +433700,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -430165,7 +434462,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -430680,7 +434977,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -433604,7 +437901,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -434366,7 +438663,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -434881,7 +439178,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -437805,7 +442102,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -438567,7 +442864,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -439082,7 +443379,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -442006,7 +446303,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -442768,7 +447065,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -443283,7 +447580,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -446254,7 +450551,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -447016,7 +451313,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -447531,7 +451828,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -450691,7 +454988,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -451453,7 +455750,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -451968,7 +456265,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -454892,7 +459189,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -455654,7 +459951,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -456169,7 +460466,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -459093,7 +463390,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -459855,7 +464152,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -460370,7 +464667,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -463294,7 +467591,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -464056,7 +468353,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -464571,7 +468868,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -467495,7 +471792,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -468257,7 +472554,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -468772,7 +473069,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -471722,7 +476019,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -472484,7 +476781,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -472999,7 +477296,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -475923,7 +480220,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -476685,7 +480982,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -477200,7 +481497,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -480145,7 +484442,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -480907,7 +485204,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -481422,7 +485719,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -484360,7 +488657,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -485122,7 +489419,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -485637,7 +489934,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -488687,7 +492984,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -489449,7 +493746,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -489964,7 +494261,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -492906,7 +497203,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -493668,7 +497965,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -494183,7 +498480,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -497131,7 +501428,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -497893,7 +502190,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -498408,7 +502705,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -501342,7 +505639,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -502104,7 +506401,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -502619,7 +506916,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -505553,7 +509850,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -506315,7 +510612,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -506830,7 +511127,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -509751,7 +514048,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -510513,7 +514810,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -511028,7 +515325,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -513961,7 +518258,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -514723,7 +519020,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -515238,7 +519535,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -518186,7 +522483,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -518948,7 +523245,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -519463,7 +523760,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -522415,7 +526712,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -523177,7 +527474,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -523692,7 +527989,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -526623,7 +530920,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -527385,7 +531682,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -527900,7 +532197,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -530830,7 +535127,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -531592,7 +535889,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -532107,7 +536404,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -535037,7 +539334,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -535799,7 +540096,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -536314,7 +540611,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -539250,7 +543547,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
@@ -540012,7 +544309,7 @@
],
"type": "number"
},
- "Attachment_1": {
+ "Attachment": {
"type": "object",
"properties": {
"filename": {
@@ -540527,7 +544824,7 @@
"attachments": {
"type": "array",
"items": {
- "$ref": "#/definitions/Attachment_1"
+ "$ref": "#/definitions/Attachment"
}
},
"embeds": {
diff --git a/src/api/middlewares/Authentication.ts b/src/api/middlewares/Authentication.ts
index 9e41b453..a6cad51c 100644
--- a/src/api/middlewares/Authentication.ts
+++ b/src/api/middlewares/Authentication.ts
@@ -16,8 +16,8 @@
along with this program. If not, see .
*/
-import { checkToken, Rights } from "@spacebar/util";
import * as Sentry from "@sentry/node";
+import { checkToken, Rights } from "@spacebar/util";
import { NextFunction, Request, Response } from "express";
import { HTTPError } from "lambert-server";
@@ -32,7 +32,7 @@ export const NO_AUTHORIZATION_ROUTES = [
"/auth/forgot",
"/auth/reset",
// Routes with a seperate auth system
- "/webhooks/",
+ /\/webhooks\/\d+\/\w+\/?/, // no token requires auth
// Public information endpoints
"/ping",
"/gateway",
diff --git a/src/api/routes/channels/#channel_id/webhooks.ts b/src/api/routes/channels/#channel_id/webhooks.ts
index d54756a1..4c1ccbdf 100644
--- a/src/api/routes/channels/#channel_id/webhooks.ts
+++ b/src/api/routes/channels/#channel_id/webhooks.ts
@@ -26,8 +26,8 @@ import {
WebhookCreateSchema,
WebhookType,
handleFile,
- trimSpecial,
isTextChannel,
+ trimSpecial,
} from "@spacebar/util";
import crypto from "crypto";
import { Request, Response, Router } from "express";
@@ -35,10 +35,12 @@ import { HTTPError } from "lambert-server";
const router: Router = Router();
-//TODO: implement webhooks
router.get(
"/",
route({
+ description:
+ "Returns a list of channel webhook objects. Requires the MANAGE_WEBHOOKS permission.",
+ permission: "MANAGE_WEBHOOKS",
responses: {
200: {
body: "APIWebhookArray",
@@ -46,7 +48,18 @@ router.get(
},
}),
async (req: Request, res: Response) => {
- res.json([]);
+ const { channel_id } = req.params;
+ const webhooks = await Webhook.find({
+ where: { channel_id },
+ relations: [
+ "user",
+ "guild",
+ "source_guild",
+ "application" /*"source_channel"*/,
+ ],
+ });
+
+ return res.json(webhooks);
},
);
@@ -89,15 +102,15 @@ router.post(
if (avatar) avatar = await handleFile(`/avatars/${channel_id}`, avatar);
- const hook = Webhook.create({
+ const hook = await Webhook.create({
type: WebhookType.Incoming,
name,
avatar,
guild_id: channel.guild_id,
channel_id: channel.id,
user_id: req.user_id,
- token: crypto.randomBytes(24).toString("base64"),
- });
+ token: crypto.randomBytes(24).toString("base64url"),
+ }).save();
const user = await User.getPublicUser(req.user_id);
diff --git a/src/api/routes/guilds/#guild_id/webhooks.ts b/src/api/routes/guilds/#guild_id/webhooks.ts
index d58659a4..a2ef7d69 100644
--- a/src/api/routes/guilds/#guild_id/webhooks.ts
+++ b/src/api/routes/guilds/#guild_id/webhooks.ts
@@ -16,12 +16,37 @@
along with this program. If not, see .
*/
-import { Router, Response, Request } from "express";
import { route } from "@spacebar/api";
+import { Webhook } from "@spacebar/util";
+import { Request, Response, Router } from "express";
const router = Router();
-//TODO: implement webhooks
-router.get("/", route({}), async (req: Request, res: Response) => {
- res.json([]);
-});
+router.get(
+ "/",
+ route({
+ description:
+ "Returns a list of guild webhook objects. Requires the MANAGE_WEBHOOKS permission.",
+ permission: "MANAGE_WEBHOOKS",
+ responses: {
+ 200: {
+ body: "APIWebhookArray",
+ },
+ },
+ }),
+ async (req: Request, res: Response) => {
+ const { guild_id } = req.params;
+ const webhooks = await Webhook.find({
+ where: { guild_id },
+ relations: [
+ "user",
+ "guild",
+ "source_guild",
+ "application" /*"source_channel"*/,
+ ],
+ });
+
+ return res.json(webhooks);
+ },
+);
+
export default router;
diff --git a/src/api/routes/webhooks/#webhook_id/#token/index.ts b/src/api/routes/webhooks/#webhook_id/#token/index.ts
new file mode 100644
index 00000000..b47502b4
--- /dev/null
+++ b/src/api/routes/webhooks/#webhook_id/#token/index.ts
@@ -0,0 +1,215 @@
+import { handleMessage, route } from "@spacebar/api";
+import {
+ Attachment,
+ Config,
+ DiscordApiErrors,
+ FieldErrors,
+ Message,
+ Webhook,
+ WebhookExecuteSchema,
+ uploadFile,
+} from "@spacebar/util";
+import { Request, Response, Router } from "express";
+import { HTTPError } from "lambert-server";
+import multer from "multer";
+import { MoreThan } from "typeorm";
+const router = Router();
+
+router.get(
+ "/",
+ route({
+ description: "Returns a webhook object for the given id.",
+ responses: {
+ 200: {
+ body: "APIWebhook",
+ },
+ 404: {},
+ },
+ }),
+ async (req: Request, res: Response) => {
+ const { webhook_id, token } = req.params;
+ const webhook = await Webhook.findOne({
+ where: {
+ id: webhook_id,
+ },
+ relations: ["channel", "guild", "application"],
+ });
+
+ if (!webhook) {
+ throw DiscordApiErrors.UNKNOWN_WEBHOOK;
+ }
+
+ if (webhook.token !== token) {
+ throw DiscordApiErrors.INVALID_WEBHOOK_TOKEN_PROVIDED;
+ }
+
+ return res.json(webhook);
+ },
+);
+
+// TODO: config max upload size
+const messageUpload = multer({
+ limits: {
+ fileSize: Config.get().limits.message.maxAttachmentSize,
+ fields: 10,
+ // files: 1
+ },
+ storage: multer.memoryStorage(),
+}); // max upload 50 mb
+
+// https://discord.com/developers/docs/resources/webhook#execute-webhook
+router.post(
+ "/",
+ messageUpload.any(),
+ (req, res, next) => {
+ if (req.body.payload_json) {
+ req.body = JSON.parse(req.body.payload_json);
+ }
+
+ next();
+ },
+ route({
+ requestBody: "WebhookExecuteSchema",
+ query: {
+ wait: {
+ type: "boolean",
+ required: false,
+ description:
+ "waits for server confirmation of message send before response, and returns the created message body",
+ },
+ thread_id: {
+ type: "string",
+ required: false,
+ description:
+ "Send a message to the specified thread within a webhook's channel.",
+ },
+ },
+ responses: {
+ 204: {},
+ 400: {
+ body: "APIErrorResponse",
+ },
+ 404: {},
+ },
+ }),
+ async (req: Request, res: Response) => {
+ const { webhook_id, token } = req.params;
+ const body = req.body as WebhookExecuteSchema;
+ const attachments: Attachment[] = [];
+
+ // ensure one of content, embeds, components, or file is present
+ if (
+ !body.content &&
+ !body.embeds &&
+ !body.components &&
+ !body.file &&
+ !body.attachments
+ ) {
+ throw DiscordApiErrors.CANNOT_SEND_EMPTY_MESSAGE;
+ }
+
+ // block username from containing certain words
+ // TODO: configurable additions
+ const blockedContains = ["discord", "clyde", "spacebar"];
+ for (const word of blockedContains) {
+ if (body.username?.toLowerCase().includes(word)) {
+ return res.status(400).json({
+ username: [`Username cannot contain "${word}"`],
+ });
+ }
+ }
+
+ // block username from being certain words
+ // TODO: configurable additions
+ const blockedEquals = ["everyone", "here"];
+ for (const word of blockedEquals) {
+ if (body.username?.toLowerCase() === word) {
+ return res.status(400).json({
+ username: [`Username cannot be "${word}"`],
+ });
+ }
+ }
+
+ const webhook = await Webhook.findOne({
+ where: {
+ id: webhook_id,
+ },
+ relations: ["channel", "guild", "application"],
+ });
+
+ if (!webhook) {
+ throw DiscordApiErrors.UNKNOWN_WEBHOOK;
+ }
+
+ if (!webhook.channel.isWritable()) {
+ throw new HTTPError(
+ `Cannot send messages to channel of type ${webhook.channel.type}`,
+ 400,
+ );
+ }
+
+ if (webhook.token !== token) {
+ throw DiscordApiErrors.INVALID_WEBHOOK_TOKEN_PROVIDED;
+ }
+
+ // TODO: creating messages by users checks if the user can bypass rate limits, we cant do that on webhooks, but maybe we could check the application if there is one?
+ const limits = Config.get().limits;
+ if (limits.absoluteRate.register.enabled) {
+ const count = await Message.count({
+ where: {
+ channel_id: webhook.channel_id,
+ timestamp: MoreThan(
+ new Date(
+ Date.now() - limits.absoluteRate.sendMessage.window,
+ ),
+ ),
+ },
+ });
+
+ if (count >= limits.absoluteRate.sendMessage.limit)
+ throw FieldErrors({
+ channel_id: {
+ code: "TOO_MANY_MESSAGES",
+ message: req.t("common:toomany.MESSAGE"),
+ },
+ });
+ }
+
+ const files = (req.files as Express.Multer.File[]) ?? [];
+ for (const currFile of files) {
+ try {
+ const file = await uploadFile(
+ `/attachments/${webhook.channel.id}`,
+ currFile,
+ );
+ attachments.push(
+ Attachment.create({ ...file, proxy_url: file.url }),
+ );
+ } catch (error) {
+ return res.status(400).json({ message: error?.toString() });
+ }
+ }
+
+ // TODO: set username and avatar based on body
+
+ const embeds = body.embeds || [];
+ const message = await handleMessage({
+ ...body,
+ type: 0,
+ pinned: false,
+ webhook_id: webhook.id,
+ application_id: webhook.application?.id,
+ embeds,
+ channel_id: webhook.channel_id,
+ attachments,
+ timestamp: new Date(),
+ });
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ //@ts-ignore dont care2
+ message.edited_timestamp = null;
+
+ webhook.channel.last_message_id = message.id;
+ },
+);
+
+export default router;
diff --git a/src/api/routes/webhooks/#webhook_id/index.ts b/src/api/routes/webhooks/#webhook_id/index.ts
new file mode 100644
index 00000000..cc8c0386
--- /dev/null
+++ b/src/api/routes/webhooks/#webhook_id/index.ts
@@ -0,0 +1,32 @@
+import { route } from "@spacebar/api";
+import { Webhook } from "@spacebar/util";
+import { Request, Response, Router } from "express";
+const router = Router();
+
+router.get(
+ "/",
+ route({
+ description: "Returns a webhook object for the given id.",
+ responses: {
+ 200: {
+ body: "APIWebhook",
+ },
+ 404: {},
+ },
+ }),
+ async (req: Request, res: Response) => {
+ const { webhook_id } = req.params;
+ const webhook = await Webhook.findOneOrFail({
+ where: { id: webhook_id },
+ relations: [
+ "user",
+ "guild",
+ "source_guild",
+ "application" /*"source_channel"*/,
+ ],
+ });
+ return res.json(webhook);
+ },
+);
+
+export default router;
diff --git a/src/util/schemas/MessageCreateSchema.ts b/src/util/schemas/MessageCreateSchema.ts
index 57abf62f..8093a10a 100644
--- a/src/util/schemas/MessageCreateSchema.ts
+++ b/src/util/schemas/MessageCreateSchema.ts
@@ -18,7 +18,7 @@
import { Embed } from "@spacebar/util";
-type Attachment = {
+export type MessageCreateAttachment = {
id: string;
filename: string;
};
@@ -52,7 +52,7 @@ export interface MessageCreateSchema {
TODO: we should create an interface for attachments
TODO: OpenWAAO<-->attachment-style metadata conversion
**/
- attachments?: Attachment[];
+ attachments?: MessageCreateAttachment[];
sticker_ids?: string[];
// eslint-disable-next-line @typescript-eslint/no-explicit-any
components?: any[];
diff --git a/src/util/schemas/WebhookCreateSchema.ts b/src/util/schemas/WebhookCreateSchema.ts
index f92cb63e..7bd0afa8 100644
--- a/src/util/schemas/WebhookCreateSchema.ts
+++ b/src/util/schemas/WebhookCreateSchema.ts
@@ -16,7 +16,6 @@
along with this program. If not, see .
*/
-// TODO: webhooks
export interface WebhookCreateSchema {
/**
* @maxLength 80
diff --git a/src/util/schemas/WebhookExecuteSchema.ts b/src/util/schemas/WebhookExecuteSchema.ts
new file mode 100644
index 00000000..943cbe9e
--- /dev/null
+++ b/src/util/schemas/WebhookExecuteSchema.ts
@@ -0,0 +1,46 @@
+/*
+ Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+ Copyright (C) 2023 Spacebar and Spacebar Contributors
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
+import { Embed } from "../entities";
+import { MessageCreateAttachment } from "./MessageCreateSchema";
+
+export interface WebhookExecuteSchema {
+ content?: string;
+ username?: string;
+ avatar_url?: string;
+ tts?: boolean;
+ embeds?: Embed[];
+ allowed_mentions?: {
+ parse?: string[];
+ roles?: string[];
+ users?: string[];
+ replied_user?: boolean;
+ };
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ components?: any[];
+ file?: { filename: string };
+ payload_json?: string;
+ /**
+ TODO: we should create an interface for attachments
+ TODO: OpenWAAO<-->attachment-style metadata conversion
+ **/
+ attachments?: MessageCreateAttachment[];
+ flags?: number;
+ thread_name?: string;
+ applied_tags?: string[];
+}
diff --git a/src/util/schemas/index.ts b/src/util/schemas/index.ts
index 44a504cd..4812b535 100644
--- a/src/util/schemas/index.ts
+++ b/src/util/schemas/index.ts
@@ -79,5 +79,6 @@ export * from "./VoiceStateUpdateSchema";
export * from "./VoiceVideoSchema";
export * from "./WebAuthnSchema";
export * from "./WebhookCreateSchema";
+export * from "./WebhookExecuteSchema";
export * from "./WidgetModifySchema";
export * from "./responses";
diff --git a/src/util/util/Constants.ts b/src/util/util/Constants.ts
index e68bb0b7..112b0cc4 100644
--- a/src/util/util/Constants.ts
+++ b/src/util/util/Constants.ts
@@ -576,7 +576,7 @@ export const DiscordApiErrors = {
UNKNOWN_TOKEN: new ApiError("Unknown token", 10012),
UNKNOWN_USER: new ApiError("Unknown user", 10013),
UNKNOWN_EMOJI: new ApiError("Unknown emoji", 10014),
- UNKNOWN_WEBHOOK: new ApiError("Unknown webhook", 10015),
+ UNKNOWN_WEBHOOK: new ApiError("Unknown webhook", 10015, 404),
UNKNOWN_WEBHOOK_SERVICE: new ApiError("Unknown webhook service", 10016),
UNKNOWN_CONNECTION: new ApiError("Unknown connection", 10017, 400),
UNKNOWN_SESSION: new ApiError("Unknown session", 10020),