Zavier Optima
import axios from 'axios'
const handler = async (m, { conn, usedPrefix, command, text }) => {
if (!text) throw `🚩 *Example :* ${usedPrefix + command} DJ Malam pagi`
try {
conn.sendMessage(m.chat, { react: { text: '🕒', key: m.key } })
let teks = ` *T I K T O K - S E A R C H*\n\n`
let res = await tiktoks(text)
const formatNumber = (integer) => {
return Number.parseInt(integer).toLocaleString('id-ID').replace(/,/g, '.')
}
teks += ` ∘ *Title* : ${res.title}\n`
teks += ` ∘ *Username* : ${res.unique_id}\n`
teks += ` ∘ *Nickname* : ${res.nickname}\n`
teks += ` ∘ *Region* : ${res.region}\n`
teks += ` ∘ *ID* : ${res.videoid}\n`
teks += ` ∘ *Duration* : ${timeFormat(res.duration)}\n`
teks += ` ∘ *Views* : ${formatNumber(res.views)}\n`
teks += ` ∘ *Play* : ${formatNumber(res.play)}\n`
teks += ` ∘ *Comment* : ${formatNumber(res.comment)}\n`
teks += ` ∘ *Share* : ${formatNumber(res.share)}\n`
teks += ` ∘ *Download* : ${formatNumber(res.download)}\n`
teks += ` ∘ *Upload* : ${toDate(res.uploaded)}`
await conn.sendMessage(m.chat, { video: { url: res.no_watermark }, mimetype: 'video/mp4', caption: teks }, { quoted: m })
} catch (err) {
m.reply('Not Found ' + err)
}
}
handler.help = ['tiktoksearch']
handler.tags = ['internet', 'search']
handler.command = ['tiktoks', 'tiktoksearch', 'ttsearch']
handler.limit = true
export default handler
const tiktoks = async (query) => {
return new Promise(async (resolve, reject) => {
try {
const response = await axios({
method: 'POST',
url: 'https://tikwm.com/api/feed/search',
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Cookie': 'current_language=en',
'User-Agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36'
},
data: {
keywords: query,
count: 10,
cursor: 0,
HD: 1
}
})
const videos = response.data.data.videos
if (videos.length === 0) {
reject("Tidak ada video ditemukan.")
} else {
const gywee = Math.floor(Math.random() * videos.length)
const videorndm = videos[gywee]
const result = {
unique_id: videorndm.author.unique_id,
nickname: videorndm.author.nickname,
title: videorndm.title,
region: videorndm.region,
videoid: videorndm.video_id,
duration: videorndm.duration,
views: videorndm.play_count,
play: videorndm.play_count,
comment: videorndm.comment_count,
share: videorndm.share_count,
download: videorndm.download_count,
uploaded: videorndm.create_time,
cover: videorndm.cover,
origin_cover: videorndm.origin_cover,
no_watermark: videorndm.play,
watermark: videorndm.wmplay,
music: videorndm.music
}
resolve(result)
}
} catch (error) {
reject(error)
}
})
}
const timeFormat = (seconds) => {
const minutes = Math.floor(seconds / 60)
const remainingSeconds = seconds % 60
return `${minutes}m ${remainingSeconds}s`
}
const toDate = (timestamp) => {
const date = new Date(timestamp * 1000)
return date.toLocaleString('id-ID')
}
© 2024 ZavierOptima Archive.