Add an error handler for uncaught exception
This commit is contained in:
parent
b9bb068252
commit
fb3328b669
1 changed files with 52 additions and 0 deletions
52
plugins/errorh.js
Normal file
52
plugins/errorh.js
Normal file
|
@ -0,0 +1,52 @@
|
|||
import { default as settings } from '../settings.json' with {type: "json"}
|
||||
import { default as version } from '../version.json' with {type: "json"}
|
||||
import { bots } from "../index.js"
|
||||
import botVersion from "../util/version.js"
|
||||
import chatlog from '../util/chatlog.js'
|
||||
|
||||
process.on("uncaughtException",(e, o)=>{
|
||||
for(const i in bots){
|
||||
try{
|
||||
bots[i].ccq[0]=`/tellraw ${version.botAuthor} ${
|
||||
JSON.stringify({
|
||||
translate: "%s\n",
|
||||
color: settings.colors.fatalError,
|
||||
with: [
|
||||
`An error occured and ${version.botName} will now shut down.`
|
||||
]
|
||||
})
|
||||
}`
|
||||
bots[i].advanceccq()
|
||||
const stack = e.stack.split("\n")
|
||||
for(const item of stack){
|
||||
bots[i].ccq[0]=`/tellraw ${version.botAuthor} ${
|
||||
JSON.stringify({
|
||||
text: item,
|
||||
color: settings.colors.fatalError
|
||||
})
|
||||
}`
|
||||
bots[i].advanceccq()
|
||||
}
|
||||
bots[i].ccq[0]=`/tellraw ${version.botAuthor} ${
|
||||
JSON.stringify({
|
||||
translate: "\n%s",
|
||||
color: settings.colors.fatalError,
|
||||
with: [
|
||||
[
|
||||
"Additional info:\n",
|
||||
`Bot version: ${botVersion}`
|
||||
]
|
||||
]
|
||||
})
|
||||
}`
|
||||
bots[i].advanceccq() // Force the command queue to advance
|
||||
} catch (e) {}
|
||||
}
|
||||
chatlog("error", e.stack)
|
||||
console.error(e)
|
||||
process.exit(1)
|
||||
})
|
||||
|
||||
export default function load (b) {
|
||||
// Due to the nature of this plugin, it does not need to do anything at the bot level
|
||||
}
|
Loading…
Reference in a new issue