Merge branch 'master' into fix/messageLinkMetas
This commit is contained in:
commit
c7551a83b8
@ -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"
|
||||||
},
|
},
|
||||||
|
@ -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({
|
||||||
|
@ -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,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user