Fix pour /crack

This commit is contained in:
Zachary Guénot
2023-05-28 00:25:29 +02:00
parent 4d25590be5
commit ef58e007bc
2 changed files with 47 additions and 28 deletions

View File

@@ -6,5 +6,4 @@
**/docker-compose*
**/Dockerfile*
**/node_modules
**/cracks
README.md

View File

@@ -31,15 +31,20 @@ async function search(query, headers) {
.then(response => response.arrayBuffer())
.then(arrayBuffer => { return iconv.decode(Buffer.from(arrayBuffer), 'win1251') })
.catch(error => console.error(error))
let matches = body.split('</div>')[1].split('<span class="seperator fastfullsearch">')[0].split('</a>')
let games = []
matches.pop()
matches.forEach(async match => {
let name = match.split('"><span class="searchheading">')[1].split('</span>')[0].slice(0, -8)
let link = match.split('<a href="')[1].split('"><span class="searchheading">')[0]
games.push({ name, link })
})
return games
try {
let matches = body.split('</div>')[1].split('<span class="seperator fastfullsearch">')[0].split('</a>')
let games = []
matches.pop()
matches.forEach(async match => {
let name = match.split('"><span class="searchheading">')[1].split('</span>')[0].slice(0, -8)
let link = match.split('<a href="')[1].split('"><span class="searchheading">')[0]
games.push({ name, link })
})
return games
} catch (error) {
console.error(error)
await interaction.followUp({ content: `Y'a eu une erreur !\n${error.toString()}` })
}
}
async function repo(game, headers) {
@@ -47,35 +52,50 @@ async function repo(game, headers) {
.then(response => response.arrayBuffer())
.then(arrayBuffer => { return iconv.decode(Buffer.from(arrayBuffer), 'win1251') })
.catch(error => console.error(error))
let name = body.split('https://uploads.online-fix.me:2053/torrents/')[1].split('"')[0]
let url = `https://uploads.online-fix.me:2053/torrents/${name}`
return url
try {
let name = body.split('https://uploads.online-fix.me:2053/torrents/')[1].split('"')[0]
let url = `https://uploads.online-fix.me:2053/torrents/${name}`
return url
} catch (error) {
console.error(error)
await interaction.followUp({ content: `Y'a eu une erreur !\n${error.toString()}` })
}
}
async function torrent(url, headers) {
let response = await fetch(url, { headers, body: null, method: "GET" })
.catch(error => console.error(error))
let body = await response.text()
let file = body.split('<a href="')[2].split('">')[0]
return file
try {
let body = await response.text()
let file = body.split('<a href="')[2].split('">')[0]
return file
} catch (error) {
console.error(error)
await interaction.followUp({ content: `Y'a eu une erreur !\n${error.toString()}` })
}
}
async function download(url, file, headers) {
let path = `./cracks/${file}`
let writer = fs.createWriteStream(path)
await axios({ url: url + file, method: 'GET', responseType: 'stream', headers }).then(response => {
return new Promise((resolve, reject) => {
response.data.pipe(writer)
let error = null
writer.on('error', err => {
error = err
writer.close()
reject(err)
try {
await axios({ url: url + file, method: 'GET', responseType: 'stream', headers }).then(response => {
return new Promise((resolve, reject) => {
response.data.pipe(writer)
let error = null
writer.on('error', err => {
error = err
writer.close()
reject(err)
})
writer.on('close', () => { if (!error) resolve(true) })
})
writer.on('close', () => { if (!error) resolve(true) })
})
}).catch(error => console.error(error))
return path
}).catch(error => console.error(error))
return path
} catch (error) {
console.error(error)
await interaction.followUp({ content: `Y'a eu une erreur !\n${error.toString()}` })
}
}
module.exports = {