Merge branch 'master' into fix/messageLinkMetas

This commit is contained in:
Madeline 2022-07-17 20:49:49 +10:00
commit c7551a83b8
3 changed files with 38 additions and 28 deletions

View File

@ -2,12 +2,18 @@
"MessageCreateSchema": { "MessageCreateSchema": {
"type": "object", "type": "object",
"properties": { "properties": {
"type": {
"type": "integer"
},
"content": { "content": {
"type": "string" "type": "string"
}, },
"nonce": { "nonce": {
"type": "string" "type": "string"
}, },
"channel_id": {
"type": "string"
},
"tts": { "tts": {
"type": "boolean" "type": "boolean"
}, },

View File

@ -50,8 +50,10 @@ export function isTextChannel(type: ChannelType): boolean {
} }
export interface MessageCreateSchema { export interface MessageCreateSchema {
type?: number;
content?: string; content?: string;
nonce?: string; nonce?: string;
channel_id?: string;
tts?: boolean; tts?: boolean;
flags?: string; flags?: string;
embeds?: Embed[]; embeds?: Embed[];
@ -161,7 +163,7 @@ const messageUpload = multer({
limits: { limits: {
fileSize: 1024 * 1024 * 100, fileSize: 1024 * 1024 * 100,
fields: 10, fields: 10,
files: 1 // files: 1
}, },
storage: multer.memoryStorage() storage: multer.memoryStorage()
}); // max upload 50 mb }); // max upload 50 mb
@ -176,7 +178,7 @@ const messageUpload = multer({
// Send message // Send message
router.post( router.post(
"/", "/",
messageUpload.single("file"), messageUpload.any(),
async (req, res, next) => { async (req, res, next) => {
if (req.body.payload_json) { if (req.body.payload_json) {
req.body = JSON.parse(req.body.payload_json); req.body = JSON.parse(req.body.payload_json);
@ -190,19 +192,22 @@ router.post(
var body = req.body as MessageCreateSchema; var body = req.body as MessageCreateSchema;
const attachments: Attachment[] = []; const attachments: Attachment[] = [];
if (req.file) {
try {
const file = await uploadFile(`/attachments/${req.params.channel_id}`, req.file);
attachments.push({ ...file, proxy_url: file.url });
} catch (error) {
return res.status(400).json(error);
}
}
const channel = await Channel.findOneOrFail({ where: { id: channel_id }, relations: ["recipients", "recipients.user"] }); const channel = await Channel.findOneOrFail({ where: { id: channel_id }, relations: ["recipients", "recipients.user"] });
if (!channel.isWritable()) { if (!channel.isWritable()) {
throw new HTTPError(`Cannot send messages to channel of type ${channel.type}`, 400) throw new HTTPError(`Cannot send messages to channel of type ${channel.type}`, 400)
} }
const files = req.files as Express.Multer.File[] ?? [];
for (var currFile of files) {
try {
const file = await uploadFile(`/attachments/${channel.id}`, currFile);
attachments.push({ ...file, proxy_url: file.url });
}
catch (error) {
return res.status(400).json(error);
}
}
const embeds = body.embeds || []; const embeds = body.embeds || [];
if (body.embed) embeds.push(body.embed); if (body.embed) embeds.push(body.embed);
let message = await handleMessage({ let message = await handleMessage({

View File

@ -233,30 +233,30 @@ export const DefaultConfigOptions: ConfigValue = {
}, },
limits: { limits: {
user: { user: {
maxGuilds: 100, maxGuilds: 1048576,
maxUsername: 32, maxUsername: 127,
maxFriends: 1000, maxFriends: 5000,
}, },
guild: { guild: {
maxRoles: 250, maxRoles: 1000,
maxEmojis: 50, // TODO: max emojis per guild per nitro level maxEmojis: 2000,
maxMembers: 250000, maxMembers: 25000000,
maxChannels: 500, maxChannels: 65535,
maxChannelsInCategory: 50, maxChannelsInCategory: 65535,
hideOfflineMember: 1000, hideOfflineMember: 3,
}, },
message: { message: {
maxCharacters: 2000, maxCharacters: 1048576,
maxTTSCharacters: 200, maxTTSCharacters: 160,
maxReactions: 20, maxReactions: 2048,
maxAttachmentSize: 8388608, maxAttachmentSize: 1024 * 1024 * 1024,
maxEmbedDownloadSize: 1024 * 1024 * 5, maxEmbedDownloadSize: 1024 * 1024 * 5,
maxBulkDelete: 100, maxBulkDelete: 1000,
}, },
channel: { channel: {
maxPins: 50, maxPins: 500,
maxTopic: 1024, maxTopic: 1024,
maxWebhooks: 10, maxWebhooks: 100,
}, },
rate: { rate: {
disabled: true, disabled: true,
@ -265,9 +265,8 @@ export const DefaultConfigOptions: ConfigValue = {
window: 5, window: 5,
}, },
global: { global: {
count: 20, count: 250,
window: 5, window: 5,
bot: 250,
}, },
error: { error: {
count: 10, count: 10,