goat
command
lyrics
get lyrics video
0
views
0
likes
0
installs
Aliases: lrvideo
raw source
const { GoatWrapper } = require('fca-liane-utils');
const axios = require('axios');
async function getStreamFromURL(url) {
const response = await axios.get(url, { responseType: 'stream' });
return response.data;
}
async function fetchLyricsVideos(query) {
try {
const response = await axios.get(`https://short-video-api-by-arafat.vercel.app/arafat?keyword=${encodeURIComponent(query + " lyrics video")}`);
return response.data;
} catch (error) {
console.error("API Error:", error);
return null;
}
}
module.exports = {
config: {
name: "lyrics",
aliases: ["lrvideo"],
author: "๐๐ฟ๐ฎ๐ณ๐ฎ๐",
version: "1.0",
shortDescription: {
en: "get lyrics video",
},
longDescription: {
en: "search for songs' lyrics videos",
},
category: "๐ ๐๐๐๐",
guide: {
en: "{p}{n} [song name]",
},
},
onStart: async function ({ api, event, args }) {
const query = args.join(' ');
if (!query) {
return api.sendMessage("#๐ฅ๐ซ๐ฏ๐ข๐๐๐จ ๐๐จ๐ง๐ ๐ง๐๐ฆ๐", event.threadID, event.messageID);
}
api.setMessageReaction("๐ฆ", event.messageID, () => {}, true);
const videos = await fetchLyricsVideos(query);
if (!Array.isArray(videos) || videos.length === 0) {
return api.sendMessage(`"${query}" ๐๐จ๐ญ ๐
๐จ๐ฎ๐ง๐`, event.threadID, event.messageID);
}
const selectedVideo = videos[Math.floor(Math.random() * videos.length)];
const videoUrl = selectedVideo.videoUrl;
if (!videoUrl) {
return api.sendMessage("๐๐จ ๐ฅ๐ฒ๐ซ๐ข๐๐ฌ ๐๐ข๐๐๐จ ๐
๐จ๐ฎ๐ง๐", event.threadID, event.messageID);
}
try {
const videoStream = await getStreamFromURL(videoUrl);
await api.sendMessage({
body: `๐๐ฒ๐ซ๐ข๐๐ฌ: ${query}`,
attachment: videoStream,
}, event.threadID, event.messageID);
} catch (error) {
console.error(error);
api.sendMessage("๐๐ซ๐ซ๐จ๐ซ ๐๐๐๐ฒ ๐ฅบ", event.threadID, event.messageID);
}
},
};
const wrapper = new GoatWrapper(module.exports);
wrapper.applyNoPrefix({ allowPrefix: true });