diff --git a/.dockerignore b/.dockerignore index 78bf2ae..500b1a0 100644 --- a/.dockerignore +++ b/.dockerignore @@ -6,5 +6,4 @@ **/docker-compose* **/Dockerfile* **/node_modules -**/cracks README.md \ No newline at end of file diff --git a/commands/global/crack.js b/commands/global/crack.js index 0152ebf..d845f87 100644 --- a/commands/global/crack.js +++ b/commands/global/crack.js @@ -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('')[1].split('')[0].split('') - let games = [] - matches.pop() - matches.forEach(async match => { - let name = match.split('">')[1].split('')[0].slice(0, -8) - let link = match.split('')[0] - games.push({ name, link }) - }) - return games + try { + let matches = body.split('')[1].split('')[0].split('') + let games = [] + matches.pop() + matches.forEach(async match => { + let name = match.split('">')[1].split('')[0].slice(0, -8) + let link = match.split('')[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('')[0] - return file + try { + let body = await response.text() + let file = body.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 = {