1
0
mirror of https://github.com/spacebarchat/server.git synced 2024-09-19 17:21:35 +02:00

Prettier & fix merge util/handlers/Message

This commit is contained in:
TomatoCake 2024-07-18 14:42:22 +02:00
parent 128b81bc6a
commit 15a2e57b05

View File

@ -43,16 +43,12 @@ import {
//CHANNEL_MENTION, //CHANNEL_MENTION,
USER_MENTION, USER_MENTION,
Webhook, Webhook,
Attachment, handleFile,
Config, Permissions,
Sticker,
MessageCreateSchema,
EmbedCache,
} from "@spacebar/util"; } from "@spacebar/util";
import { HTTPError } from "lambert-server"; import { HTTPError } from "lambert-server";
import { In } from "typeorm"; import { In } from "typeorm";
import { EmbedHandlers } from "@spacebar/api"; import fetch from "node-fetch";
import * as Sentry from "@sentry/node";
const allow_empty = false; const allow_empty = false;
// TODO: check webhook, application, system author, stickers // TODO: check webhook, application, system author, stickers
// TODO: embed gifs/videos/images // TODO: embed gifs/videos/images
@ -167,28 +163,36 @@ export async function handleMessage(opts: MessageOptions): Promise<Message> {
message.member = permission.cache.member; message.member = permission.cache.member;
} }
if (opts.tts) permission.hasThrow("SEND_TTS_MESSAGES"); if (opts.tts) permission.hasThrow("SEND_TTS_MESSAGES");
if (opts.message_reference) { if (opts.message_reference) {
permission.hasThrow("READ_MESSAGE_HISTORY"); permission.hasThrow("READ_MESSAGE_HISTORY");
// code below has to be redone when we add custom message routing // code below has to be redone when we add custom message routing
if (message.guild_id !== null) { if (message.guild_id !== null) {
const guild = await Guild.findOneOrFail({ const guild = await Guild.findOneOrFail({
where: { id: channel.guild_id }, where: { id: channel.guild_id },
}); });
if (!guild.features.includes("CROSS_CHANNEL_REPLIES")) { if (!opts.message_reference.guild_id)
if (opts.message_reference.guild_id !== channel.guild_id) opts.message_reference.guild_id = channel.guild_id;
throw new HTTPError( if (!opts.message_reference.channel_id)
"You can only reference messages from this guild", opts.message_reference.channel_id = opts.channel_id;
);
if (opts.message_reference.channel_id !== opts.channel_id) if (!guild.features.includes("CROSS_CHANNEL_REPLIES")) {
throw new HTTPError( if (opts.message_reference.guild_id !== channel.guild_id)
"You can only reference messages from this channel", throw new HTTPError(
); "You can only reference messages from this guild",
);
if (opts.message_reference.channel_id !== opts.channel_id)
throw new HTTPError(
"You can only reference messages from this channel",
);
}
message.message_reference = opts.message_reference;
} }
/** Q: should be checked if the referenced message exists? ANSWER: NO
otherwise backfilling won't work **/
message.type = MessageType.REPLY;
} }
/** Q: should be checked if the referenced message exists? ANSWER: NO
otherwise backfilling won't work **/
message.type = MessageType.REPLY;
} }
// TODO: stickers/activity // TODO: stickers/activity