import settings from '../settings.js' import version from '../version.js' 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 }