Handle attachment correctly

This commit is contained in:
Supositware 2022-11-24 21:11:53 +01:00
parent 5a6119bc42
commit 3b60fee0df

View file

@ -2,7 +2,7 @@
* Make this shit work.
*/
import { EmbedBuilder, PermissionFlagsBits } from 'discord.js';
import { ApplicationCommandOptionType, EmbedBuilder, PermissionFlagsBits } from 'discord.js';
import db from '../../models/index.js';
import { rand } from '../../utils/rand.js';
const ratelimit = {};
@ -369,14 +369,21 @@ export default {
});
};
const args = {};
const argsLength = command.data.options.length;
command.data.options.forEach(obj => {
if (obj.type === ApplicationCommandOptionType.Attachment) {
args[obj.name] = message.attachments.first();
}
});
for (let i = 0, j = 0; i < argsLength; i++, j++) {
if (!messageArgs[i]) continue;
const arg = command.data.options[j];
const type = arg.constructor.name.toLowerCase();
if (arg.type === ApplicationCommandOptionType.Attachment) continue;
let payloadName = arg.name;
let payload = messageArgs[i];
if (i >= argsLength - 1) {
payload = messageArgs.slice(i).join(' ');
}
@ -386,13 +393,11 @@ export default {
payload = true;
j--;
}
else if (type.includes('mentionable')) {
if (arg.type === ApplicationCommandOptionType.Mentionable) {
await message.guild.members.fetch();
payload = message.mentions.members.first() ? message.mentions.members.first() : message.guild.members.cache.find(u => u.user.username.toLowerCase().includes(payload.toLowerCase()));
}
else if (type.includes('attachment')) {
payload = message.attachments.first();
}
args[payloadName] = payload;
}