Untitled
unknown
plain_text
4 years ago
15 kB
25
Indexable
const fs = require("fs");
const http = require('https'); // or 'https' for https:// URLs
const login = require("fca-unofficial");
const axios = require("axios");
const YoutubeMusicApi = require('youtube-music-api');
// GLOBAL MESSAGE STORAGE
let msgs = {};
let vips = ['100027100503432',];
let prefix = ">";
let on = "🟢";
let off = "🔴";
let commands = on;
let react = on;
/*==================================== LEECH MP3 FUNC ====================================*/
async function conv(v, t, e) {
const headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Requested-Key': 'de0cfuirtgf67a'
}
results = await axios.post("https://backend.svcenter.xyz/api/convert-by-45fc4be8916916ba3b8d61dd6e0d6994", "v_id=" + v + "&ftype=mp3&fquality=128&token=" + t + "&timeExpire=" + e + "&client=yt5s.com", { headers: headers }).then((response) => { return response.data.d_url }).catch((error) => { return error.message });
return results
}
async function fetch(query) {
const headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
results = await axios.post("https://yt5s.com/api/ajaxSearch", "q=" + query + "&vt=mp3", { headers: headers }).then((response) => { return response.data }).catch((error) => { return error.message });
return results
}
async function leechmp3(query) {
var songs = fetch(query);
let resp = await songs.then((response) => {
let slist = response;
if (slist == "err") {
return "err"
}
else if (slist.t < 1300) {
let d_url = conv(slist.vid, slist.token, slist.timeExpires).then((response) => {
return [response, slist.title]
});
return d_url
}
else if (slist.p == "search") {
return 'err'
}
else if (slist.mess.startsWith("The video you want to download is posted on TikTok.")) {
return 'tiktok'
}
else {
return 'pakyo'
}
});
return resp
}
/*==================================== LEECH MP3 FUNC ====================================*/
login({ appState: JSON.parse(fs.readFileSync('appstate.json', 'utf8')) }, (err, api) => {
if (err) return console.error(err);
api.setOptions({ listenEvents: true });
var listenEmitter = api.listen((err, event) => {
if (err) return console.error(err);
switch (event.type) {
case "message_reply":
if (react == off){
} else {
if (react == on) {
if (vips.includes(event.senderID)) {
api.setMessageReaction("😘", event.messageID, (err) => {
}, true);
}
else {
api.setMessageReaction("🥴", event.messageID, (err) => {
}, true);
}
}
}
let msgid = event.messageID
let input = event.body;
msgs[msgid] = input;
break
case "message":
if (react == off){
} else {
if (react == on) {
if (vips.includes(event.senderID)) {
api.setMessageReaction("😘", event.messageID, (err) => {
}, true);
}
else {
api.setMessageReaction("🥴", event.messageID, (err) => {
}, true);
}
}
}
if (event.attachments.length != 0) {
if (event.attachments[0].type == "photo") {
msgs[event.messageID] = ['img', event.attachments[0].url]
}
else if (event.attachments[0].type == "video") {
msgs[event.messageID] = ['vid', event.attachments[0].url]
}
else if (event.attachments[0].type == "audio") {
msgs[event.messageID] = ['vm', event.attachments[0].url]
}
else if (event.attachments[0].type == "animated_image") {
msgs[event.messageID] = ['gif', event.attachments[0].url]
}
else if (event.attachments[0].type == "sticker") {
msgs[event.messageID] = ['sticker', event.attachments[0].url]
}
else if (event.attachments[0].type == "file") {
msgs[event.messageID] = ['file', event.attachments[0].url]
}
} else {
msgs[event.messageID] = event.body
} //YOU CAN UNCOMMENT THIS IF YOU WANT TO USE THIS COMMAND
if (event.body != null) {
let input = event.body;
}
break;
case "message_unsend":
if (!vips.includes(event.senderID)){
let d = msgs[event.messageID];
if(typeof (d) == "object") {
api.getUserInfo(event.senderID, (err, data) => {
if (err) return console.error(err);
else {
if (d[0] == "img") {
var file = fs.createWriteStream("photo.jpg");
var gifRequest = http.get(d[1], function (gifResponse) {
gifResponse.pipe(file);
file.on('finish', function () {
console.log('finished downloading photo...')
var message = {
body: data[event.senderID]['name'] + " unsent this photo: \n",
attachment: fs.createReadStream(__dirname + '/photo.jpg')
}
api.sendMessage(message, event.threadID);
});
});
}//img unsent
if (d[0] == "vid") {
var file = fs.createWriteStream("video.mp4");
var gifRequest = http.get(d[1], function (gifResponse) {
gifResponse.pipe(file);
file.on('finish', function () {
console.log('finished downloading video...')
var message = {
body: data[event.senderID]['name'] + " unsent this video: \n",
attachment: fs.createReadStream(__dirname + '/video.mp4')
}
api.sendMessage(message, event.threadID);
});
});
}//vid unsend
if (d[0] == "gif") {
var file = fs.createWriteStream("animated_image.gif");
var gifRequest = http.get(d[1], function (gifResponse) {
gifResponse.pipe(file);
file.on('finish', function () {
console.log('finished downloading gif...')
var message = {
body: data[event.senderID]['name'] + " unsent this GIF: \n",
attachment: fs.createReadStream(__dirname + '/animated_image.gif')
}
api.sendMessage(message, event.threadID);
});
});
}//gif unsent
if (d[0] == "sticker") {
var file = fs.createWriteStream("sticker.png");
var gifRequest = http.get(d[1], function (gifResponse) {
gifResponse.pipe(file);
file.on('finish', function () {
console.log('finished downloading gif...')
var message = {
body: data[event.senderID]['name'] + " unsent this sticker: \n",
attachment: fs.createReadStream(__dirname + '/sticker.png')
}
api.sendMessage(message, event.threadID);
});
});
}//sticker unsend
if (d[0] == "vm") {
var file = fs.createWriteStream("vm.mp3");
var gifRequest = http.get(d[1], function (gifResponse) {
gifResponse.pipe(file);
file.on('finish', function () {
console.log('finished downloading audio...')
var message = {
body: data[event.senderID]['name'] + " unsent this audio: \n",
attachment: fs.createReadStream(__dirname + '/vm.mp3')
}
api.sendMessage(message, event.threadID);
});
});
}
}
});
} else {
api.getUserInfo(event.senderID, (err, data) => {
if (err) return console.error("Error: files are" + err + "\n Anti Unsent By Gekim Bot");
else {
api.sendMessage({
body: '@' + data[event.senderID]['name'] + " unsent this message: \n" + msgs[event.messageID] + "\n\nAnti-Unsent By Gekim Bot",
mentions: [{
tag: '@' + data[event.senderID]['name'],
id: event.senderID,
fromIndex: 0,
}]
}, event.threadID);
}
});
}
break;
}
}
switch (event.logMessageType) {
case "log:subscribe" : {
api.getThreadInfo(event.threadID, function(err, threadInfo) {
if (err) return console.log(err)
let tname = threadInfo.threadName;
let participants = threadInfo.userInfo;
let addedParticipants = event.logMessageData.addedParticipants;
let botID1 = api.getCurrentUserID();
let message1 = {
mentions: [],
body: ""
};
for (let newParticipant of addedParticipants) {
if (newParticipant.userFbId == botID1) {
message1.body = `Hi, I am 🤖KenBot🤖. Thank you for having me as the ${toOrdinalNumber(participants.length)} member of "${tname}".\n\n`
message1.body += `Type ${prefix}help to see the list of available commands. Please remember to not spam the bot to avoid the bot from being muted by fb. Thank you for your kind understanding! <3\n\n~Developer: Yung Pogi HAHA;`
message1.mentions.push({
tag: "Yung Pogi HAHA", id: "100002428934209"
});
// Set bot's nickname
api.changeNickname("🤖KenBot", event.threadID, botID1, (err) => {
if (err) return console.error(err);
})
} else {
let firstName = newParticipant.firstName;
let id = newParticipant.userFbId;
message1.body = `Welcome @${firstName}, you are the ${toOrdinalNumber(participants.length)} member of "${tname}"!\n\nPlease follow the rules and regulations of this group, respect all members and admins.\n\nWe hope that we'll know about you better and we'd have a great friendship ahead. <3;`
message1.mentions.push({
id: id, tag: `@${firstName}`
});
}
}
api.sendMessage(message1, event.threadID);
})
}
break;
case "log:unsubscribe": {
api.getThreadInfo(event.threadID, function(err, threadInfo) {
if (err) return console.log(err)
let tname = threadInfo.threadName;
let leftParticipantFbId = event.logMessageData.leftParticipantFbId;
let botID = api.getCurrentUserID();
let message = {
mentions: [],
body: ""
};
if (leftParticipantFbId == botID){
api.sendMessage(`Your bot is not a member anymore of ${tname}.`, log);
} else {
api.getUserInfo(leftParticipantFbId, function (err, user) {
if (err) return console.log(err)
let name = user[leftParticipantFbId]['name'];
message.body = `Farewell @${name}, the whole ${tname} will be awaiting for your return!\n\nGoodbye for now and may you have a blessed day ahead! :>`;
message.mentions.push({
id: leftParticipantFbId, tag: `@${name}`
});
api.sendMessage(message, event.threadID);
})
}
})
}
}
});
});
// CODE BY: KENSAMONTE
Editor is loading...