تحسين صور 4X
javascriptv1MITنُشر ٢٨ يوليو ٢٠٢٦· ♥ 0 · ⬇ 1 · 💬 0
تحسين صور
// plugins/تحسين_صورة.js
// ♡ Raiden Shogun - Plane of Euthymia - تحسين الصور 🖼️
import axios from 'axios'
import FormData from 'form-data'
import { generateWAMessageFromContent, prepareWAMessageMedia, proto } from '@whiskeysockets/baileys'
import { theme } from '../core/theme.js'
async function imageUpscaler(buffer, filename = 'image.jpg', multiplier = 2) {
const pageRes = await fetch(
'https://www.iloveimg.com/id/tingkatkan-gambar',
{
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
}
}
)
const html = await pageRes.text()
const token = html.match(/"token":"([^"]+)"/)?.[1]
const taskId = html.match(/ilovepdfConfig\.taskId\s*=\s*'([^']+)'/)?.[1]
if (!token || !taskId) {
throw new Error('فشل الحصول على token/taskId')
}
const uploadForm = new FormData()
uploadForm.append('name', filename)
uploadForm.append('chunk', '0')
uploadForm.append('chunks', '1')
uploadForm.append('task', taskId)
uploadForm.append('preview', '1')
uploadForm.append('pdfinfo', '0')
uploadForm.append('pdfforms', '0')
uploadForm.append('pdfresetforms', '0')
uploadForm.append('v', 'web.0')
uploadForm.append('file', buffer, {
filename,
contentType: 'image/jpeg'
})
const uploadRes = await axios.post(
'https://api1g.iloveimg.com/v1/upload',
uploadForm,
{
headers: {
...uploadForm.getHeaders(),
Authorization: `Bearer ${token}`,
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
}
}
)
const serverFilename = uploadRes.data?.server_filename
if (!serverFilename) throw new Error('فشل الرفع')
const processForm = new FormData()
processForm.append('packaged_filename', 'iloveimg-upscaled')
processForm.append('multiplier', String(multiplier))
processForm.append('task', taskId)
processForm.append('tool', 'upscaleimage')
processForm.append('files[0][server_filename]', serverFilename)
processForm.append('files[0][filename]', filename)
const processRes = await axios.post(
'https://api1g.iloveimg.com/v1/process',
processForm,
{
headers: {
...processForm.getHeaders(),
Authorization: `Bearer ${token}`,
Origin: 'https://www.iloveimg.com',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
}
}
)
if (processRes.data?.status !== 'TaskSuccess') {
throw new Error('فشل المعالجة')
}
const downloadRes = await axios.get(
`https://api1g.iloveimg.com/v1/download/${taskId}`,
{
responseType: 'arraybuffer',
headers: {
Authorization: `Bearer ${token}`,
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
}
}
)
return Buffer.from(downloadRes.data)
}
// ⭐ تخزين الصورة مؤقتاً لاستخدامها في التحسين 4x
const imageCache = new Map()
let handler = async (m, { usedPrefix, command, conn, text }) => {
try {
// ⭐ لو المستخدم ضغط على زر "تحسين 4x"
if (text === '4x') {
const cachedImage = imageCache.get(m.sender)
if (!cachedImage) {
return m.reply('⏰ *انتهت الصلاحية*\nارفع صورة جديدة وحاول مرة أخرى')
}
await conn.sendMessage(m.chat, { react: { text: '⏳', key: m.key } })
await m.reply('🔄 *جاري تحسين الصورة إلى 4x HDR...*')
const result = await imageUpscaler(cachedImage, `image_${Date.now()}.jpg`, 4)
imageCache.delete(m.sender)
await conn.sendMessage(m.chat, {
image: result,
caption: `🌟 *تم تحسين الصورة 4x HDR*\n⚡ ${global.watermark}`
}, { quoted: m })
return conn.sendMessage(m.chat, { react: { text: '✅', key: m.key } })
}
// ⭐ تحسين عادي 2x
const quoted = m.quoted ? m.quoted : m
const mime = (quoted.msg || quoted).mimetype || ''
if (!/image/i.test(mime)) {
return conn.sendMessage(m.chat, {
text: theme.build([
{ type: 'title', text: '🖼️ تـحـسـيـن الـصـور' },
{ type: 'divider' },
{ type: 'line', text: 'رد على صورة لتحسين جودتها' },
{ type: 'info', label: '📌 .تحسين', value: 'تحسين 2x مع إمكانية 4x' }
])
}, { quoted: m })
}
await conn.sendMessage(m.chat, { react: { text: '⏳', key: m.key } })
await m.reply('🔄 *جاري تحسين الصورة 2x...*')
const media = await quoted.download()
const result = await imageUpscaler(media, `image_${Date.now()}.jpg`, 2)
// ⭐ تخزين الصورة الأصلية لإمكانية تحسينها 4x
imageCache.set(m.sender, media)
setTimeout(() => imageCache.delete(m.sender), 300000) // تنتهي بعد 5 دقائق
// ⭐ تحضير الصورة المحسنة
const imgMsg = await prepareWAMessageMedia(
{ image: result },
{ upload: conn.waUploadToServer }
)
// ⭐ إرسال الصورة مع زر تحسين 4x
const messageId = `HD_${Date.now()}`
const interactiveMessage = {
body: { text: `✨ *تم تحسين الصورة 2x*\n\nهل تريد تحسينها إلى 4x HDR؟` },
footer: { text: global.watermark || '♡ Raiden Shogun ♡' },
header: {
hasMediaAttachment: true,
imageMessage: imgMsg.imageMessage
},
nativeFlowMessage: {
buttons: [{
name: 'quick_reply',
buttonParamsJson: JSON.stringify({
display_text: '🌟 تحسين 4x HDR',
id: `${usedPrefix}${command} 4x`
})
}],
messageParamsJson: "{}"
}
}
const msg = generateWAMessageFromContent(m.chat, {
viewOnceMessage: { message: { interactiveMessage } }
}, { userJid: conn.user.jid, quoted: m })
await conn.relayMessage(m.chat, msg.message, {
messageId,
additionalNodes: [
{
tag: "biz",
attrs: {},
content: [
{
tag: "interactive",
attrs: { type: "native_flow", v: "1" },
content: [
{ tag: "native_flow", attrs: { v: "9", name: "mixed" } }
]
}
]
}
]
})
await conn.sendMessage(m.chat, { react: { text: '✅', key: m.key } })
} catch (e) {
console.error('[HD] Error:', e)
await conn.sendMessage(m.chat, { react: { text: '❌', key: m.key } })
await m.reply(theme.build([
{ type: 'title', text: '❌ فـشـل الـتـحـسـيـن' },
{ type: 'error', text: e?.message || 'حدث خطأ غير معروف' }
]))
}
}
handler.help = ['تحسين', 'hd']
handler.tags = ['tools']
handler.command = /^(تحسين|hd)$/i
export default handler
التعليقات (0)
سجّل الدخول للتعليق.