1
0
mirror of https://github.com/spacebarchat/server.git synced 2024-11-06 10:52:31 +01:00

Can no longer send messages to channel types that do not support it ( categories, voice etc )

This commit is contained in:
Madeline 2022-04-23 01:28:03 +10:00
parent 5c27b52334
commit 1319e0c04e
No known key found for this signature in database
GPG Key ID: 1958E017C36F2E47
2 changed files with 16 additions and 0 deletions

View File

@ -183,6 +183,9 @@ router.post(
}
}
const channel = await Channel.findOneOrFail({ where: { id: channel_id }, relations: ["recipients", "recipients.user"] });
if (!channel.isWritable()) {
throw new HTTPError(`Cannot send messages to channel of type ${channel.type}`, 400)
}
const embeds = body.embeds || [];
if (body.embed) embeds.push(body.embed);
@ -220,6 +223,8 @@ router.post(
})
);
}
//Fix for the client bug
delete message.member

View File

@ -352,6 +352,17 @@ export class Channel extends BaseClass {
isDm() {
return this.type === ChannelType.DM || this.type === ChannelType.GROUP_DM;
}
// Does the channel support sending messages ( eg categories do not )
isWritable() {
const disallowedChannelTypes = [
ChannelType.GUILD_CATEGORY,
ChannelType.GUILD_VOICE, // TODO: Remove this when clients can send messages to voice channels on discord.com
ChannelType.GUILD_STAGE_VOICE,
ChannelType.VOICELESS_WHITEBOARD,
];
return disallowedChannelTypes.indexOf(this.type) == -1;
}
}
export interface ChannelPermissionOverwrite {