Prevent simple errors from killing containers
This commit is contained in:
parent
2f38bc640c
commit
0acb75aad6
27 changed files with 42 additions and 36 deletions
|
@ -29,7 +29,13 @@ class MessageInvalidListener extends Listener {
|
|||
let errored = false;
|
||||
let result;
|
||||
try {
|
||||
result = await this.client.languageHandler.evalCode(parse);
|
||||
const { stdout, stderr } = await this.client.languageHandler.evalCode(parse);
|
||||
if (stderr) {
|
||||
errored = true;
|
||||
result = stderr;
|
||||
} else {
|
||||
result = stdout;
|
||||
}
|
||||
} catch (e) {
|
||||
errored = true;
|
||||
result = e.message;
|
||||
|
|
|
@ -155,14 +155,15 @@ class LanguageHandler extends AkairoHandler {
|
|||
}, timeout);
|
||||
}
|
||||
|
||||
let data = '';
|
||||
let stdout = '';
|
||||
let stderr = '';
|
||||
let error;
|
||||
proc.stdout.on('data', chunk => {
|
||||
data += chunk;
|
||||
stdout += chunk;
|
||||
});
|
||||
|
||||
proc.stderr.on('data', chunk => {
|
||||
data += chunk;
|
||||
stderr += chunk;
|
||||
});
|
||||
|
||||
proc.on('error', e => {
|
||||
|
@ -174,12 +175,12 @@ class LanguageHandler extends AkairoHandler {
|
|||
handled = true;
|
||||
if (status !== 0 || error) {
|
||||
if (!error) {
|
||||
error = new Error(data || 'Something went wrong');
|
||||
error = new Error(stderr || 'Something went wrong');
|
||||
}
|
||||
|
||||
reject(error);
|
||||
} else {
|
||||
resolve(data);
|
||||
resolve({ stdout, stderr });
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue