62 lines
1.2 KiB
JavaScript
62 lines
1.2 KiB
JavaScript
const fs = require('fs')
|
|
|
|
const command = require('./command.js')
|
|
|
|
class commandAddException extends command {
|
|
constructor() {
|
|
super('off', [
|
|
['string'],
|
|
[]
|
|
])
|
|
}
|
|
|
|
execute(sender, parameter) {
|
|
let target = null
|
|
|
|
let i = 0
|
|
for (const compare of this.parameter) {
|
|
const receive = parameter.map(e => {
|
|
return typeof e
|
|
})
|
|
|
|
if (compare.sort().toString() === receive.sort().toString()) {
|
|
switch(i) {
|
|
case 0:
|
|
target = parameter[0]
|
|
break
|
|
case 1:
|
|
target = sender
|
|
break
|
|
}
|
|
}
|
|
|
|
i++
|
|
}
|
|
|
|
return new Promise((resolve, reject) => {
|
|
fs.readFile('./exception.txt', (err, data) => {
|
|
if (err) {
|
|
reject(err)
|
|
}
|
|
|
|
const line = (data + '').split('\r\n')
|
|
for (const l of line) {
|
|
if (l == target) {
|
|
reject(target)
|
|
|
|
return
|
|
}
|
|
}
|
|
|
|
fs.writeFile('./exception.txt', data + target + '\r\n', err => {
|
|
if (err)
|
|
reject(err)
|
|
|
|
resolve(target)
|
|
})
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
module.exports = commandAddException |