
Isla Chan - Sharing
June 13, 2025 at 10:40 AM
/* *[ Fitur Unsplash ]*
Type? Case
Req: +62 815-xxxx-xxxx
Scrape: https://whatsapp.com/channel/0029VbANq6v0VycMue9vPs3u/134
*/
case 'unsplash': {
if (!text) return m.reply('Masukkan kata kunci pencarian!\nContoh: unsplash nature');
const axios = require('axios');
function formatDate(isoString) {
const date = new Date(isoString);
const day = String(date.getDate()).padStart(2, '0');
const month = String(date.getMonth() + 1).padStart(2, '0');
const year = date.getFullYear();
const hours = String(date.getHours()).padStart(2, '0');
const minutes = String(date.getMinutes()).padStart(2, '0');
return `${day}-${month}-${year} ${hours}:${minutes}`;
}
async function unsplashSearch(query) {
try {
const { data } = await axios.get(`https://unsplash.com/napi/search/photos?page=${Math.floor(Math.random() * 100) + 1}&per_page=20&query=${encodeURIComponent(query)}`);
return data.results.map(res => ({
title: res.alt_description || 'No Title',
likes: res.likes,
is_premium: res.premium,
is_plus: res.plus,
author: {
name: res.user.name,
username: res.user.username,
avatar: res.user.profile_image.large,
url: `https://unsplash.com/@${res.user.username}`
},
thumbnail: res.urls,
created_at: formatDate(res.created_at),
updated_at: formatDate(res.updated_at),
downloadUrl: res.links.download,
url: res.links.html
}));
} catch (e) {
console.error(e);
return [];
}
}
let results = await unsplashSearch(text);
if (!results.length) return m.reply('❌ Tidak ada hasil ditemukan dari Unsplash.');
let teks = `📷 *Hasil Pencarian Unsplash*\n🔎 Kata kunci: *${text}*\n\n`;
results.slice(0, 5).forEach((r, i) => {
teks += `📌 *${r.title}*\n👍 Likes: ${r.likes}\n👤 Author: ${r.author.name} (@${r.author.username})\n🗓️ Upload: ${r.created_at}\n🔗 Link: ${r.url}\n📥 Download: ${r.downloadUrl}\n\n`;
});
m.reply(teks);
}
break