mirror of
https://github.com/spacebarchat/server.git
synced 2024-11-10 04:32:35 +01:00
Merge branch 'master' into feat/webhooks-3
This commit is contained in:
commit
4ca79adcae
@ -635,14 +635,51 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"MessageComponent": {
|
"ActionRowComponent": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"type": {
|
"type": {
|
||||||
"type": "integer"
|
"$ref": "#/components/schemas/MessageComponentType.ActionRow"
|
||||||
|
},
|
||||||
|
"components": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/ButtonComponent"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/SelectMenuComponent"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/StringSelectMenuComponent"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/TextInputComponent"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"components",
|
||||||
|
"type"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"MessageComponentType.ActionRow": {
|
||||||
|
"type": "number",
|
||||||
|
"enum": [
|
||||||
|
1
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ButtonComponent": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"type": {
|
||||||
|
"$ref": "#/components/schemas/MessageComponentType.Button"
|
||||||
},
|
},
|
||||||
"style": {
|
"style": {
|
||||||
"type": "integer"
|
"$ref": "#/components/schemas/ButtonStyle"
|
||||||
},
|
},
|
||||||
"label": {
|
"label": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
@ -661,19 +698,30 @@
|
|||||||
},
|
},
|
||||||
"disabled": {
|
"disabled": {
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
},
|
|
||||||
"components": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"$ref": "#/components/schemas/MessageComponent"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
"components",
|
"style",
|
||||||
"type"
|
"type"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"MessageComponentType.Button": {
|
||||||
|
"type": "number",
|
||||||
|
"enum": [
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ButtonStyle": {
|
||||||
|
"enum": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4,
|
||||||
|
5,
|
||||||
|
6
|
||||||
|
],
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
"PartialEmoji": {
|
"PartialEmoji": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
@ -691,6 +739,199 @@
|
|||||||
"name"
|
"name"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"SelectMenuComponent": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"type": {
|
||||||
|
"enum": [
|
||||||
|
3,
|
||||||
|
5,
|
||||||
|
6,
|
||||||
|
7,
|
||||||
|
8
|
||||||
|
],
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
"custom_id": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"channel_types": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "integer"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"placeholder": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"default_values": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/components/schemas/SelectMenuDefaultOption"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"min_values": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"max_values": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"disabled": {
|
||||||
|
"type": "boolean"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"custom_id",
|
||||||
|
"type"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"SelectMenuDefaultOption": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"enum": [
|
||||||
|
"channel",
|
||||||
|
"role",
|
||||||
|
"user"
|
||||||
|
],
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"id",
|
||||||
|
"type"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"StringSelectMenuComponent": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"type": {
|
||||||
|
"$ref": "#/components/schemas/MessageComponentType.StringSelect"
|
||||||
|
},
|
||||||
|
"options": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/components/schemas/SelectMenuOption"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"custom_id": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"channel_types": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "integer"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"placeholder": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"default_values": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/components/schemas/SelectMenuDefaultOption"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"min_values": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"max_values": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"disabled": {
|
||||||
|
"type": "boolean"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"custom_id",
|
||||||
|
"options",
|
||||||
|
"type"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"MessageComponentType.StringSelect": {
|
||||||
|
"type": "number",
|
||||||
|
"enum": [
|
||||||
|
3
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"SelectMenuOption": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"label": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"value": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"emoji": {
|
||||||
|
"$ref": "#/components/schemas/PartialEmoji"
|
||||||
|
},
|
||||||
|
"default": {
|
||||||
|
"type": "boolean"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"label",
|
||||||
|
"value"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"TextInputComponent": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"type": {
|
||||||
|
"$ref": "#/components/schemas/MessageComponentType.TextInput"
|
||||||
|
},
|
||||||
|
"custom_id": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"style": {
|
||||||
|
"$ref": "#/components/schemas/TextInputStyle"
|
||||||
|
},
|
||||||
|
"label": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"min_length": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"max_length": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"required": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"value": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"placeholder": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"custom_id",
|
||||||
|
"label",
|
||||||
|
"style",
|
||||||
|
"type"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"MessageComponentType.TextInput": {
|
||||||
|
"type": "number",
|
||||||
|
"enum": [
|
||||||
|
4
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"TextInputStyle": {
|
||||||
|
"enum": [
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
"PollCreationSchema": {
|
"PollCreationSchema": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
@ -2263,7 +2504,7 @@
|
|||||||
"components": {
|
"components": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "#/components/schemas/MessageComponent"
|
"$ref": "#/components/schemas/ActionRowComponent"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"poll": {
|
"poll": {
|
||||||
@ -3504,7 +3745,7 @@
|
|||||||
"components": {
|
"components": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "#/components/schemas/MessageComponent"
|
"$ref": "#/components/schemas/ActionRowComponent"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"poll": {
|
"poll": {
|
||||||
@ -4146,12 +4387,17 @@
|
|||||||
"type": "integer",
|
"type": "integer",
|
||||||
"default": 65535
|
"default": 65535
|
||||||
},
|
},
|
||||||
|
"maxBulkBanUsers": {
|
||||||
|
"type": "integer",
|
||||||
|
"default": 200
|
||||||
|
},
|
||||||
"maxChannelsInCategory": {
|
"maxChannelsInCategory": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"default": 65535
|
"default": 65535
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
|
"maxBulkBanUsers",
|
||||||
"maxChannels",
|
"maxChannels",
|
||||||
"maxChannelsInCategory",
|
"maxChannelsInCategory",
|
||||||
"maxEmojis",
|
"maxEmojis",
|
||||||
@ -5684,7 +5930,7 @@
|
|||||||
"components": {
|
"components": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "#/components/schemas/MessageComponent"
|
"$ref": "#/components/schemas/ActionRowComponent"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"poll": {
|
"poll": {
|
||||||
@ -5829,7 +6075,7 @@
|
|||||||
"components": {
|
"components": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "#/components/schemas/MessageComponent"
|
"$ref": "#/components/schemas/ActionRowComponent"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"poll": {
|
"poll": {
|
||||||
|
39748
assets/schemas.json
39748
assets/schemas.json
File diff suppressed because it is too large
Load Diff
@ -130,19 +130,25 @@ router.get(
|
|||||||
query.take = Math.floor(limit / 2);
|
query.take = Math.floor(limit / 2);
|
||||||
if (query.take != 0) {
|
if (query.take != 0) {
|
||||||
const [right, left] = await Promise.all([
|
const [right, left] = await Promise.all([
|
||||||
Message.find({ ...query, where: { id: LessThan(around) } }),
|
|
||||||
Message.find({
|
Message.find({
|
||||||
...query,
|
...query,
|
||||||
where: { id: MoreThanOrEqual(around) },
|
where: { channel_id, id: LessThan(around) },
|
||||||
|
}),
|
||||||
|
Message.find({
|
||||||
|
...query,
|
||||||
|
where: { channel_id, id: MoreThanOrEqual(around) },
|
||||||
|
order: { timestamp: "ASC" },
|
||||||
}),
|
}),
|
||||||
]);
|
]);
|
||||||
left.push(...right);
|
left.push(...right);
|
||||||
messages = left;
|
messages = left.sort(
|
||||||
|
(a, b) => a.timestamp.getTime() - b.timestamp.getTime(),
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
query.take = 1;
|
query.take = 1;
|
||||||
const message = await Message.findOne({
|
const message = await Message.findOne({
|
||||||
...query,
|
...query,
|
||||||
where: { id: around },
|
where: { channel_id, id: around },
|
||||||
});
|
});
|
||||||
messages = message ? [message] : [];
|
messages = message ? [message] : [];
|
||||||
}
|
}
|
||||||
@ -151,6 +157,7 @@ router.get(
|
|||||||
if (BigInt(after) > BigInt(Snowflake.generate()))
|
if (BigInt(after) > BigInt(Snowflake.generate()))
|
||||||
return res.status(422);
|
return res.status(422);
|
||||||
query.where.id = MoreThan(after);
|
query.where.id = MoreThan(after);
|
||||||
|
query.order = { timestamp: "ASC" };
|
||||||
} else if (before) {
|
} else if (before) {
|
||||||
if (BigInt(before) > BigInt(Snowflake.generate()))
|
if (BigInt(before) > BigInt(Snowflake.generate()))
|
||||||
return res.status(422);
|
return res.status(422);
|
||||||
|
@ -27,6 +27,7 @@ import {
|
|||||||
} from "@spacebar/util";
|
} from "@spacebar/util";
|
||||||
import { Request, Response, Router } from "express";
|
import { Request, Response, Router } from "express";
|
||||||
import { HTTPError } from "lambert-server";
|
import { HTTPError } from "lambert-server";
|
||||||
|
import { Config } from "@spacebar/util";
|
||||||
|
|
||||||
const router: Router = Router();
|
const router: Router = Router();
|
||||||
|
|
||||||
@ -52,7 +53,8 @@ router.post(
|
|||||||
|
|
||||||
const userIds: Array<string> = req.body.user_ids;
|
const userIds: Array<string> = req.body.user_ids;
|
||||||
if (!userIds) throw new HTTPError("The user_ids array is missing", 400);
|
if (!userIds) throw new HTTPError("The user_ids array is missing", 400);
|
||||||
if (userIds.length > 200)
|
|
||||||
|
if (userIds.length > Config.get().limits.guild.maxBulkBanUsers)
|
||||||
throw new HTTPError(
|
throw new HTTPError(
|
||||||
"The user_ids array must be between 1 and 200 in length",
|
"The user_ids array must be between 1 and 200 in length",
|
||||||
400,
|
400,
|
||||||
|
@ -120,7 +120,7 @@ router.patch(
|
|||||||
if (!body.password)
|
if (!body.password)
|
||||||
throw FieldErrors({
|
throw FieldErrors({
|
||||||
password: {
|
password: {
|
||||||
message: req.t("auth:register.INVALID_PASSWORD"),
|
message: req.t("auth:login.INVALID_PASSWORD"),
|
||||||
code: "INVALID_PASSWORD",
|
code: "INVALID_PASSWORD",
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@ -160,6 +160,15 @@ router.patch(
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!body.password) {
|
||||||
|
throw FieldErrors({
|
||||||
|
password: {
|
||||||
|
message: req.t("auth:login.INVALID_PASSWORD"),
|
||||||
|
code: "INVALID_PASSWORD",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (body.discriminator) {
|
if (body.discriminator) {
|
||||||
|
@ -21,5 +21,6 @@ export class GuildLimits {
|
|||||||
maxEmojis: number = 2000;
|
maxEmojis: number = 2000;
|
||||||
maxMembers: number = 25000000;
|
maxMembers: number = 25000000;
|
||||||
maxChannels: number = 65535;
|
maxChannels: number = 65535;
|
||||||
|
maxBulkBanUsers: number = 200;
|
||||||
maxChannelsInCategory: number = 65535;
|
maxChannelsInCategory: number = 65535;
|
||||||
}
|
}
|
||||||
|
@ -216,7 +216,7 @@ export class Message extends BaseClass {
|
|||||||
};
|
};
|
||||||
|
|
||||||
@Column({ type: "simple-json", nullable: true })
|
@Column({ type: "simple-json", nullable: true })
|
||||||
components?: MessageComponent[];
|
components?: ActionRowComponent[];
|
||||||
|
|
||||||
@Column({ type: "simple-json", nullable: true })
|
@Column({ type: "simple-json", nullable: true })
|
||||||
poll?: Poll;
|
poll?: Poll;
|
||||||
@ -259,21 +259,100 @@ export class Message extends BaseClass {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface MessageComponent {
|
export interface MessageComponent {
|
||||||
type: number;
|
type: MessageComponentType;
|
||||||
style?: number;
|
}
|
||||||
|
|
||||||
|
export interface ActionRowComponent extends MessageComponent {
|
||||||
|
type: MessageComponentType.ActionRow;
|
||||||
|
components: (
|
||||||
|
| ButtonComponent
|
||||||
|
| StringSelectMenuComponent
|
||||||
|
| SelectMenuComponent
|
||||||
|
| TextInputComponent
|
||||||
|
)[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ButtonComponent extends MessageComponent {
|
||||||
|
type: MessageComponentType.Button;
|
||||||
|
style: ButtonStyle;
|
||||||
label?: string;
|
label?: string;
|
||||||
emoji?: PartialEmoji;
|
emoji?: PartialEmoji;
|
||||||
custom_id?: string;
|
custom_id?: string;
|
||||||
sku_id?: string;
|
sku_id?: string;
|
||||||
url?: string;
|
url?: string;
|
||||||
disabled?: boolean;
|
disabled?: boolean;
|
||||||
components: MessageComponent[];
|
}
|
||||||
|
|
||||||
|
export enum ButtonStyle {
|
||||||
|
Primary = 1,
|
||||||
|
Secondary = 2,
|
||||||
|
Success = 3,
|
||||||
|
Danger = 4,
|
||||||
|
Link = 5,
|
||||||
|
Premium = 6,
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SelectMenuComponent extends MessageComponent {
|
||||||
|
type:
|
||||||
|
| MessageComponentType.StringSelect
|
||||||
|
| MessageComponentType.UserSelect
|
||||||
|
| MessageComponentType.RoleSelect
|
||||||
|
| MessageComponentType.MentionableSelect
|
||||||
|
| MessageComponentType.ChannelSelect;
|
||||||
|
custom_id: string;
|
||||||
|
channel_types?: number[];
|
||||||
|
placeholder?: string;
|
||||||
|
default_values?: SelectMenuDefaultOption[]; // only for non-string selects
|
||||||
|
min_values?: number;
|
||||||
|
max_values?: number;
|
||||||
|
disabled?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SelectMenuOption {
|
||||||
|
label: string;
|
||||||
|
value: string;
|
||||||
|
description?: string;
|
||||||
|
emoji?: PartialEmoji;
|
||||||
|
default?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SelectMenuDefaultOption {
|
||||||
|
id: string;
|
||||||
|
type: "user" | "role" | "channel";
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface StringSelectMenuComponent extends SelectMenuComponent {
|
||||||
|
type: MessageComponentType.StringSelect;
|
||||||
|
options: SelectMenuOption[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface TextInputComponent extends MessageComponent {
|
||||||
|
type: MessageComponentType.TextInput;
|
||||||
|
custom_id: string;
|
||||||
|
style: TextInputStyle;
|
||||||
|
label: string;
|
||||||
|
min_length?: number;
|
||||||
|
max_length?: number;
|
||||||
|
required?: boolean;
|
||||||
|
value?: string;
|
||||||
|
placeholder?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum TextInputStyle {
|
||||||
|
Short = 1,
|
||||||
|
Paragraph = 2,
|
||||||
}
|
}
|
||||||
|
|
||||||
export enum MessageComponentType {
|
export enum MessageComponentType {
|
||||||
Script = 0, // self command script
|
Script = 0, // self command script
|
||||||
ActionRow = 1,
|
ActionRow = 1,
|
||||||
Button = 2,
|
Button = 2,
|
||||||
|
StringSelect = 3,
|
||||||
|
TextInput = 4,
|
||||||
|
UserSelect = 5,
|
||||||
|
RoleSelect = 6,
|
||||||
|
MentionableSelect = 7,
|
||||||
|
ChannelSelect = 8,
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface Embed {
|
export interface Embed {
|
||||||
|
@ -16,7 +16,12 @@
|
|||||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Embed, MessageComponent, PollAnswer, PollMedia } from "@spacebar/util";
|
import {
|
||||||
|
ActionRowComponent,
|
||||||
|
Embed,
|
||||||
|
PollAnswer,
|
||||||
|
PollMedia,
|
||||||
|
} from "@spacebar/util";
|
||||||
|
|
||||||
export type MessageCreateAttachment = {
|
export type MessageCreateAttachment = {
|
||||||
id: string;
|
id: string;
|
||||||
@ -54,7 +59,7 @@ export interface MessageCreateSchema {
|
|||||||
**/
|
**/
|
||||||
attachments?: MessageCreateAttachment[];
|
attachments?: MessageCreateAttachment[];
|
||||||
sticker_ids?: string[];
|
sticker_ids?: string[];
|
||||||
components?: MessageComponent[];
|
components?: ActionRowComponent[];
|
||||||
// TODO: Fix TypeScript errors in src\api\util\handlers\Message.ts once this is enabled
|
// TODO: Fix TypeScript errors in src\api\util\handlers\Message.ts once this is enabled
|
||||||
poll?: PollCreationSchema;
|
poll?: PollCreationSchema;
|
||||||
enforce_nonce?: boolean; // For Discord compatibility, it's the default behavior here
|
enforce_nonce?: boolean; // For Discord compatibility, it's the default behavior here
|
||||||
|
@ -17,9 +17,9 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
ActionRowComponent,
|
||||||
Attachment,
|
Attachment,
|
||||||
Embed,
|
Embed,
|
||||||
MessageComponent,
|
|
||||||
MessageType,
|
MessageType,
|
||||||
Poll,
|
Poll,
|
||||||
PublicUser,
|
PublicUser,
|
||||||
@ -42,7 +42,7 @@ export interface GuildMessagesSearchMessage {
|
|||||||
timestamp: string;
|
timestamp: string;
|
||||||
edited_timestamp: string | null;
|
edited_timestamp: string | null;
|
||||||
flags: number;
|
flags: number;
|
||||||
components: MessageComponent[];
|
components: ActionRowComponent[];
|
||||||
poll: Poll;
|
poll: Poll;
|
||||||
hit: true;
|
hit: true;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user