'use strict';
const ReadLine = require('n-readlines');
const worker = require('../index').conflate;
const test = require('tape');
const path = require('path');
const fs = require('fs');
const db = require('./lib/db');
db.init(test);
test('conflate - in_persistent argument error', (t) => {
t.throws(() => worker(), /in_persistent argument is required/);
t.end();
});
test('conflate - in_address argument error', (t) => {
t.throws(() => worker({
'in_persistent': path.resolve(__dirname, './fixtures/dc-persistent.geojson')
}), /in_address argument is required/);
t.end();
});
test('conflate - output argument error', (t) => {
t.throws(() => worker({
'in_persistent': path.resolve(__dirname, './fixtures/dc-persistent.geojson'),
'in_address': path.resolve(__dirname, './fixtures/dc-new.geojson')
}), /Output file required/);
t.end();
});
test('conflate - CREATE finds only exact duplicate features, adds nothing', (t) => {
// Ensure files don't exist before test
try {
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
} catch (err) {
console.error('ok - cleaned tmp files');
}
worker({
'in_persistent': path.resolve(__dirname, './fixtures/dc-persistent.geojson'),
'in_address': path.resolve(__dirname, './fixtures/dc-persistent.geojson'),
output: '/tmp/output.geojson',
'error_persistent': '/tmp/error-persistent',
context: {
country: 'us',
region: 'dc',
languages: ['en']
},
db: 'pt_test'
});
const rl = new ReadLine('/tmp/output.geojson');
t.notOk(rl.next(), 'no output features');
t.doesNotThrow(() => {
fs.accessSync('/tmp/error-persistent');
});
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
t.end();
});
test('conflate - CREATE finds features with same address number and street less than 1km away, adds nothing', (t) => {
// Ensure files don't exist before test
try {
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
} catch (err) {
console.error('ok - cleaned tmp files');
}
worker({
'in_persistent': path.resolve(__dirname, './fixtures/dc-persistent.geojson'),
'in_address': path.resolve(__dirname, './fixtures/dc-new-close.geojson'),
output: '/tmp/output.geojson',
'error_persistent': '/tmp/error-persistent',
context: {
country: 'us',
region: 'dc',
languages: ['en']
},
db: 'pt_test'
});
const rl = new ReadLine('/tmp/output.geojson');
t.notOk(rl.next(), 'no output features');
t.doesNotThrow(() => {
fs.accessSync('/tmp/error-persistent');
});
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
t.end();
});
test('conflate - CREATE finds features with same address number and street more than 1km away, add new address', (t) => {
// Ensure files don't exist before test
try {
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
} catch (err) {
console.error('ok - cleaned tmp files');
}
worker({
'in_persistent': path.resolve(__dirname, './fixtures/dc-persistent.geojson'),
'in_address': path.resolve(__dirname, './fixtures/dc-new-far.geojson'),
output: '/tmp/output.geojson',
'error_persistent': '/tmp/error-persistent',
context: {
country: 'us',
region: 'dc',
languages: ['en']
},
db: 'pt_test'
});
const rl = new ReadLine('/tmp/output.geojson');
t.deepEquals(JSON.parse(rl.next()), {
action: 'create',
type: 'Feature',
properties: {
number: '108',
street: [{
display: '4th St NE',
priority: -1
}]
},
geometry: {
type: 'Point',
coordinates: [-77.00055599212646, 38.880443352851955]
}
});
t.notOk(rl.next(), '1 output feature');
t.doesNotThrow(() => {
fs.accessSync('/tmp/error-persistent');
});
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
t.end();
});
test('conflate - CREATE finds feature with different address number and street, adds new address', (t) => {
// Ensure files don't exist before test
try {
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
} catch (err) {
console.error('ok - cleaned tmp files');
}
worker({
'in_persistent': path.resolve(__dirname, './fixtures/dc-persistent.geojson'),
'in_address': path.resolve(__dirname, './fixtures/dc-new.geojson'),
output: '/tmp/output.geojson',
'error_persistent': '/tmp/error-persistent',
context: {
country: 'us',
region: 'dc',
languages: ['en']
},
db: 'pt_test'
});
const rl = new ReadLine('/tmp/output.geojson');
t.deepEquals(JSON.parse(rl.next()), {
action: 'create',
type: 'Feature',
properties: {
number: '112',
street: [{
display: '4th St NE',
priority: -1
}]
},
geometry: {
type: 'Point',
coordinates: [-77.00080543756485, 38.89128752230519]
}
});
t.notOk(rl.next(), 'output 1 feature');
t.doesNotThrow(() => {
fs.accessSync('/tmp/error-persistent');
});
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
t.end();
});
test('conflate - MODIFY adds new names to existing address names preferencing new names', (t) => {
// Ensure files don't exist before test
try {
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
} catch (err) {
console.error('ok - cleaned tmp files');
}
worker({
'in_persistent': path.resolve(__dirname, './fixtures/dc-persistent-syns.geojson'),
'in_address': path.resolve(__dirname, './fixtures/dc-modify.geojson'),
output: '/tmp/output.geojson',
'error_persistent': '/tmp/error-persistent',
context: {
country: 'us',
region: 'dc',
languages: ['en']
},
db: 'pt_test'
});
const rl = new ReadLine('/tmp/output.geojson');
t.deepEquals(JSON.parse(rl.next()), {
id: 1,
version: 2,
action: 'modify',
type: 'Feature',
properties: {
number: 108,
street: [{
display: '4th Street Northeast',
priority: -1
}, {
display: 'DC Route 101',
priority: -2
}, {
display: 'Main St',
priority: -2
}]
},
geometry: {
type: 'Point',
coordinates: [-77.0008054375648, 38.8912875223052]
}
});
t.notOk(rl.next(), 'output 1 feature');
t.doesNotThrow(() => {
fs.accessSync('/tmp/error-persistent');
});
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
t.end();
});
test('conflate - MODIFY does not update existing address, no new names are added', (t) => {
// Ensure files don't exist before test
try {
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
} catch (err) {
console.error('ok - cleaned tmp files');
}
worker({
'in_persistent': path.resolve(__dirname, './fixtures/dc-persistent-syns.geojson'),
'in_address': path.resolve(__dirname, './fixtures/dc-persistent.geojson'),
output: '/tmp/output.geojson',
'error_persistent': '/tmp/error-persistent',
context: {
country: 'us',
region: 'dc',
languages: ['en']
},
db: 'pt_test'
});
const rl = new ReadLine('/tmp/output.geojson');
t.notOk(rl.next(), 'no output features');
t.doesNotThrow(() => {
fs.accessSync('/tmp/error-persistent');
});
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
t.end();
});
test('conflate - MODIFY handles multiple updates to the same feature', (t) => {
// Ensure files don't exist before test
try {
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
} catch (err) {
console.error('ok - cleaned tmp files');
}
worker({
'in_persistent': path.resolve(__dirname, './fixtures/dc-persistent.geojson'),
'in_address': path.resolve(__dirname, './fixtures/dc-modify-multiple.geojson'),
output: '/tmp/output.geojson',
'error_persistent': '/tmp/error-persistent',
context: {
country: 'us',
region: 'dc',
languages: ['en']
},
db: 'pt_test'
});
const rl = new ReadLine('/tmp/output.geojson');
t.deepEquals(JSON.parse(rl.next()), {
id: 1,
version: 2,
action: 'modify',
type: 'Feature',
properties: {
number: 108,
street: [{
display: '4th St NE',
priority: -1
}, {
display: 'Main St',
priority: -2
}, {
display: 'DC Route 101',
priority: -2
}]
},
geometry: {
type: 'Point',
coordinates: [-77.0008054375648, 38.8912875223052]
}
});
t.notOk(rl.next(), 'output 1 feature');
t.doesNotThrow(() => {
fs.accessSync('/tmp/error-persistent');
});
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
t.end();
});
test('conflate - MODIFY all properties on the existing address are preserved, including overrides, excluding street names', (t) => {
// Ensure files don't exist before test
try {
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
} catch (err) {
console.error('ok - cleaned tmp files');
}
worker({
'in_persistent': path.resolve(__dirname, './fixtures/dc-persistent-override.geojson'),
'in_address': path.resolve(__dirname, './fixtures/dc-modify.geojson'),
output: '/tmp/output.geojson',
'error_persistent': '/tmp/error-persistent',
context: {
country: 'us',
region: 'dc',
languages: ['en']
},
db: 'pt_test'
});
const rl = new ReadLine('/tmp/output.geojson');
t.deepEquals(JSON.parse(rl.next()), {
id: 1,
version: 2,
action: 'modify',
type: 'Feature',
properties: {
postcode: '00000',
accuracy: 'rooftop',
source: 'original-source',
number: 108,
street: [{
display: '4th Street Northeast',
priority: -1
}, {
display: 'DC Route 101',
priority: -2
}]
},
geometry: {
type: 'Point',
coordinates: [-77.0008054375648, 38.8912875223052]
}
});
t.notOk(rl.next(), 'output 1 feature');
t.doesNotThrow(() => {
fs.accessSync('/tmp/error-persistent');
});
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
t.end();
});
test('conflate - MODIFY non-street properties on the new address are not included in updates', (t) => {
// Ensure files don't exist before test
try {
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
} catch (err) {
console.error('ok - cleaned tmp files');
}
worker({
'in_persistent': path.resolve(__dirname, './fixtures/dc-persistent.geojson'),
'in_address': path.resolve(__dirname, './fixtures/dc-persistent-override.geojson'),
output: '/tmp/output.geojson',
'error_persistent': '/tmp/error-persistent',
context: {
country: 'us',
region: 'dc',
languages: ['en']
},
db: 'pt_test'
});
const rl = new ReadLine('/tmp/output.geojson');
t.notOk(rl.next(), 'no features output');
t.doesNotThrow(() => {
fs.accessSync('/tmp/error-persistent');
});
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
t.end();
});
test('conflate - MODIFY existing addresses with output==false are not modified', (t) => {
// Ensure files don't exist before test
try {
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
} catch (err) {
console.error('ok - cleaned tmp files');
}
worker({
'in_persistent': path.resolve(__dirname, './fixtures/dc-persistent-output.geojson'),
'in_address': path.resolve(__dirname, './fixtures/dc-modify-output.geojson'),
output: '/tmp/output.geojson',
'error_persistent': '/tmp/error-persistent',
context: {
country: 'us',
region: 'dc',
languages: ['en']
},
db: 'pt_test'
});
const rl = new ReadLine('/tmp/output.geojson');
t.notOk(rl.next(), 'no features output');
t.doesNotThrow(() => {
fs.accessSync('/tmp/error-persistent');
});
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
t.end();
});
test('conflate - MODIFY existing addresses with output==false are not modified, cardinal to non-cardinal match', (t) => {
// Ensure files don't exist before test
try {
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
} catch (err) {
console.error('ok - cleaned tmp files');
}
worker({
'in_persistent': path.resolve(__dirname, './fixtures/dc-persistent-output-cardinal.geojson'),
'in_address': path.resolve(__dirname, './fixtures/dc-modify-output-cardinal.geojson'),
output: '/tmp/output.geojson',
'error_persistent': '/tmp/error-persistent',
context: {
country: 'us',
region: 'dc',
languages: ['en']
},
db: 'pt_test'
});
const rl = new ReadLine('/tmp/output.geojson');
t.notOk(rl.next(), 'no features output');
t.doesNotThrow(() => {
fs.accessSync('/tmp/error-persistent');
});
fs.unlinkSync('/tmp/output.geojson');
fs.unlinkSync('/tmp/error-persistent');
t.end();
});
'use strict';
const common = require('../common');
const assert = require('assert');
const cp = require('child_process');
const fs = require('fs');
const path = require('path');
const util = require('util');
const tests = new Array();
let gid = 1;
let uid = 1;
if (!common.isWindows) {
gid = process.getgid();
uid = process.getuid();
}
tests['fs.sync.access'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'fs.accessSync("fs.txt");' +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.chmod'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'fs.chmodSync("fs.txt",100);' +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.chown'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
`fs.chownSync("fs.txt", ${uid}, ${gid});` +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.close'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.copyfile'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'fs.copyFileSync("fs.txt","a.txt");' +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.fchmod'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'const fd = fs.openSync("fs.txt", "r+");' +
'fs.fchmodSync(fd,100);' +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.fchown'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'const fd = fs.openSync("fs.txt", "r+");' +
`fs.fchownSync(fd, ${uid}, ${gid});` +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.fdatasync'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'const fd = fs.openSync("fs.txt", "r+");' +
'fs.fdatasyncSync(fd);' +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.fstat'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'fs.readFileSync("fs.txt");' +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.fsync'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'const fd = fs.openSync("fs.txt", "r+");' +
'fs.fsyncSync(fd);' +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.ftruncate'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'const fd = fs.openSync("fs.txt", "r+");' +
'fs.ftruncateSync(fd, 1);' +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.futimes'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'const fd = fs.openSync("fs.txt", "r+");' +
'fs.futimesSync(fd,1,1);' +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.lchown'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
`fs.lchownSync("fs.txt", ${uid}, ${gid});` +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.link'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'fs.linkSync("fs.txt", "linkx");' +
'fs.unlinkSync("linkx");' +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.lstat'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'fs.lstatSync("fs.txt");' +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.mkdir'] = 'fs.mkdirSync("fstemp");' +
'fs.rmdirSync("fstemp")';
tests['fs.sync.mkdtemp'] = 'const fp = fs.mkdtempSync("fstest");' +
'fs.rmdirSync(fp)';
tests['fs.sync.open'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.read'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'fs.readFileSync("fs.txt");' +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.readdir'] = 'fs.readdirSync("./")';
tests['fs.sync.realpath'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'fs.linkSync("fs.txt", "linkx");' +
'fs.realpathSync.native("linkx");' +
'fs.unlinkSync("linkx");' +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.rename'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'fs.renameSync("fs.txt","xyz.txt"); ' +
'fs.unlinkSync("xyz.txt")';
tests['fs.sync.rmdir'] = 'fs.mkdirSync("fstemp");' +
'fs.rmdirSync("fstemp")';
tests['fs.sync.stat'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'fs.statSync("fs.txt");' +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.unlink'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'fs.linkSync("fs.txt", "linkx");' +
'fs.unlinkSync("linkx");' +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.utimes'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'fs.utimesSync("fs.txt",1,1);' +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.write'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'fs.unlinkSync("fs.txt")';
// On windows, we need permissions to test symlink and readlink.
// We'll only try to run these tests if we have enough privileges.
if (common.canCreateSymLink()) {
tests['fs.sync.symlink'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'fs.symlinkSync("fs.txt", "linkx");' +
'fs.unlinkSync("linkx");' +
'fs.unlinkSync("fs.txt")';
tests['fs.sync.readlink'] = 'fs.writeFileSync("fs.txt", "123", "utf8");' +
'fs.symlinkSync("fs.txt", "linkx");' +
'fs.readlinkSync("linkx");' +
'fs.unlinkSync("linkx");' +
'fs.unlinkSync("fs.txt")';
}
const tmpdir = require('../common/tmpdir');
tmpdir.refresh();
const traceFile = path.join(tmpdir.path, 'node_trace.1.log');
for (const tr in tests) {
const proc = cp.spawnSync(process.execPath,
[ '--trace-events-enabled',
'--trace-event-categories', 'node.fs.sync',
'-e', tests[tr] ],
{ cwd: tmpdir.path, encoding: 'utf8' });
// Make sure the operation is successful.
// Don't use assert with a custom message here. Otherwise the
// inspection in the message is done eagerly and wastes a lot of CPU
// time.
if (proc.status !== 0) {
throw new Error(`${tr}:\n${util.inspect(proc)}`);
}
// Confirm that trace log file is created.
assert(fs.existsSync(traceFile));
const data = fs.readFileSync(traceFile);
const traces = JSON.parse(data.toString()).traceEvents;
assert(traces.length > 0);
// C++ fs sync trace events should be generated.
assert(traces.some((trace) => {
if (trace.pid !== proc.pid)
return false;
if (trace.cat !== 'node,node.fs,node.fs.sync')
return false;
if (trace.name !== tr)
return false;
return true;
}));
}
function comebackCmd(message, prefix, client, member, msgChan, cmd, fileName, fs) {
var comebackCmd = ((cmd == "faire demi-tour")||(cmd == "faire demi tour"));
var doorCBmsg = `à ce stade votre seul moyen de faire marche arrière est de recommencer.\nSi c'est ce que vous souhaitez, je vous invite à taper ici-même la commande: **\`!restart\`**`;
if (comebackCmd) {
// 4 PRINCIPALS DOORS
if (message.channel == chanDoor1) {
if ((!fs.existsSync(rep_1A + fileName) && (!fs.existsSync(rep_1B + fileName)))) { // l'utilisateur ne provient d'aucune direction
return message.reply(doorCBmsg).then(reply => reply.delete(10000));
} else if (fs.existsSync(rep_1A + fileName)) {
member.addRole(role_1A).then(addRole => member.removeRole(door1Role));
if (fs.existsSync(rep_1B + fileName)) fs.unlinkSync(rep_1B + fileName)
} else if (fs.existsSync(rep_1B + fileName)) {
member.addRole(role_1B).then(addRole => member.removeRole(door1Role));
if (fs.existsSync(rep_1A + fileName)) fs.unlinkSync(rep_1A + fileName)
}
} else if (message.channel == chanDoor2) {
if ((!fs.existsSync(rep_2A + fileName) && (!fs.existsSync(rep_2B + fileName)))) { // l'utilisateur ne provient d'aucune direction
return message.reply(doorCBmsg).then(reply => reply.delete(10000));
} else if (fs.existsSync(rep_2A + fileName)) {
member.addRole(role_2A).then(addRole => member.removeRole(door2Role));
} else if (fs.existsSync(rep_2B + fileName)) {
member.addRole(role_2B).then(addRole => member.removeRole(door2Role));
}
} else if (message.channel == chanDoor3) {
if ((!fs.existsSync(rep_3A + fileName) && (!fs.existsSync(rep_3B + fileName)))) { // l'utilisateur ne provient d'aucune direction
return message.reply(doorCBmsg).then(reply => reply.delete(10000));
} else if (fs.existsSync(rep_3A + fileName)) {
member.addRole(role_3A).then(addRole => member.removeRole(door3Role));
} else if (fs.existsSync(rep_3B + fileName)) {
member.addRole(role_3B).then(addRole => member.removeRole(door3Role));
}
} else if (message.channel == chanDoor4) {
if ((!fs.existsSync(rep_4A + fileName) && (!fs.existsSync(rep_4B + fileName)))) { // l'utilisateur ne provient d'aucune direction
return message.reply(doorCBmsg).then(reply => reply.delete(10000));
} else if (fs.existsSync(rep_4A + fileName)) {
member.addRole(role_4A).then(addRole => member.removeRole(door4Role));
} else if (fs.existsSync(rep_4B + fileName)) {
member.addRole(role_4B).then(addRole => member.removeRole(door4Role));
}
// LABYRINTHE CHANNELS
} else if (msgChan == chan_1A) {
if (fs.existsSync(door1UsersRep + fileName)) {
member.addRole(door1Role);
if (fs.existsSync(rep_1B + fileName)) fs.unlinkSync(rep_1B + fileName);
} else if (fs.existsSync(rep_1B + fileName)) {
member.addRole(role_1B);
if (fs.existsSync(door1UsersRep + fileName)) fs.unlinkSync(door1UsersRep + fileName);
}
member.removeRole(role_1A);
} else if (msgChan == chan_1B) {
if (fs.existsSync(door1UsersRep + fileName)) {
member.addRole(door1Role);
if (fs.existsSync(rep_1A + fileName)) fs.unlinkSync(rep_1A + fileName);
} else if (fs.existsSync(rep_1A + fileName)) {
member.addRole(role_1A);
if (fs.existsSync(door1UsersRep + fileName)) fs.unlinkSync(door1UsersRep + fileName);
} else if (fs.existsSync(rep_1D + fileName)) {
if (fs.existsSync(door1UsersRep + fileName)) fs.unlinkSync(door1UsersRep + fileName);
if (fs.existsSync(rep_1A + fileName)) fs.unlinkSync(rep_1A + fileName);
member.addRole(role_1D);
}
member.removeRole(role_1B);
} else if (msgChan == chan_1D) {
if (fs.existsSync(rep_1B + fileName)) {
member.addRole(role_1B);
if (fs.existsSync(rep_1E + fileName)) fs.unlinkSync(rep_1E + fileName);
if (fs.existsSync(rep_1F + fileName)) fs.unlinkSync(rep_1F + fileName);
} else if (fs.existsSync(rep_1E + fileName)) {
member.addRole(role_1E);
if (fs.existsSync(rep_1B + fileName)) fs.unlinkSync(rep_1B + fileName);
if (fs.existsSync(rep_1F + fileName)) fs.unlinkSync(rep_1F + fileName);
} else if (fs.existsSync(rep_1F + fileName)) {
member.addRole(role_1F);
if (fs.existsSync(rep_1B + fileName)) fs.unlinkSync(rep_1B + fileName);
if (fs.existsSync(rep_1E + fileName)) fs.unlinkSync(rep_1E + fileName);
}
member.removeRole(role_1D);
} else if (msgChan == chan_1E) {
if (fs.existsSync(rep_1D + fileName)) {
member.addRole(role_1D);
if (fs.existsSync(rep_1F + fileName)) fs.unlinkSync(rep_1F + fileName);
} else if (fs.existsSync(rep_1F + fileName)) {
member.addRole(role_1F);
if (fs.existsSync(rep_1D + fileName)) fs.unlinkSync(rep_1D + fileName);
}
member.removeRole(role_1E);
} else if (msgChan == chan_1F) {
if (fs.existsSync(rep_1D + fileName)) {
member.addRole(role_1D);
if (fs.existsSync(rep_1E + fileName)) fs.unlinkSync(rep_1E + fileName);
if (fs.existsSync(rep_2A + fileName)) fs.unlinkSync(rep_2A + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
} else if (fs.existsSync(rep_1E + fileName)) {
member.addRole(role_1E);
if (fs.existsSync(rep_1D + fileName)) fs.unlinkSync(rep_1D + fileName);
if (fs.existsSync(rep_2A + fileName)) fs.unlinkSync(rep_2A + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
} else if (fs.existsSync(rep_2A + fileName)) {
member.addRole(role_2A);
if (fs.existsSync(rep_1D + fileName)) fs.unlinkSync(rep_1D + fileName);
if (fs.existsSync(rep_1E + fileName)) fs.unlinkSync(rep_1E + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
} else if (fs.existsSync(rep_2C + fileName)) {
member.addRole(role_2C);
if (fs.existsSync(rep_1D + fileName)) fs.unlinkSync(rep_1D + fileName);
if (fs.existsSync(rep_1E + fileName)) fs.unlinkSync(rep_1E + fileName);
if (fs.existsSync(rep_2A + fileName)) fs.unlinkSync(rep_2A + fileName);
}
member.removeRole(role_1F);
} else if (msgChan == chan_2A) {
if (fs.existsSync(door2UsersRep + fileName)) {
member.addRole(door2Role);
if (fs.existsSync(rep_1F + fileName)) fs.unlinkSync(rep_1F + fileName);
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
} else if (fs.existsSync(rep_2B + fileName)) {
member.addRole(role_2B);
if (fs.existsSync(door2UsersRep + fileName)) fs.unlinkSync(door2UsersRep + fileName);
if (fs.existsSync(rep_1F + fileName)) fs.unlinkSync(rep_1F + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
} else if (fs.existsSync(rep_2C + fileName)) {
member.addRole(role_2C);
if (fs.existsSync(door2UsersRep + fileName)) fs.unlinkSync(door2UsersRep + fileName);
if (fs.existsSync(rep_1F + fileName)) fs.unlinkSync(rep_1F + fileName);
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
} else if (fs.existsSync(rep_1F + fileName)) {
member.addRole(role_1F);
if (fs.existsSync(door2UsersRep + fileName)) fs.unlinkSync(door2UsersRep + fileName);
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
}
member.removeRole(role_2A);
} else if (msgChan == chan_2B) {
if (fs.existsSync(door2UsersRep + fileName)) {
member.addRole(door2Role);
if (fs.existsSync(rep_2A + fileName)) fs.unlinkSync(rep_2A + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
} else if (fs.existsSync(rep_2A + fileName)) {
member.addRole(role_2A);
if (fs.existsSync(door2UsersRep + fileName)) fs.unlinkSync(door2UsersRep + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
} else if (fs.existsSync(rep_2C + fileName)) {
member.addRole(role_2C);
if (fs.existsSync(door2UsersRep + fileName)) fs.unlinkSync(door2UsersRep + fileName);
if (fs.existsSync(rep_2A + fileName)) fs.unlinkSync(rep_2A + fileName);
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
} else if (fs.existsSync(rep_2D + fileName)) {
member.addRole(role_2D);
if (fs.existsSync(door2UsersRep + fileName)) fs.unlinkSync(door2UsersRep + fileName);
if (fs.existsSync(rep_2A + fileName)) fs.unlinkSync(rep_2A + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
}
member.removeRole(role_2B);
} else if (msgChan == chan_2C) {
if (fs.existsSync(rep_1F + fileName)) {
member.addRole(role_1F);
if (fs.existsSync(rep_2A + fileName)) fs.unlinkSync(rep_2A + fileName);
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
} else if (fs.existsSync(rep_2A + fileName)) {
member.addRole(role_2A);
if (fs.existsSync(rep_1F + fileName)) fs.unlinkSync(rep_1F + fileName);
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
} else if (fs.existsSync(rep_2B + fileName)) {
member.addRole(role_2B);
if (fs.existsSync(rep_1F + fileName)) fs.unlinkSync(rep_1F + fileName);
if (fs.existsSync(rep_2A + fileName)) fs.unlinkSync(rep_2A + fileName);
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
} else if (fs.existsSync(rep_2D + fileName)) {
member.addRole(role_2D);
if (fs.existsSync(rep_1F + fileName)) fs.unlinkSync(rep_1F + fileName);
if (fs.existsSync(rep_2A + fileName)) fs.unlinkSync(rep_2A + fileName);
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
}
member.removeRole(role_2C);
} else if (msgChan == chan_2D) {
if (fs.existsSync(rep_2B + fileName)) {
member.addRole(role_2B);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
if (fs.existsSync(rep_2E + fileName)) fs.unlinkSync(rep_2E + fileName);
if (fs.existsSync(rep_2F + fileName)) fs.unlinkSync(rep_2F + fileName);
} else if (fs.existsSync(rep_2C + fileName)) {
member.addRole(role_2C);
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
if (fs.existsSync(rep_2E + fileName)) fs.unlinkSync(rep_2E + fileName);
if (fs.existsSync(rep_2F + fileName)) fs.unlinkSync(rep_2F + fileName);
} else if (fs.existsSync(rep_2E + fileName)) {
member.addRole(role_2E);
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
if (fs.existsSync(rep_2F + fileName)) fs.unlinkSync(rep_2F + fileName);
} else if (fs.existsSync(rep_2F + fileName)) {
member.addRole(role_2F);
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
if (fs.existsSync(rep_2E + fileName)) fs.unlinkSync(rep_2E + fileName);
}
member.removeRole(role_2D);
} else if (msgChan == chan_2E) {
if (fs.existsSync(rep_2D + fileName)) {
member.addRole(role_2D);
if (fs.existsSync(rep_2F + fileName)) fs.unlinkSync(rep_2F + fileName);
if (fs.existsSync(rep_3H + fileName)) fs.unlinkSync(rep_3H + fileName);
} else if (fs.existsSync(rep_2F + fileName)) {
member.addRole(role_2F);
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
if (fs.existsSync(rep_3H + fileName)) fs.unlinkSync(rep_3H + fileName);
} else if (fs.existsSync(rep_3H + fileName)) {
member.addRole(role_3H);
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
if (fs.existsSync(rep_2F + fileName)) fs.unlinkSync(rep_2F + fileName);
} else if (!fs.existsSync(rep_2D + fileName) && !fs.existsSync(rep_2F + fileName) && !fs.existsSync(rep_3H + fileName)) {
message.channel.send(`**${member.user.username}** vous avez été téléporté.\nLe téléporteur est à sens unique, il ne peut vous ramener à votre précédent emplacement.\nSi vous ne savez pas quoi faire, je vous invite à taper: **\`!choix\`**`)
}
member.removeRole(role_2E);
} else if (msgChan == chan_2F) {
if (fs.existsSync(rep_2D + fileName)) {
member.addRole(role_2D);
if (fs.existsSync(rep_2E + fileName)) fs.unlinkSync(rep_2E + fileName);
if (fs.existsSync(rep_2H + fileName)) fs.unlinkSync(rep_2H + fileName);
} else if (fs.existsSync(rep_2E + fileName)) {
member.addRole(role_2E);
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
if (fs.existsSync(rep_2H + fileName)) fs.unlinkSync(rep_2H + fileName);
} else if (fs.existsSync(rep_2H + fileName)) {
member.addRole(role_2H);
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
if (fs.existsSync(rep_2E + fileName)) fs.unlinkSync(rep_2E + fileName);
}
member.removeRole(role_2F);
} else if (msgChan == chan_2H) {
if (fs.existsSync(rep_2F + fileName)) {
member.addRole(role_2F);
}
member.removeRole(role_2H);
} else if (msgChan == chan_3A) {
if (fs.existsSync(door3UsersRep + fileName)) {
member.addRole(door3Role);
if (fs.existsSync(rep_3B + fileName)) fs.unlinkSync(rep_3B + fileName);
} else if (fs.existsSync(rep_3B + fileName)) {
member.addRole(role_3B);
if (fs.existsSync(door3UsersRep + fileName)) fs.unlinkSync(door3UsersRep + fileName);
}
member.removeRole(role_3A);
} else if (msgChan == chan_3B) {
if (fs.existsSync(door3UsersRep + fileName)) {
member.addRole(door3Role);
if (fs.existsSync(rep_3A + fileName)) fs.unlinkSync(rep_3A + fileName);
if (fs.existsSync(rep_3C + fileName)) fs.unlinkSync(rep_3C + fileName);
if (fs.existsSync(rep_3D + fileName)) fs.unlinkSync(rep_3D + fileName);
} else if (fs.existsSync(rep_3A + fileName)) {
member.addRole(role_3A);
if (fs.existsSync(door3UsersRep + fileName)) fs.unlinkSync(door3UsersRep + fileName);
if (fs.existsSync(rep_3C + fileName)) fs.unlinkSync(rep_3C + fileName);
if (fs.existsSync(rep_3D + fileName)) fs.unlinkSync(rep_3D + fileName);
} else if (fs.existsSync(rep_3C + fileName)) {
member.addRole(role_3C);
if (fs.existsSync(door3UsersRep + fileName)) fs.unlinkSync(door3UsersRep + fileName);
if (fs.existsSync(rep_3A + fileName)) fs.unlinkSync(rep_3A + fileName);
if (fs.existsSync(rep_3D + fileName)) fs.unlinkSync(rep_3D + fileName);
} else if (fs.existsSync(rep_3D + fileName)) {
member.addRole(role_3D);
if (fs.existsSync(door3UsersRep + fileName)) fs.unlinkSync(door3UsersRep + fileName);
if (fs.existsSync(rep_3A + fileName)) fs.unlinkSync(rep_3A + fileName);
if (fs.existsSync(rep_3C + fileName)) fs.unlinkSync(rep_3C + fileName);
}
member.removeRole(role_3B);
} else if (msgChan == chan_3C) {
if (fs.existsSync(rep_3B + fileName)) {
member.addRole(role_3B);
if (fs.existsSync(rep_3D + fileName)) fs.unlinkSync(rep_3D + fileName);
} else if (fs.existsSync(rep_3D + fileName)) {
member.addRole(role_3D);
if (fs.existsSync(rep_3B + fileName)) fs.unlinkSync(rep_3B + fileName);
}
member.removeRole(role_3C);
} else if (msgChan == chan_3D) {
if (fs.existsSync(rep_3B + fileName)) {
member.addRole(role_3B);
if (fs.existsSync(rep_3C + fileName)) fs.unlinkSync(rep_3C + fileName);
if (fs.existsSync(rep_3F + fileName)) fs.unlinkSync(rep_3F + fileName);
} else if (fs.existsSync(rep_3C + fileName)) {
member.addRole(role_3C);
if (fs.existsSync(rep_3B + fileName)) fs.unlinkSync(rep_3B + fileName);
if (fs.existsSync(rep_3F + fileName)) fs.unlinkSync(rep_3F + fileName);
} else if (fs.existsSync(rep_3F + fileName)) {
member.addRole(role_3F);
if (fs.existsSync(rep_3B + fileName)) fs.unlinkSync(rep_3B + fileName);
if (fs.existsSync(rep_3C + fileName)) fs.unlinkSync(rep_3C + fileName);
}
member.removeRole(role_3D);
} else if (msgChan == chan_3F) {
if (fs.existsSync(rep_3D + fileName)) {
member.addRole(role_3D);
if (fs.existsSync(rep_3H + fileName)) fs.unlinkSync(rep_3H + fileName);
if (fs.existsSync(rep_3G + fileName)) fs.unlinkSync(rep_3G + fileName);
} else if (fs.existsSync(rep_3G + fileName)) {
member.addRole(role_3G);
if (fs.existsSync(rep_3D + fileName)) fs.unlinkSync(rep_3D + fileName);
if (fs.existsSync(rep_3H + fileName)) fs.unlinkSync(rep_3H + fileName);
} else if (fs.existsSync(rep_3H + fileName)) {
member.addRole(role_3H);
if (fs.existsSync(rep_3D + fileName)) fs.unlinkSync(rep_3D + fileName);
if (fs.existsSync(rep_3G + fileName)) fs.unlinkSync(rep_3G + fileName);
}
member.removeRole(role_3F);
} else if (msgChan == chan_3G) {
if (fs.existsSync(rep_3F + fileName)) {
member.addRole(role_3F);
if (fs.existsSync(rep_3H + fileName)) fs.unlinkSync(rep_3H + fileName);
if (fs.existsSync(rep_3I + fileName)) fs.unlinkSync(rep_3I + fileName);
if (fs.existsSync(rep_3J + fileName)) fs.unlinkSync(rep_3J + fileName);
} else if (fs.existsSync(rep_3H + fileName)) {
member.addRole(role_3H);
if (fs.existsSync(rep_3F + fileName)) fs.unlinkSync(rep_3F + fileName);
if (fs.existsSync(rep_3I + fileName)) fs.unlinkSync(rep_3I + fileName);
if (fs.existsSync(rep_3J + fileName)) fs.unlinkSync(rep_3J + fileName);
} else if (fs.existsSync(rep_3I + fileName)) {
member.addRole(role_3I);
if (fs.existsSync(rep_3F + fileName)) fs.unlinkSync(rep_3F + fileName);
if (fs.existsSync(rep_3H + fileName)) fs.unlinkSync(rep_3H + fileName);
if (fs.existsSync(rep_3J + fileName)) fs.unlinkSync(rep_3J + fileName);
} else if (fs.existsSync(rep_3J + fileName)) {
member.addRole(role_3J);
if (fs.existsSync(rep_3F + fileName)) fs.unlinkSync(rep_3F + fileName);
if (fs.existsSync(rep_3H + fileName)) fs.unlinkSync(rep_3H + fileName);
if (fs.existsSync(rep_3I + fileName)) fs.unlinkSync(rep_3I + fileName);
}
member.removeRole(role_3G);
} else if (msgChan == chan_3H) {
if (fs.existsSync(rep_2E + fileName)) {
member.addRole(role_2E);
if (fs.existsSync(rep_3F + fileName)) fs.unlinkSync(rep_3F + fileName);
if (fs.existsSync(rep_3G + fileName)) fs.unlinkSync(rep_3G + fileName);
} else if (fs.existsSync(rep_3F + fileName)) {
member.addRole(role_3F);
if (fs.existsSync(rep_2E + fileName)) fs.unlinkSync(rep_2E + fileName);
if (fs.existsSync(rep_3G + fileName)) fs.unlinkSync(rep_3G + fileName);
} else if (fs.existsSync(rep_3G + fileName)) {
member.addRole(role_3G);
if (fs.existsSync(rep_2E + fileName)) fs.unlinkSync(rep_2E + fileName);
if (fs.existsSync(rep_3F + fileName)) fs.unlinkSync(rep_3F + fileName);
}
member.removeRole(role_3H);
} else if (msgChan == chan_3I) {
if (fs.existsSync(rep_3G + fileName)) {
member.addRole(role_3G);
if (fs.existsSync(rep_3J + fileName)) fs.unlinkSync(rep_3J + fileName);
} else if (fs.existsSync(rep_3J + fileName)) { // CHANNEL ARRIVEE LABYRINTHE
member.addRole(role_3J);
if (fs.existsSync(rep_3G + fileName)) fs.unlinkSync(rep_3G + fileName);
}
member.removeRole(role_3I);
} else if (msgChan == chan_3J) {
if (fs.existsSync(rep_3G + fileName)) {
member.addRole(role_3G);
if (fs.existsSync(rep_3I + fileName)) fs.unlinkSync(rep_3I + fileName);
} else if (fs.existsSync(rep_3I + fileName)) { // CHANNEL ARRIVEE LABYRINTHE
member.addRole(role_3I);
if (fs.existsSync(rep_3J + fileName)) fs.unlinkSync(rep_3J + fileName);
}
member.removeRole(role_3J);
} else if (msgChan == chan_4A) {
if (fs.existsSync(door4UsersRep + fileName)) {
member.addRole(door4Role);
if (fs.existsSync(rep_4B + fileName)) fs.unlinkSync(rep_4B + fileName);
} else if (fs.existsSync(rep_4B + fileName)) {
member.addRole(role_4B);
if (fs.existsSync(rep_4A + fileName)) fs.unlinkSync(rep_4A + fileName);
}
member.removeRole(role_4A);
} else if (msgChan == chan_4B) {
if (fs.existsSync(door4UsersRep + fileName)) {
member.addRole(door4Role);
if (fs.existsSync(rep_4A + fileName)) fs.unlinkSync(rep_4A + fileName);
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4D + fileName)) fs.unlinkSync(rep_4D + fileName);
} else if (fs.existsSync(rep_4A + fileName)) {
member.addRole(role_4A);
if (fs.existsSync(door4UsersRep + fileName)) fs.unlinkSync(door4UsersRep + fileName);
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4D + fileName)) fs.unlinkSync(rep_4D + fileName);
} else if (fs.existsSync(rep_4C + fileName)) {
member.addRole(role_4C);
if (fs.existsSync(door4UsersRep + fileName)) fs.unlinkSync(door4UsersRep + fileName);
if (fs.existsSync(rep_4A + fileName)) fs.unlinkSync(rep_4A + fileName);
if (fs.existsSync(rep_4D + fileName)) fs.unlinkSync(rep_4D + fileName);
} else if (fs.existsSync(rep_4D + fileName)) {
member.addRole(role_4D);
if (fs.existsSync(door4UsersRep + fileName)) fs.unlinkSync(door4UsersRep + fileName);
if (fs.existsSync(rep_4A + fileName)) fs.unlinkSync(rep_4A + fileName);
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
}
member.removeRole(role_4B);
} else if (msgChan == chan_4C) {
if (fs.existsSync(rep_4B + fileName)) {
member.addRole(role_4B);
if (fs.existsSync(rep_4D + fileName)) fs.unlinkSync(rep_4D + fileName);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
if (fs.existsSync(rep_4G + fileName)) fs.unlinkSync(rep_4G + fileName);
} else if (fs.existsSync(rep_4D + fileName)) {
member.addRole(role_4D);
if (fs.existsSync(rep_4B + fileName)) fs.unlinkSync(rep_4B + fileName);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
if (fs.existsSync(rep_4G + fileName)) fs.unlinkSync(rep_4G + fileName);
} else if (fs.existsSync(rep_4E + fileName)) {
member.addRole(role_4E);
if (fs.existsSync(rep_4B + fileName)) fs.unlinkSync(rep_4B + fileName);
if (fs.existsSync(rep_4D + fileName)) fs.unlinkSync(rep_4D + fileName);
if (fs.existsSync(rep_4G + fileName)) fs.unlinkSync(rep_4G + fileName);
} else if (fs.existsSync(rep_4G + fileName)) {
member.addRole(role_4G);
if (fs.existsSync(rep_4B + fileName)) fs.unlinkSync(rep_4B + fileName);
if (fs.existsSync(rep_4D + fileName)) fs.unlinkSync(rep_4D + fileName);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
}
member.removeRole(role_4C);
} else if (msgChan == chan_4D) {
if (fs.existsSync(rep_4B + fileName)) {
member.addRole(role_4B);
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
} else if (fs.existsSync(rep_4C + fileName)) {
member.addRole(role_4C);
if (fs.existsSync(rep_4B + fileName)) fs.unlinkSync(rep_4B + fileName);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
} else if (fs.existsSync(rep_4E + fileName)) {
member.addRole(role_4E);
if (fs.existsSync(rep_4B + fileName)) fs.unlinkSync(rep_4B + fileName);
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
}
member.removeRole(role_4D);
} else if (msgChan == chan_4E) {
if (fs.existsSync(rep_4C + fileName)) {
member.addRole(role_4C);
if (fs.existsSync(rep_4D + fileName)) fs.unlinkSync(rep_4D + fileName);
if (fs.existsSync(rep_4I + fileName)) fs.unlinkSync(rep_4I + fileName);
} else if (fs.existsSync(rep_4D + fileName)) {
member.addRole(role_4D);
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4I + fileName)) fs.unlinkSync(rep_4I + fileName);
} else if (fs.existsSync(rep_4I + fileName)) {
member.addRole(role_4I);
if (fs.existsSync(rep_4D + fileName)) fs.unlinkSync(rep_4D + fileName);
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
}
member.removeRole(role_4E);
} else if (msgChan == chan_4G) {
if (fs.existsSync(rep_4C + fileName)) {
member.addRole(role_4C);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
if (fs.existsSync(rep_4I + fileName)) fs.unlinkSync(rep_4I + fileName);
if (fs.existsSync(rep_4H + fileName)) fs.unlinkSync(rep_4H + fileName);
} else if (fs.existsSync(rep_4E + fileName)) {
member.addRole(role_4E);
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4I + fileName)) fs.unlinkSync(rep_4I + fileName);
if (fs.existsSync(rep_4H + fileName)) fs.unlinkSync(rep_4H + fileName);
} else if (fs.existsSync(rep_4H + fileName)) {
member.addRole(role_4H);
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
if (fs.existsSync(rep_4I + fileName)) fs.unlinkSync(rep_4I + fileName);
} else if (fs.existsSync(rep_4I + fileName)) {
member.addRole(role_4I);
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
if (fs.existsSync(rep_4H + fileName)) fs.unlinkSync(rep_4H + fileName);
}
member.removeRole(role_4G);
} else if (msgChan == chan_4H) {
if (fs.existsSync(rep_4G + fileName)) {
member.addRole(role_4G);
if (fs.existsSync(rep_4I + fileName)) fs.unlinkSync(rep_4I + fileName);
} else if (fs.existsSync(rep_4I + fileName)) {
member.addRole(role_4I);
if (fs.existsSync(rep_4G + fileName)) fs.unlinkSync(rep_4G + fileName);
}
member.removeRole(role_4H);
} else if (msgChan == chan_4I) {
if (fs.existsSync(rep_4H + fileName)) {
member.addRole(role_4H);
if (fs.existsSync(rep_4G + fileName)) fs.unlinkSync(rep_4G + fileName);
} else if (fs.existsSync(rep_4G + fileName)) {
member.addRole(role_4G);
if (fs.existsSync(rep_4H + fileName)) fs.unlinkSync(rep_4H + fileName);
}
member.removeRole(role_4I);
}
} // END OF USERS COME BACK CMD
}
module.exports = comebackCmd;
const Discord = require("discord.js");
const client = new Discord.Client({autoReconnect: true, max_message_cache: 0});
const config = require("./config.json");
const fs = require("fs-extra");
const decache = require("decache");
const path = require("path");
const prefix = config.prefix;
client.on("ready", (message) => {
const onReady = require("./onReady.js");
onReady(message, client, fs)
});
client.on("message", (message, channel) => {
if (message.content.startsWith(prefix + "purge")) {
if (message.channel.type === "dm") return;
if(!message.guild.member(message.author).hasPermission("MANAGE_GUILD")) return message.reply("**:x: Vous n'avez pas la permission `manage-guild` dans ce serveur**").catch(console.error);
const user = message.mentions.users.first();
const amount = !!parseInt(message.content.split(' ')[1]) ? parseInt(message.content.split(' ')[1]) : parseInt(message.content.split(' ')[2])
if (!amount) return message.reply('**:x: Veuillez spécifier une limite de message**');
if (!amount && !user) return message.reply('**:x: Veuillez spécifier une limite de message**');
if (!user){
if(isNaN(message.content.split(' ')[1]) || parseInt(message.content.split(' ')[1]) < 2 || parseInt(message.content.split(' ')[1]) > 100){
message.channel.send('**:x: Veuillez spécifier une limite de message comprise entre 2 et 100**')
}
}
if(message.content.split(' ')[2]){
if(isNaN(message.content.split(' ')[2]) || parseInt(message.content.split(' ')[2]) < 2 || parseInt(message.content.split(' ')[2]) > 100){
message.channel.send('**:x: Veuillez spécifier une limite de message comprise entre 2 et 100**')
}
}
message.channel.fetchMessages({ limit: amount, })
.then((messages) => {
if (user) {
const filterBy = user ? user.id : Client.user.id;
messages = messages.filter(m => m.author.id === filterBy).array().slice(0, amount);
}
message.channel.bulkDelete(messages).catch(error => console.log(error.stack));
message.channel.send(":wastebasket: | `" + amount + "` messages supprimés").then(msg => msg.delete(3000).catch(err => console.log(err)));
})
}
});
client.on("guildMemberAdd", (member) => {
var newMemberId = member.id;
member.user.send(`**Bienvenue \`${member.user.username}\`**
Vous voici arriver sur **${member.guild.name}** !\n
Avant de pouvoir intégrer cette communauté, il va falloir s'en donner les moyens !\n
A tout instant dans le labyrinthe, vous pouvez utiliser la commande: **\`!choix\`**\nElle vous indiquera vos différentes possibilités en fonctions de l'emplacement où vous vous trouvez.\n
De même, la commande **\`!faire demi-tour\`** (ou **\`!faire demi tour\`**) vous permet de revenir à l'emplacement que vous occupiez précédemment de celui où vous vous trouvez.
Enfin, si vous souhaitez reprendre au choix des portes principales, la commande **\`!restart\`** vous sera d'une grande utilité...\n(elle pourrait bien s'avérer plus que nécessaire... :smirk: )\n
Si vous êtes de la partie, et lorsque vous y serez prêt,\nje vous invite à taper sur **>>> ${enterChan} <<<**\nla commande: **\`!start\`**\n
**La partie n'attend que vous \`${member.user.username}\`!**`)
});
// START / RESTART & HELP USERS COMMANDS
client.on("message", (message, channel) => {
if ((message.author.bot)||(isReady == false)||(message == null)||(message == undefined)) return;
var cmd = message.content.slice(1);
if (message.content.startsWith(prefix) && (message.channel.id != "513786692964974594")) message.delete(500)
//
if (message.channel.id == "513786692964974594") { // Bot DMs
if ((cmd == "restart") && !fs.existsSync(winUsersRep + message.author.id + '.js')) {
message.channel.send(`vous souhaitez (re)commencer votre quête ?\n\nVous avez **30 secondes** pour retourner sur :\n\n**>>> ${enterChan} <<<**\n\nTapez-y la commande: **\`!restart\`**`)
enterChan.overwritePermissions(message.author, { SEND_MESSAGES: true })
setTimeout(function() {
enterChan.overwritePermissions(message.author, { SEND_MESSAGES: false })
}, 30 * 1000)
} else if ((cmd == "restart") && fs.existsSync(winUsersRep + message.author.id + '.js')) {
message.channel.send(`**${message.author.username}** vous avez tapé la commande restart alors que vous êtes arrivé au bout du labyrinthe.
Vous avez **30 secondes** pour retourner sur :\n\n**>>> ${enterChan} <<<**\n\nTapez-y la commande: **\`!restart\`**`)
enterChan.overwritePermissions(message.author, { SEND_MESSAGES: true })
setTimeout(function() {
enterChan.overwritePermissions(message.author, { SEND_MESSAGES: false })
}, 30 * 1000)
}
}
if (message.channel.id == "513786692964974594") return;
var member = message.guild.member(message.author);
var msgChan = message.channel;
var fileName = member.id + '.js';
// USERS START CMD
if ((message.channel == enterChan) && (cmd == 'start')) { // START USERS CMD
const startCmd = require("./startCmd.js")
startCmd(message, client, member, fs)
// RESTART CMD
} else if (cmd == "restart") { // RESTART USERS CMD
const restartCmd = require("./restartCmd.js")
if (!fs.existsSync(winUsersRep + member.id + '.js')) {
restartCmd(message, client, member, fs)
} else {
member.user.send(`**${member.user.username}** vous avez tapé la commande restart alors que vous êtes arrivé au bout du labyrinthe.
Afin de confirmer que ce choix n'a pas été effectué par inadvertance je vous invite à valider votre demande en tapant:\n**\`je veux recommencer le labyrinthe\`**`)
}
} else if (cmd == "choix") { // DONNE LES DIFFERENTS CHOIX POSSIBLES EN FONCTION DU SALON OU L'UTILISATEUR SE TROUVE
const choixCmd = require("./choixCmd.js")
choixCmd(message, member)
} else if ((cmd == "faire demi-tour") || (cmd == "faire demi tour")) { // COME BACK USERS CMD
const comebackCmd = require('./comebackCmd.js')
comebackCmd(message, prefix, client, member, msgChan, cmd, fileName, fs)
}
if ((msgChan == exitChan) && (cmd == enterChoice)) {
if (member.roles.has(winRole.id)) member.remove(winRole.id).then(rmRole => {
member.addRole(role_3I.id)
fs.createFileSync(rep_3I + fileName)
})
}
if (msgChan == chanDoor1) {
if (!fs.existsSync(rep_1A + fileName) && !fs.existsSync(rep_1B + fileName)) { // Premier choix dans le labyrinthe
if (cmd == choice_1A) {
member.addRole(role_1A.id).then(addRole => {
fs.createFileSync(rep_1A + fileName)
setTimeout(function() {
chan_1A.send(`cul de sac... faire demi tour`).then(ans => ans.delete(5000))
if (member.roles.has(door1Role.id)) member.removeRole(door1Role.id)
}, 1 * 1500)
})
} else if (cmd == choice_1B) {
member.addRole(role_1B.id).then(addRole => {
fs.createFileSync(rep_1B + fileName)
setTimeout(function() {
if (member.roles.has(door1Role.id)) member.removeRole(door1Role.id)
}, 1 * 1500)
})
}
} else if (fs.existsSync(rep_1A + fileName)) { // l'utilisateur vient du salon 1A
if (cmd == choice_1A) {
member.addRole(role_1A.id).then(addRole => {
fs.createFileSync(door1UsersRep + fileName)
if (fs.existsSync(rep_1B + fileName)) fs.unlinkSync(rep_1B + fileName);
setTimeout(function() {
chan_1A.send(`cul de sac... faire demi tour`).then(ans => ans.delete(5000))
if (member.roles.has(door1Role.id)) member.removeRole(door1Role.id)
}, 1 * 1500)
})
} else if (cmd == choice_1B) {
member.addRole(role_1B.id).then(addRole => {
fs.createFileSync(rep_1B + fileName)
if (fs.existsSync(rep_1A + fileName)) fs.unlinkSync(rep_1A + fileName);
setTimeout(function() {
if (member.roles.has(door1Role.id)) member.removeRole(door1Role.id)
}, 1 * 1500)
})
}
} else if (fs.existsSync(rep_1B + fileName)) { // l'utilisateur vient du salon 1B
if (cmd == choice_1A) {
member.addRole(role_1A.id).then(addRole => {
fs.createFileSync(rep_1A + fileName)
if (fs.existsSync(rep_1B + fileName)) fs.unlinkSync(rep_1B + fileName);
setTimeout(function() {
chan_1A.send(`cul de sac... faire demi tour`).then(ans => ans.delete(5000))
if (member.roles.has(door1Role.id)) member.removeRole(door1Role.id)
}, 1 * 1500)
})
} else if (cmd == choice_1B) {
member.addRole(role_1B.id).then(addRole => {
fs.createFileSync(rep_1B + fileName)
if (fs.existsSync(rep_1A + fileName)) fs.unlinkSync(rep_1A + fileName);
setTimeout(function() {
if (member.roles.has(door1Role.id)) member.removeRole(door1Role.id)
}, 1 * 1500)
})
}
}
} else if (msgChan == chanDoor2) {
if (!fs.existsSync(rep_2A + fileName) && !fs.existsSync(rep_2B + fileName)) { // Premier choix dans le labyrinthe
if (cmd == choice_2A) {
member.addRole(role_2A.id).then(addRole => {
fs.createFileSync(rep_2A + fileName)
setTimeout(function() {
if (member.roles.has(door2Role.id)) member.removeRole(door2Role.id)
}, 1 * 1500)
})
} else if (cmd == choice_2B) {
member.addRole(role_2B.id).then(addRole => {
fs.createFileSync(rep_2B + fileName)
setTimeout(function() {
if (member.roles.has(door2Role.id)) member.removeRole(door2Role.id)
}, 1 * 1500)
})
}
} else if (fs.existsSync(rep_2A + fileName)) {
if (cmd == choice_2A) {
member.addRole(role_2A.id).then(addRole => {
fs.createFileSync(door2UsersRep + fileName)
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
setTimeout(function() {
if (member.roles.has(door2Role.id)) member.removeRole(door2Role.id)
}, 1 * 1500)
})
} else if (cmd == choice_2B) {
member.addRole(role_2B.id).then(addRole => {
fs.createFileSync(rep_2B + fileName)
if (fs.existsSync(door2UsersRep + fileName)) fs.unlinkSync(door2UsersRep + fileName);
setTimeout(function() {
if (member.roles.has(door2Role.id)) member.removeRole(door2Role.id)
}, 1 * 1500)
})
}
} else if (fs.existsSync(rep_2B + fileName)) {
if (cmd == choice_2A) {
member.addRole(role_2A.id).then(addRole => {
fs.createFileSync(rep_2A + fileName)
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
setTimeout(function() {
if (member.roles.has(door2Role.id)) member.removeRole(door2Role.id)
}, 1 * 1500)
})
} else if (cmd == choice_2B) {
member.addRole(role_2B.id).then(addRole => {
fs.createFileSync(rep_2B + fileName)
if (fs.existsSync(rep_2A + fileName)) fs.unlinkSync(rep_2A + fileName);
setTimeout(function() {
if (member.roles.has(door2Role.id)) member.removeRole(door2Role.id)
}, 1 * 1500)
})
}
}
} else if (msgChan == chanDoor3) {
if (!fs.existsSync(rep_3A + fileName) && !fs.existsSync(rep_3B + fileName)) { // Premier choix dans le labyrinthe
if (cmd == choice_3A) {
member.addRole(role_3A.id).then(addRole => {
fs.createFileSync(rep_3A + fileName)
setTimeout(function() {
chan_3A.send(`cul de sac... faire demi tour`).then(ans => ans.delete(5000))
if (member.roles.has(door3Role.id)) member.removeRole(door3Role.id)
}, 1 * 1500)
})
} else if (cmd == choice_3B) {
member.addRole(role_3B.id).then(addRole => {
fs.createFileSync(rep_3B + fileName)
setTimeout(function() {
if (member.roles.has(door3Role.id)) member.removeRole(door3Role.id)
}, 1 * 1500)
})
}
if (member.roles.has(door1Role.id)) member.removeRole(door1Role.id)
} else if (fs.existsSync(rep_3A + fileName)) { // l'utilisateur vient du salon 3A
if (cmd == choice_3A) {
member.addRole(role_3A.id).then(addRole => {
fs.createFileSync(door3UsersRep + fileName)
if (fs.existsSync(rep_3B + fileName)) fs.unlinkSync(rep_3B + fileName);
setTimeout(function() {
chan_3A.send(`cul de sac... faire demi tour`).then(ans => ans.delete(5000))
if (member.roles.has(door3Role.id)) member.removeRole(door3Role.id)
}, 1 * 1500)
})
} else if (cmd == choice_3B) {
member.addRole(role_3B.id).then(addRole => {
fs.createFileSync(rep_3B + fileName)
if (fs.existsSync(door3UsersRep + fileName)) fs.unlinkSync(door3UsersRep + fileName);
setTimeout(function() {
if (member.roles.has(door3Role.id)) member.removeRole(door3Role.id)
}, 1 * 1500)
})
}
} else if (fs.existsSync(rep_3B + fileName)) { // l'utilisateur vient du salon 3B
if (cmd == choice_3A) {
member.addRole(role_3A.id).then(addRole => {
fs.createFileSync(rep_3A + fileName)
if (fs.existsSync(rep_3B + fileName)) fs.unlinkSync(rep_3B + fileName);
setTimeout(function() {
chan_3A.send(`cul de sac... faire demi tour`).then(ans => ans.delete(5000))
if (member.roles.has(door3Role.id)) member.removeRole(door3Role.id)
}, 1 * 1500)
})
} else if (cmd == choice_3B) {
member.addRole(role_3B.id).then(addRole => {
fs.createFileSync(rep_3B + fileName)
if (fs.existsSync(rep_3A + fileName)) fs.unlinkSync(rep_3A + fileName);
setTimeout(function() {
if (member.roles.has(door3Role.id)) member.removeRole(door3Role.id)
}, 1 * 1500)
})
}
}
} else if (msgChan == chanDoor4) {
if (!fs.existsSync(rep_4A + fileName) && !fs.existsSync(rep_4B + fileName)) { // Premier choix dans le labyrinthe
if (cmd == choice_4A) {
member.addRole(role_4A.id).then(addRole => {
fs.createFileSync(rep_4A + fileName)
setTimeout(function() {
chan_4A.send(`cul de sac... faire demi tour`).then(ans => ans.delete(5000))
if (member.roles.has(door4Role.id)) member.removeRole(door4Role.id)
}, 1 * 1500)
})
} else if (cmd == choice_4B) {
member.addRole(role_4B.id).then(addRole => {
fs.createFileSync(rep_4B + fileName)
setTimeout(function() {
if (member.roles.has(door4Role.id)) member.removeRole(door4Role.id)
}, 1 * 1500)
})
}
} else if (fs.existsSync(rep_4A + fileName)) { // l'utilisateur vient du salon 4A
if (cmd == choice_4A) {
member.addRole(role_4A.id).then(addRole => {
fs.createFileSync(rep_4A + fileName)
if (fs.existsSync(rep_4B + fileName)) fs.unlinkSync(rep_4B + fileName);
setTimeout(function() {
chan_4A.send(`cul de sac... faire demi tour`).then(ans => ans.delete(5000))
if (member.roles.has(door4Role.id)) member.removeRole(door4Role.id)
}, 1 * 1500)
})
} else if (cmd == choice_4B) {
member.addRole(role_4B.id).then(addRole => {
fs.createFileSync(rep_4B + fileName)
if (fs.existsSync(door3UsersRep + fileName)) fs.unlinkSync(door3UsersRep + fileName);
setTimeout(function() {
if (member.roles.has(door4Role.id)) member.removeRole(door4Role.id)
}, 1 * 1500)
})
}
} else if (fs.existsSync(rep_4B + fileName)) { // l'utilisateur vient du salon 4B
if (cmd == choice_4A) {
member.addRole(role_4A.id).then(addRole => {
fs.createFileSync(rep_4A + fileName)
if (fs.existsSync(rep_4B + fileName)) fs.unlinkSync(rep_4B + fileName);
setTimeout(function() {
chan_4A.send(`cul de sac... faire demi tour`).then(ans => ans.delete(5000))
if (member.roles.has(door4Role.id)) member.removeRole(door4Role.id)
}, 1 * 1500)
})
} else if (cmd == choice_4B) {
member.addRole(role_4B.id).then(addRole => {
fs.createFileSync(rep_4B + fileName)
if (fs.existsSync(rep_4A + fileName)) fs.unlinkSync(rep_4A + fileName);
setTimeout(function() {
if (member.roles.has(door4Role.id)) member.removeRole(door4Role.id)
}, 1 * 1500)
})
}
}
}
});
// LABYRINTHE PART 1
client.on("message", (message) => {
if ((message.author.bot)||(isReady == false)||(message == null)||(message == undefined)) return;
if (message.channel.id == "513786692964974594") return;
var member = message.guild.member(message.author);
var cmd = message.content.slice(1);
var fileName = member.id + '.js';
var congratMsg = `**${member}**, félicitations ! Vous venez de découvrir la porte d'entrée du discord !\nPour entrer... **\`!entrer\`**\nLes membres présents ont été prévenus de votre arrivée soudaine, vous êtes à présent convié(e) à vous faire votre petite place parmis nous ! ^^\n
En vous souhaitant la bienvenue par avance, je vous souhaite une bonne installation au nom de la communauté !`;
if ((message.channel == chan_1B) && ((cmd == choice_1C)||(cmd == choice_1D)||(cmd == choice_1A)||(cmd == choice_1))) { // CHAN_1B
if (cmd == choice_1C) { // PIEGE ICI
member.addRole(role_1C.id).then(addRole => {
fs.createFileSync(rep_1C + fileName)
if (fs.existsSync(door1UsersRep + fileName)) fs.unlinkSync(door1UsersRep + fileName);
if (fs.existsSync(rep_1A + fileName)) fs.unlinkSync(rep_1A + fileName);
if (fs.existsSync(rep_1D + fileName)) fs.unlinkSync(rep_1D + fileName);
})
} else if (cmd == choice_1D) {
member.addRole(role_1D.id).then(addRole => {
fs.createFileSync(rep_1D + fileName)
if (fs.existsSync(door1UsersRep + fileName)) fs.unlinkSync(door1UsersRep + fileName);
if (fs.existsSync(rep_1A + fileName)) fs.unlinkSync(rep_1A + fileName);
})
} else if (cmd == choice_1A) {
member.addRole(role_1A.id).then(addRole => {
fs.createFileSync(rep_1A + fileName)
if (fs.existsSync(door1UsersRep + fileName)) fs.unlinkSync(door1UsersRep + fileName);
if (fs.existsSync(rep_1D + fileName)) fs.unlinkSync(rep_1D + fileName);
})
} else if (cmd == choice_1) {
member.addRole(door1Role.id).then(addRole => {
fs.createFileSync(door1UsersRep + fileName)
if (fs.existsSync(rep_1A + fileName)) fs.unlinkSync(rep_1A + fileName);
if (fs.existsSync(rep_1D + fileName)) fs.unlinkSync(rep_1D + fileName);
})
}
if (member.roles.has(role_1B.id)) member.removeRole(role_1B.id);
}
if ((message.channel == chan_1D) && ((cmd == choice_1E)||(cmd == choice_1F)||(cmd == choice_1B)||(cmd == choice_1C))) { // CHAN_1D
if (cmd == choice_1E) {
member.addRole(role_1E.id).then(addRole => {
fs.createFileSync(rep_1E + fileName)
if (fs.existsSync(rep_1B + fileName)) fs.unlinkSync(rep_1B + fileName);
if (fs.existsSync(rep_1F + fileName)) fs.unlinkSync(rep_1F + fileName);
})
} else if (cmd == choice_1F) {
member.addRole(role_1F.id).then(addRole => {
fs.createFileSync(rep_1F + fileName)
if (fs.existsSync(rep_1E + fileName)) fs.unlinkSync(rep_1E + fileName);
if (fs.existsSync(rep_1B + fileName)) fs.unlinkSync(rep_1B + fileName);
})
} else if (cmd == choice_1B) {
member.addRole(role_1B.id).then(addRole => {
fs.createFileSync(rep_1B + fileName)
if (fs.existsSync(rep_1E + fileName)) fs.unlinkSync(rep_1E + fileName);
if (fs.existsSync(rep_1F + fileName)) fs.unlinkSync(rep_1F + fileName);
})
} else if (cmd == choice_1C) {
member.addRole(role_1C.id).then(addRole => {
fs.createFileSync(rep_1C + fileName)
if (fs.existsSync(rep_1B + fileName)) fs.unlinkSync(rep_1B + fileName);
if (fs.existsSync(rep_1E + fileName)) fs.unlinkSync(rep_1E + fileName);
})
}
if (member.roles.has(role_1D.id)) member.removeRole(role_1D.id);
}
if ((message.channel == chan_1F) && ((cmd == choice_2A)||(cmd == choice_2C)||(cmd == choice_1D)||(cmd == choice_1E))) { // CHAN_1F
if (cmd == choice_2A) member.addRole(role_2A.id).then(addRole => {
fs.createFileSync(rep_2A + fileName)
if (fs.existsSync(rep_1D + fileName)) fs.unlinkSync(rep_1D + fileName);
if (fs.existsSync(rep_1E + fileName)) fs.unlinkSync(rep_1E + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
})
if (cmd == choice_2C) member.addRole(role_2C.id).then(addRole => {
fs.createFileSync(rep_2C + fileName)
if (fs.existsSync(rep_1D + fileName)) fs.unlinkSync(rep_1D + fileName);
if (fs.existsSync(rep_1E + fileName)) fs.unlinkSync(rep_1E + fileName);
if (fs.existsSync(rep_2A + fileName)) fs.unlinkSync(rep_2A + fileName);
})
if (cmd == choice_1D) member.addRole(role_2A.id).then(addRole => {
fs.createFileSync(rep_1D + fileName)
if (fs.existsSync(rep_1E + fileName)) fs.unlinkSync(rep_1E + fileName);
if (fs.existsSync(rep_2A + fileName)) fs.unlinkSync(rep_2A + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
})
if (cmd == choice_1E) member.addRole(role_2C.id).then(addRole => {
fs.createFileSync(rep_1E + fileName)
if (fs.existsSync(rep_1B + fileName)) fs.unlinkSync(rep_1B + fileName);
if (fs.existsSync(rep_2A + fileName)) fs.unlinkSync(rep_2A + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
})
if (member.roles.has(role_1F.id)) member.removeRole(role_1F.id);
}
});
// LABYRINTHE PART 2
client.on("message", (message) => {
if ((message.author.bot)||(isReady == false)||(message == null)||(message == undefined)) return;
if (message.channel.id == "513786692964974594") return;
var member = message.guild.member(message.author);
var cmd = message.content.slice(1);
var fileName = member.id + '.js';
if ((message.channel == chan_2A) && ((cmd == choice_1F)||(cmd == choice_2C)||(cmd == choice_2B)||(cmd == choice_2))) { // CHAN_2A
if (cmd == choice_1F) member.addRole(role_1F).then(addRole => {
fs.createFileSync(rep_1F + fileName)
if (fs.existsSync(door2UsersRep + fileName)) fs.unlinkSync(door2UsersRep + fileName);
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
})
if (cmd == choice_2C) member.addRole(role_2C).then(addRole => {
fs.createFileSync(rep_2C + fileName)
if (fs.existsSync(door2UsersRep + fileName)) fs.unlinkSync(door2UsersRep + fileName);
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
if (fs.existsSync(rep_1F + fileName)) fs.unlinkSync(rep_1F + fileName);
})
if (cmd == choice_2B) member.addRole(role_2B).then(addRole => {
fs.createFileSync(rep_2B + fileName)
if (fs.existsSync(door2UsersRep + fileName)) fs.unlinkSync(door2UsersRep + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
if (fs.existsSync(rep_1F + fileName)) fs.unlinkSync(rep_1F + fileName);
})
if (cmd == choice_2) member.addRole(role_2C).then(addRole => {
fs.createFileSync(rep_2C + fileName)
if (fs.existsSync(door2UsersRep + fileName)) fs.unlinkSync(door2UsersRep + fileName);
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
if (fs.existsSync(rep_1F + fileName)) fs.unlinkSync(rep_1F + fileName);
})
if (member.roles.has(role_2A.id)) member.removeRole(role_2A.id);
}
if ((message.channel == chan_2B) && ((cmd == choice_2C)||(cmd == choice_2D)||(cmd == choice_2A)||(cmd == choice_2))) { // CHAN_2B
if (cmd == choice_2C) member.addRole(role_2C).then(addRole => {
fs.createFileSync(rep_2C + fileName)
if (fs.existsSync(door2UsersRep + fileName)) fs.unlinkSync(door2UsersRep + fileName);
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
if (fs.existsSync(rep_1F + fileName)) fs.unlinkSync(rep_1F + fileName);
})
if (cmd == choice_2D) member.addRole(role_2D).then(addRole => {
fs.createFileSync(rep_2D + fileName)
if (fs.existsSync(door2UsersRep + fileName)) fs.unlinkSync(door2UsersRep + fileName);
if (fs.existsSync(rep_2A + fileName)) fs.unlinkSync(rep_2A + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
})
if (cmd == choice_2A) member.addRole(role_2A).then(addRole => {
fs.createFileSync(rep_2A + fileName)
if (fs.existsSync(door2UsersRep + fileName)) fs.unlinkSync(door2UsersRep + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
})
if (cmd == choice_2) member.addRole(door2Role).then(addRole => {
fs.createFileSync(door2UsersRep + fileName)
if (fs.existsSync(rep_2A + fileName)) fs.unlinkSync(rep_2A + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
})
if (member.roles.has(role_2B.id)) member.removeRole(role_2B.id);
}
if ((message.channel == chan_2C) && ((cmd == choice_1F)||(cmd == choice_2A)||(cmd == choice_2B)||(cmd == choice_2D))) { // CHAN_2C
if (cmd == choice_1F) member.addRole(role_1F).then(addRole => {
fs.createFileSync(rep_1F + fileName)
if (fs.existsSync(rep_2A + fileName)) fs.unlinkSync(rep_2A + fileName);
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
})
if (cmd == choice_2A) member.addRole(role_2A).then(addRole => {
fs.createFileSync(rep_2A + fileName)
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
if (fs.existsSync(rep_1F + fileName)) fs.unlinkSync(rep_1F + fileName);
})
if (cmd == choice_2B) member.addRole(role_2B).then(addRole => {
fs.createFileSync(rep_2B + fileName)
if (fs.existsSync(rep_2A + fileName)) fs.unlinkSync(rep_2A + fileName);
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
if (fs.existsSync(rep_1F + fileName)) fs.unlinkSync(rep_1F + fileName);
})
if (cmd == choice_2D) member.addRole(role_2D).then(addRole => {
fs.createFileSync(rep_2D + fileName)
if (fs.existsSync(rep_2A + fileName)) fs.unlinkSync(rep_2A + fileName);
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
if (fs.existsSync(rep_1F + fileName)) fs.unlinkSync(rep_1F + fileName);
})
if (member.roles.has(role_2C.id)) member.removeRole(role_2C.id);
}
if ((message.channel == chan_2D) && ((cmd == choice_2E)||(cmd == choice_2F)||(cmd == choice_2B)||(cmd == choice_2C))) { // CHAN_2D
if (cmd == choice_2E) member.addRole(role_2E).then(addRole => {
fs.createFileSync(rep_2E + fileName)
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
if (fs.existsSync(rep_2F + fileName)) fs.unlinkSync(rep_2F + fileName);
})
if (cmd == choice_2F) member.addRole(role_2F).then(addRole => {
fs.createFileSync(rep_2F + fileName)
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
if (fs.existsSync(rep_2E + fileName)) fs.unlinkSync(rep_2E + fileName);
})
if (cmd == choice_2B) member.addRole(role_2B).then(addRole => {
fs.createFileSync(rep_2B + fileName)
if (fs.existsSync(rep_2C + fileName)) fs.unlinkSync(rep_2C + fileName);
if (fs.existsSync(rep_2E + fileName)) fs.unlinkSync(rep_2E + fileName);
if (fs.existsSync(rep_2F + fileName)) fs.unlinkSync(rep_2F + fileName);
})
if (cmd == choice_2C) member.addRole(role_2C).then(addRole => {
fs.createFileSync(rep_2C + fileName)
if (fs.existsSync(rep_2B + fileName)) fs.unlinkSync(rep_2B + fileName);
if (fs.existsSync(rep_2E + fileName)) fs.unlinkSync(rep_2E + fileName);
if (fs.existsSync(rep_2F + fileName)) fs.unlinkSync(rep_2F + fileName);
})
if (member.roles.has(role_2D.id)) member.removeRole(role_2D.id);
}
if ((message.channel == chan_2E) && ((cmd == choice_2I)||(cmd == choice_3H)||(cmd == choice_2D)||(cmd == choice_2F))) {// CHAN_2E
if (cmd == choice_2I) member.addRole(role_2I).then(addRole => {
fs.createFileSync(rep_2I + fileName)
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
if (fs.existsSync(rep_2F + fileName)) fs.unlinkSync(rep_2F + fileName);
if (fs.existsSync(rep_3H + fileName)) fs.unlinkSync(rep_3H + fileName);
})
if (cmd == choice_3H) member.addRole(role_3H).then(addRole => {
fs.createFileSync(rep_3H + fileName)
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
if (fs.existsSync(rep_2F + fileName)) fs.unlinkSync(rep_2F + fileName);
})
if (cmd == choice_2D) member.addRole(role_2D).then(addRole => {
fs.createFileSync(rep_2D + fileName)
if (fs.existsSync(rep_2F + fileName)) fs.unlinkSync(rep_2F + fileName);
if (fs.existsSync(rep_3H + fileName)) fs.unlinkSync(rep_3H + fileName);
})
if (cmd == choice_2F) member.addRole(role_2F).then(addRole => {
fs.createFileSync(rep_2F + fileName)
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
if (fs.existsSync(rep_3H + fileName)) fs.unlinkSync(rep_3H + fileName);
})
if (member.roles.has(role_2E.id)) member.removeRole(role_2E.id);
}
if ((message.channel == chan_2F) && ((cmd == choice_2G)||(cmd == choice_2H)||(cmd == choice_2E)||(cmd == choice_2D))) { // CHAN_2F
if (cmd == choice_2G) member.addRole(role_2G).then(addRole => {
fs.createFileSync(rep_2G + fileName)
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
if (fs.existsSync(rep_2E + fileName)) fs.unlinkSync(rep_2E + fileName);
if (fs.existsSync(rep_2H + fileName)) fs.unlinkSync(rep_2H + fileName);
})
if (cmd == choice_2H) member.addRole(role_2H).then(addRole => {
fs.createFileSync(rep_2H + fileName)
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
if (fs.existsSync(rep_2E + fileName)) fs.unlinkSync(rep_2E + fileName);
})
if (cmd == choice_2E) member.addRole(role_2E).then(addRole => {
fs.createFileSync(rep_2E + fileName)
if (fs.existsSync(rep_2H + fileName)) fs.unlinkSync(rep_2H + fileName);
if (fs.existsSync(rep_2D + fileName)) fs.unlinkSync(rep_2D + fileName);
})
if (cmd == choice_2D) member.addRole(role_2D).then(addRole => {
fs.createFileSync(rep_2D + fileName)
if (fs.existsSync(rep_2E + fileName)) fs.unlinkSync(rep_2E + fileName);
if (fs.existsSync(rep_2H + fileName)) fs.unlinkSync(rep_2H + fileName);
})
if (member.roles.has(role_2F.id)) member.removeRole(role_2F.id);
}
});
// LABYRINTHE PART 3
client.on("message", (message) => {
if ((message.author.bot)||(isReady == false)||(message == null)||(message == undefined)) return;
if (message.channel.id == "513786692964974594") return;
var member = message.guild.member(message.author);
var cmd = message.content.slice(1);
var fileName = member.id + '.js';
if ((message.channel == chan_3B) && ((cmd == choice_3C)||(cmd == choice_3D)||(cmd == choice_3A)||(cmd == choice_3))) { // CHAN_3B
if (cmd == choice_3C) member.addRole(role_3C).then(addRole => {
fs.createFileSync(rep_3C + fileName)
if (fs.existsSync(door3UsersRep + fileName)) fs.unlinkSync(door3UsersRep + fileName);
if (fs.existsSync(rep_3A + fileName)) fs.unlinkSync(rep_3A + fileName);
if (fs.existsSync(rep_3D + fileName)) fs.unlinkSync(rep_3D + fileName);
})
if (cmd == choice_3D) member.addRole(role_3D).then(addRole => {
fs.createFileSync(rep_3D + fileName)
if (fs.existsSync(door3UsersRep + fileName)) fs.unlinkSync(door3UsersRep + fileName);
if (fs.existsSync(rep_3A + fileName)) fs.unlinkSync(rep_3A + fileName);
if (fs.existsSync(rep_3C + fileName)) fs.unlinkSync(rep_3C + fileName);
})
if (cmd == choice_3A) member.addRole(role_3A).then(addRole => {
fs.createFileSync(rep_3A + fileName)
if (fs.existsSync(door3UsersRep + fileName)) fs.unlinkSync(door3UsersRep + fileName);
if (fs.existsSync(rep_3C + fileName)) fs.unlinkSync(rep_3C + fileName);
if (fs.existsSync(rep_3D + fileName)) fs.unlinkSync(rep_3D + fileName);
})
if (cmd == choice_3) member.addRole(door3Role).then(addRole => {
fs.createFileSync(door3UsersRepou + fileName)
if (fs.existsSync(rep_3A + fileName)) fs.unlinkSync(rep_3A + fileName);
if (fs.existsSync(rep_3C + fileName)) fs.unlinkSync(rep_3C + fileName);
if (fs.existsSync(rep_3D + fileName)) fs.unlinkSync(rep_3D + fileName);
})
if (member.roles.has(role_3B.id)) member.removeRole(role_3B.id);
} else if ((message.channel == chan_3D) && ((cmd == choice_3E)||(cmd == choice_3F)||(cmd == choice_3C)||(cmd == choice_3B))) { // CHAN_3D
if (cmd == choice_3E) member.addRole(role_3E).then(addRole => {
fs.createFileSync(rep_3E + fileName)
if (fs.existsSync(door3UsersRep + fileName)) fs.unlinkSync(door3UsersRep + fileName);
if (fs.existsSync(rep_3A + fileName)) fs.unlinkSync(rep_3A + fileName);
if (fs.existsSync(rep_3D + fileName)) fs.unlinkSync(rep_3D + fileName);
})
if (cmd == choice_3F) member.addRole(role_3F).then(addRole => {
fs.createFileSync(rep_3F + fileName)
if (fs.existsSync(door3UsersRep + fileName)) fs.unlinkSync(door3UsersRep + fileName);
if (fs.existsSync(rep_3A + fileName)) fs.unlinkSync(rep_3A + fileName);
if (fs.existsSync(rep_3C + fileName)) fs.unlinkSync(rep_3C + fileName);
})
if (cmd == choice_3C) member.addRole(role_3C).then(addRole => {
fs.createFileSync(rep_3C + fileName)
if (fs.existsSync(door3UsersRep + fileName)) fs.unlinkSync(door3UsersRep + fileName);
if (fs.existsSync(rep_3C + fileName)) fs.unlinkSync(rep_3C + fileName);
if (fs.existsSync(rep_3D + fileName)) fs.unlinkSync(rep_3D + fileName);
})
if (cmd == choice_3B) member.addRole(door3Role).then(addRole => {
fs.createFileSync(rep_3B + fileName)
if (fs.existsSync(rep_3A + fileName)) fs.unlinkSync(rep_3A + fileName);
if (fs.existsSync(rep_3C + fileName)) fs.unlinkSync(rep_3C + fileName);
if (fs.existsSync(rep_3D + fileName)) fs.unlinkSync(rep_3D + fileName);
})
if (member.roles.has(role_3D.id)) member.removeRole(role_3D.id);
} else if ((message.channel == chan_3F) && ((cmd == choice_3G)||(cmd == choice_3H)||(cmd == choice_3E)||(cmd == choice_3D))) { // CHAN_3D
if (cmd == choice_3G) member.addRole(role_3G).then(addRole => {
fs.createFileSync(rep_3G + fileName)
if (fs.existsSync(rep_3H + fileName)) fs.unlinkSync(rep_3H + fileName);
if (fs.existsSync(rep_3D + fileName)) fs.unlinkSync(rep_3D + fileName);
})
if (cmd == choice_3H) member.addRole(role_3H).then(addRole => {
fs.createFileSync(rep_3H + fileName)
if (fs.existsSync(rep_3G + fileName)) fs.unlinkSync(rep_3G + fileName);
if (fs.existsSync(rep_3D + fileName)) fs.unlinkSync(rep_3D + fileName);
})
if (cmd == choice_3E) member.addRole(role_3E).then(addRole => {
fs.createFileSync(rep_3E + fileName)
if (fs.existsSync(rep_3H + fileName)) fs.unlinkSync(rep_3H + fileName);
if (fs.existsSync(rep_3G + fileName)) fs.unlinkSync(rep_3G + fileName);
if (fs.existsSync(rep_3D + fileName)) fs.unlinkSync(rep_3D + fileName);
})
if (cmd == choice_3D) member.addRole(rep_3D).then(addRole => {
fs.createFileSync(rep_3D + fileName)
if (fs.existsSync(rep_3B + fileName)) fs.unlinkSync(rep_3B + fileName);
if (fs.existsSync(rep_3C + fileName)) fs.unlinkSync(rep_3C + fileName);
if (fs.existsSync(rep_3G + fileName)) fs.unlinkSync(rep_3G + fileName);
if (fs.existsSync(rep_3H + fileName)) fs.unlinkSync(rep_3H + fileName);
})
if (member.roles.has(role_3F.id)) member.removeRole(role_3F.id);
} else if ((message.channel == chan_3G) && ((cmd == choice_3I)||(cmd == choice_3J)||(cmd == choice_3H)||(cmd == choice_3F))) { // CHAN_3G
if (cmd == choice_3I) member.addRole(role_3I).then(addRole => { // VICTOIRE !!!
fs.createFileSync(rep_3I + fileName)
if (fs.existsSync(rep_3F + fileName)) fs.unlinkSync(rep_3F + fileName);
if (fs.existsSync(rep_3H + fileName)) fs.unlinkSync(rep_3H + fileName);
if (fs.existsSync(rep_3J + fileName)) fs.unlinkSync(rep_3J + fileName);
setTimeout(function() {
chan_3I.send(congratMsg)
}, 1 * 1500)
})
if (cmd == choice_3J) member.addRole(role_3J).then(addRole => {
fs.createFileSync(rep_3J + fileName)
if (fs.existsSync(rep_3F + fileName)) fs.unlinkSync(rep_3F + fileName);
if (fs.existsSync(rep_3H + fileName)) fs.unlinkSync(rep_3H + fileName);
if (fs.existsSync(rep_3I + fileName)) fs.unlinkSync(rep_3I + fileName);
})
if (cmd == choice_3H) member.addRole(role_3H).then(addRole => {
fs.createFileSync(rep_3H + fileName)
if (fs.existsSync(rep_3F + fileName)) fs.unlinkSync(rep_3F + fileName);
if (fs.existsSync(rep_3I + fileName)) fs.unlinkSync(rep_3I + fileName);
if (fs.existsSync(rep_3J + fileName)) fs.unlinkSync(rep_3J + fileName);
})
if (cmd == choice_3F) member.addRole(rep_3F).then(addRole => {
fs.createFileSync(rep_3F + fileName)
if (fs.existsSync(rep_3H + fileName)) fs.unlinkSync(rep_3H + fileName);
if (fs.existsSync(rep_3I + fileName)) fs.unlinkSync(rep_3I + fileName);
if (fs.existsSync(rep_3J + fileName)) fs.unlinkSync(rep_3J + fileName);
})
if (member.roles.has(role_3G.id)) member.removeRole(role_3G.id);
} else if ((message.channel == chan_3H) && ((cmd == choice_2E)||(cmd == choice_2I)||(cmd == choice_3G)||(cmd == choice_3F))) { // CHAN_3H
if (cmd == choice_2E) member.addRole(role_2E).then(addRole => {
fs.createFileSync(rep_2E + fileName)
if (fs.existsSync(rep_3G + fileName)) fs.unlinkSync(rep_3G + fileName);
if (fs.existsSync(rep_2F + fileName)) fs.unlinkSync(rep_3F + fileName);
})
if (cmd == choice_2I) member.addRole(role_2I).then(addRole => {
fs.createFileSync(rep_2I + fileName)
if (fs.existsSync(rep_3G + fileName)) fs.unlinkSync(rep_3G + fileName);
if (fs.existsSync(rep_3F + fileName)) fs.unlinkSync(rep_3F + fileName);
if (fs.existsSync(rep_3E + fileName)) fs.unlinkSync(rep_2E + fileName);
})
if (cmd == choice_3G) member.addRole(role_3G).then(addRole => {
fs.createFileSync(rep_3G + fileName)
if (fs.existsSync(rep_2E + fileName)) fs.unlinkSync(rep_2E + fileName);
if (fs.existsSync(rep_3F + fileName)) fs.unlinkSync(rep_3F + fileName);
})
if (cmd == choice_3F) member.addRole(rep_3F).then(addRole => {
fs.createFileSync(rep_3F + fileName)
if (fs.existsSync(rep_2E + fileName)) fs.unlinkSync(rep_2E + fileName);
if (fs.existsSync(rep_3G + fileName)) fs.unlinkSync(rep_3G + fileName);
})
if (member.roles.has(role_3H.id)) member.removeRole(role_3H.id);
} else if ((message.channel == chan_3I) && (cmd == enterChoice)) {
fs.createFileSync(winUsersRep + fileName)
if (fs.existsSync(rep_3G + fileName)) fs.unlinkSync(rep_3G + fileName);
if (fs.existsSync(rep_3J + fileName)) fs.unlinkSync(rep_3J + fileName);
if (fs.existsSync(startedUsersRep + fileName)) fs.unlinkSync(startedUsersRep + fileName);
member.addRole(winRole.id).then(addRole => {
labyMainRolesList.forEach(role => {
if (member.roles.has(role.id)) member.removeRole(role.id) && console.log(` Il a perdu le rôle ${role.name}`)
})
labyRolesList.forEach(role => {
if (member.roles.has(role.id)) member.removeRole(role.id) && console.log(` Il a perdu le rôle ${role.name}`)
})
})
} else if ((message.channel == chan_3J) && ((cmd == choice_3K)||(cmd == choice_3L)||(cmd == choice_3G)||(cmd == choice_3I))) { // CHAN_3H
if (cmd == choice_3K) member.addRole(role_3K).then(addRole => {
fs.createFileSync(rep_3K + fileName)
if (fs.existsSync(rep_3G + fileName)) fs.unlinkSync(rep_3G + fileName);
if (fs.existsSync(rep_3I + fileName)) fs.unlinkSync(rep_3I + fileName);
})
if (cmd == choice_3L) member.addRole(role_3L).then(addRole => {
fs.createFileSync(rep_3L + fileName)
if (fs.existsSync(rep_3G + fileName)) fs.unlinkSync(rep_3G + fileName);
if (fs.existsSync(rep_3F + fileName)) fs.unlinkSync(rep_3F + fileName);
if (fs.existsSync(rep_3E + fileName)) fs.unlinkSync(rep_2E + fileName);
})
if (cmd == choice_3G) member.addRole(role_3G).then(addRole => {
fs.createFileSync(rep_3G + fileName)
if (fs.existsSync(rep_2E + fileName)) fs.unlinkSync(rep_2E + fileName);
if (fs.existsSync(rep_3F + fileName)) fs.unlinkSync(rep_3F + fileName);
})
if (cmd == choice_3I) member.addRole(rep_3I).then(addRole => { // VICTOIRE !!!
fs.createFileSync(rep_3I + fileName)
if (fs.existsSync(rep_3G + fileName)) fs.unlinkSync(rep_3G + fileName);
setTimeout(function() {
chan_3I.send(congratMsg)
}, 1 * 1500)
})
if (member.roles.has(role_3J.id)) member.removeRole(role_3J.id);
}
});
// LABYRINTHE PART 4
client.on("message", (message) => {
if ((message.author.bot)||(isReady == false)||(message == null)||(message == undefined)) return;
if (message.channel.id == "513786692964974594") return;
var member = message.guild.member(message.author);
var cmd = message.content.slice(1);
var fileName = member.id + '.js';
if ((message.channel == chan_4B) && ((cmd == choice_4C)||(cmd == choice_4D)||(cmd == choice_4A)||(cmd == choice_4))) { // CHAN_4B
if (cmd == choice_4C) member.addRole(role_4C).then(addRole => {
fs.createFileSync(rep_4C + fileName)
if (fs.existsSync(door4UsersRep + fileName)) fs.unlinkSync(door4UsersRep + fileName);
if (fs.existsSync(rep_4A + fileName)) fs.unlinkSync(rep_4A + fileName);
if (fs.existsSync(rep_4D + fileName)) fs.unlinkSync(rep_4D + fileName);
})
if (cmd == choice_4D) member.addRole(role_4D).then(addRole => {
fs.createFileSync(rep_4D + fileName)
if (fs.existsSync(door4UsersRep + fileName)) fs.unlinkSync(door4UsersRep + fileName);
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4A + fileName)) fs.unlinkSync(rep_4A + fileName);
})
if (cmd == choice_4A) member.addRole(role_4A).then(addRole => {
fs.createFileSync(rep_4A + fileName)
if (fs.existsSync(door4UsersRep + fileName)) fs.unlinkSync(door4UsersRep + fileName);
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4D + fileName)) fs.unlinkSync(rep_4D + fileName);
})
if (cmd == choice_4) member.addRole(door4Role).then(addRole => {
fs.createFileSync(door4UsersRep + fileName)
if (fs.existsSync(rep_4A + fileName)) fs.unlinkSync(rep_4A + fileName);
if (fs.existsSync(rep_3C + fileName)) fs.unlinkSync(rep_3C + fileName);
if (fs.existsSync(rep_3D + fileName)) fs.unlinkSync(rep_3D + fileName);
})
if (member.roles.has(role_4B.id)) member.removeRole(role_4B.id);
} else if ((message.channel == chan_4C) && ((cmd == choice_4E)||(cmd == choice_4G)||(cmd == choice_4D)||(cmd == choice_4B))) { // CHAN_4C
if (cmd == choice_4E) member.addRole(role_4E).then(addRole => {
fs.createFileSync(rep_4E + fileName)
if (fs.existsSync(rep_4B + fileName)) fs.unlinkSync(rep_4B + fileName);
if (fs.existsSync(rep_4D + fileName)) fs.unlinkSync(rep_4D + fileName);
if (fs.existsSync(rep_4G + fileName)) fs.unlinkSync(rep_4G + fileName);
})
if (cmd == choice_4G) member.addRole(role_4G).then(addRole => {
fs.createFileSync(rep_4G + fileName)
if (fs.existsSync(rep_4B + fileName)) fs.unlinkSync(rep_4B + fileName);
if (fs.existsSync(rep_4D + fileName)) fs.unlinkSync(rep_4D + fileName);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
})
if (cmd == choice_4D) member.addRole(role_4D).then(addRole => {
fs.createFileSync(rep_4D + fileName)
if (fs.existsSync(rep_4B + fileName)) fs.unlinkSync(rep_4B + fileName);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
if (fs.existsSync(rep_4G + fileName)) fs.unlinkSync(rep_4G + fileName);
})
if (cmd == choice_4B) member.addRole(role_4B).then(addRole => {
fs.createFileSync(rep_4B + fileName)
if (fs.existsSync(rep_4D + fileName)) fs.unlinkSync(rep_4D + fileName);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
if (fs.existsSync(rep_4G + fileName)) fs.unlinkSync(rep_4G + fileName);
})
if (member.roles.has(role_4C.id)) member.removeRole(role_4C.id);
} else if ((message.channel == chan_4D) && ((cmd == choice_4E)||(cmd == choice_4F)||(cmd == choice_4C)||(cmd == choice_4B))) { // CHAN_4D
if (cmd == choice_4E) member.addRole(role_4E).then(addRole => {
fs.createFileSync(rep_4E + fileName)
if (fs.existsSync(rep_4B + fileName)) fs.unlinkSync(rep_4B + fileName);
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
})
if (cmd == choice_4F) member.addRole(role_4F).then(addRole => {
fs.createFileSync(rep_4F + fileName)
if (fs.existsSync(rep_4B + fileName)) fs.unlinkSync(rep_4B + fileName);
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
})
if (cmd == choice_4C) member.addRole(role_4C).then(addRole => {
fs.createFileSync(rep_4C + fileName)
if (fs.existsSync(rep_4B + fileName)) fs.unlinkSync(rep_4B + fileName);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
if (fs.existsSync(rep_4G + fileName)) fs.unlinkSync(rep_4G + fileName);
})
if (cmd == choice_4B) member.addRole(role_4B).then(addRole => {
fs.createFileSync(rep_4B + fileName)
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
if (fs.existsSync(rep_4G + fileName)) fs.unlinkSync(rep_4G + fileName);
})
if (member.roles.has(role_4D.id)) member.removeRole(role_4D.id);
} else if ((message.channel == chan_4E) && ((cmd == choice_4F)||(cmd == choice_4G)||(cmd == choice_4C)||(cmd == choice_4D))) { // CHAN_4E
if (cmd == choice_4F) member.addRole(role_4E).then(addRole => {
fs.createFileSync(rep_4E + fileName)
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4D + fileName)) fs.unlinkSync(rep_4D + fileName);
if (fs.existsSync(rep_4G + fileName)) fs.unlinkSync(rep_4G + fileName);
})
if (cmd == choice_4G) member.addRole(role_4G).then(addRole => {
fs.createFileSync(rep_4G + fileName)
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4D + fileName)) fs.unlinkSync(rep_4D + fileName);
})
if (cmd == choice_4C) member.addRole(role_4D).then(addRole => {
fs.createFileSync(rep_4D + fileName)
if (fs.existsSync(rep_4D + fileName)) fs.unlinkSync(rep_4D + fileName);
if (fs.existsSync(rep_4G + fileName)) fs.unlinkSync(rep_4G + fileName);
})
if (cmd == choice_4D) member.addRole(role_4B).then(addRole => {
fs.createFileSync(rep_4B + fileName)
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4G + fileName)) fs.unlinkSync(rep_4G + fileName);
})
if (member.roles.has(role_4E.id)) member.removeRole(role_4E.id);
} else if ((message.channel == chan_4G) && ((cmd == choice_4I)||(cmd == choice_4H)||(cmd == choice_4C)||(cmd == choice_4E))) { // CHAN_4G
if (cmd == choice_4I) member.addRole(role_4I).then(addRole => {
fs.createFileSync(rep_4I + fileName)
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
if (fs.existsSync(rep_4H + fileName)) fs.unlinkSync(rep_4H + fileName);
})
if (cmd == choice_4H) member.addRole(role_4H).then(addRole => {
fs.createFileSync(rep_4H + fileName)
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
if (fs.existsSync(rep_4I + fileName)) fs.unlinkSync(rep_4I + fileName);
})
if (cmd == choice_4C) member.addRole(role_4C).then(addRole => {
fs.createFileSync(rep_4C + fileName)
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
if (fs.existsSync(rep_4H + fileName)) fs.unlinkSync(rep_4H + fileName);
if (fs.existsSync(rep_4I + fileName)) fs.unlinkSync(rep_4I + fileName);
})
if (cmd == choice_4E) member.addRole(role_4E).then(addRole => {
fs.createFileSync(rep_4E + fileName)
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
if (fs.existsSync(rep_4H + fileName)) fs.unlinkSync(rep_4H + fileName);
})
if (member.roles.has(role_4G.id)) member.removeRole(role_4G.id);
} else if ((message.channel == chan_4I) && ((cmd == choice_4G)||(cmd == choice_4H))) { // CHAN_4G
if (cmd == choice_4G) member.addRole(role_4G).then(addRole => {
fs.createFileSync(rep_4G + fileName)
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
if (fs.existsSync(rep_4H + fileName)) fs.unlinkSync(rep_4H + fileName);
})
if (cmd == choice_4H) member.addRole(role_4H).then(addRole => {
fs.createFileSync(rep_4H + fileName)
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
if (fs.existsSync(rep_4G + fileName)) fs.unlinkSync(rep_4G + fileName);
})
if (cmd == jumpCmd) member.addRole(role_2E).then(addRole => { // TELEPORTATION VERS CHAN_2E
fs.createFileSync(rep_2E + fileName)
if (fs.existsSync(rep_4C + fileName)) fs.unlinkSync(rep_4C + fileName);
if (fs.existsSync(rep_4E + fileName)) fs.unlinkSync(rep_4E + fileName);
if (fs.existsSync(rep_4G + fileName)) fs.unlinkSync(rep_4G + fileName);
if (fs.existsSync(rep_4H + fileName)) fs.unlinkSync(rep_4H + fileName);
if (fs.existsSync(rep_4I + fileName)) fs.unlinkSync(rep_4I + fileName);
})
if (member.roles.has(role_4I.id)) member.removeRole(role_4I.id);
}
});
client.on("guildMemberRemove", (member) => { // l'utilisateur quitte avant d'avoir réagit au règlement
var quitMsg = `${member.user.username} a quitté ${member.guild.name} avant d'avoir `;
var userFileConf = startedUsersRep + member.id + '.js'
if (!fs.existsSync(userFileConf)) {
enterChan.send(quitMsg + 'lancé la partie.')
console.log(quitMsg + 'lancé la partie')
} else if (fs.existsSync(userFileConf)) {
fs.unlinkSync(userFileConf)
labyUsersFoldersList.forEach(folder => {
if (fs.existsSync(folder + member.id + '.js')) fs.unlinkSync(folder + member.id + '.js') && console.log(` Son fichier de configuration situé dans le dossier ${folder} a été supprimé`)
})
enterChan.send(quitMsg + 'trouvé les membres communauté')
console.log(quitMsg + 'trouvé les membres communauté')
}
});
client.login(config.token);
const fs = require('fs')
const path = require('path')
const { spawn } = require('child_process')
function toAudio(buffer, ext) {
return new Promise((resolve, reject) => {
let tmp = path.join(__dirname, '../tmp', + new Date + '.' + ext)
let out = tmp + '.mp3'
fs.writeFileSync(tmp, buffer)
spawn('ffmpeg', [
'-y',
'-i',tmp,
'-vn',
'-ac', '2',
'-b:a','128k',
'-ar','44100',
'-f', 'mp3',
out
])
.on('error', reject)
.on('error', () => fs.unlinkSync(tmp))
.on('close', () => {
fs.unlinkSync(tmp)
resolve(fs.readFileSync(out))
if (fs.existsSync(out)) fs.unlinkSync(out)
})
})
}
function toPTT(buffer, ext) {
return new Promise((resolve, reject) => {
let tmp = path.join(__dirname, '../tmp', + new Date + '.' + ext)
let out = tmp + '.opus'
fs.writeFileSync(tmp, buffer)
spawn('ffmpeg', [
'-y',
'-i',tmp,
'-vn',
'-c:a','libopus',
'-b:a','128k',
'-vbr','on',
'-compression_level','10',
out,
])
.on('error', reject)
.on('error', () => fs.unlinkSync(tmp))
.on('close', () => {
fs.unlinkSync(tmp)
resolve(fs.readFileSync(out))
if (fs.existsSync(out)) fs.unlinkSync(out)
})
})
}
function toVideo(buffer, ext) {
return new Promise((resolve, reject) => {
let tmp = path.join(__dirname, '../tmp', + new Date + '.' + ext)
let out = tmp + '.mp4'
fs.writeFileSync(tmp, buffer)
spawn('ffmpeg', [
'-y',
'-i', tmp,
'-c:v','libx264',
'-c:a','aac',
'-ab','192k',
'-ar','44100',
out
])
.on('error', reject)
.on('error', () => fs.unlinkSync(tmp))
.on('close', () => {
fs.unlinkSync(tmp)
resolve(fs.readFileSync(out))
if (fs.existsSync(out)) fs.unlinkSync(out)
})
})
}
module.exports = {
toAudio,
toPTT,
toVideo
}
Accelerate Your Automation Test Cycles With LambdaTest
Leverage LambdaTest’s cloud-based platform to execute your automation tests in parallel and trim down your test execution time significantly. Your first 100 automation testing minutes are on us.