javascript
67 lines ยท 1,663 chars
import axios from "axios";
import te from "../../src/lib/ourin-error.js";
import cfg from "../../config.js";
import { ImageUploadService } from "node-upload-images";
const config = {
name: "remini",
alias: ["hd", "enhance", "upscale"],
category: "tools",
description: "Enhance gambar jadi HD",
usage: ".remini (reply gambar)",
example: ".remini",
cooldown: 15,
energi: 1,
isEnabled: true,
};
const API = "https://api.obscuraworks.org/api/v2/tools/upscale";
const KEY = cfg.APIkey.obscura;
async function up(url) {
const r = await axios.get(`${API}?url=${encodeURIComponent(url)}`, {
headers: {
Accept: "application/json, image/*",
Authorization: `Bearer ${KEY}`,
},
responseType: "arraybuffer",
timeout: 120000,
});
return Buffer.from(r.data);
}
async function ul(buf) {
const service = new ImageUploadService("pixhost.to");
const { directLink } = await service.uploadFromBinary(buf, "img.jpg");
return directLink;
}
async function handler(m, { sock }) {
const img = m.isImage || (m.quoted && m.quoted.type === "imageMessage");
if (!img) {
return m.reply(
`*๐ช HD IMAGE*\n> Reply gambar\n\n\`\`\`${m.prefix}remini\`\`\``,
);
}
m.react("๐");
try {
let b = m.quoted?.isMedia ? await m.quoted.download() : await m.download();
const u = await ul(b);
const r = await up(u);
m.react("โ
");
await sock.sendMedia(m.chat, r, null, m, { type: "image" });
} catch (e) {
console.log(e);
m.react("โข");
m.reply(te(m.prefix, m.command, m.pushName));
}
}
export { config, handler };