2023-03-15 14:09:09 +00:00
|
|
|
import Command from "../../classes/command.js";
|
|
|
|
import imageDetect from "../../utils/imagedetect.js";
|
|
|
|
import { selectedImages } from "../../utils/collections.js";
|
|
|
|
|
|
|
|
class SelectImageCommand extends Command {
|
|
|
|
async run() {
|
|
|
|
await this.acknowledge();
|
|
|
|
const message = this.interaction.data.target;
|
|
|
|
const image = await imageDetect(this.client, message, this.interaction, this.options, true, false, false, true);
|
|
|
|
this.success = false;
|
|
|
|
if (image === undefined) {
|
|
|
|
return "I couldn't find an image in that message!";
|
|
|
|
} else if (image.type === "large") {
|
|
|
|
return "That image is too large (>= 25MB)! Try using a smaller image.";
|
|
|
|
} else if (image.type === "tenorlimit") {
|
|
|
|
return "I've been rate-limited by Tenor. Please try uploading your GIF elsewhere.";
|
|
|
|
}
|
2023-03-15 14:12:35 +00:00
|
|
|
selectedImages.set(this.author, image);
|
2023-03-15 14:09:09 +00:00
|
|
|
return "The image has been selected for your next command.";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-09-01 01:00:34 +00:00
|
|
|
export default SelectImageCommand;
|