Errors with audioPanelSystem

PhantomBot Version: 3.1.2 (stable) (Revision: 992c8752)
OS Version: Ubuntu 19.04 5.0.0-38-generic
Java Version: 11.0.4+10-LTS
Stock PhantomBot: Yes

when someone uses an Audio Command in Twitch chat

[ERROR] [init.js:317] Error with Event Handler [command] Script [./systems/audioPanelSystem.js] Stacktrace [audioPanelSystem.js:192 > init.js:315 > init.js:523] Exception [JavaException: java.lang.NullPointerException: null]

audioPanelSystem.js: 192
$.panelsocketserver.triggerAudioPanel($.inidb.get('audioCommands', command));

When I hit “Refresh List” on the Audio Hooks panel

[ERROR] [init.js:317] Error with Event Handler [command] Script [./systems/audioPanelSystem.js] Stacktrace [updateAudioHookDB()@audioPanelSystem.js:61 > audioPanelSystem.js:159 > init.js:315 > init.js:523] Exception [JavaException: java.lang.NullPointerException: null]`

audioPanelSyste.js:61
$.panelsocketserver.doAudioHooksUpdate();

Audio hooks don’t play on the browser source.
Wasn’t an issue in 3.0.0 release and I don’t think it was an issue in 3.1.1

Was unable to reproduce, unfortunately. (Tested against PR #2222)

1 Like

I did a fresh install of 3.1.2 only copied over botlogin.txt

When I try to use !audiohook play applause:

[ERROR] [init.js:317] Error with Event Handler [command] Script [./systems/audioPanelSystem.js] Stacktrace [audioPanelSystem.js:245 > init.js:315 > init.js:523] Exception [JavaException: java.lang.NullPointerException: null]

Clicking the Refresh List button in the audio panel

[ERROR] [init.js:317] Error with Event Handler [command] Script [./systems/audioPanelSystem.js] Stacktrace [updateAudioHookDB()@audioPanelSystem.js:61 > audioPanelSystem.js:159 > init.js:315 > init.js:523] Exception [JavaException: java.lang.NullPointerException: null]

When i try to enable
debugon=true rhinodebugger=true

it throws on startup

[ERROR] [loadScript()@ScriptManager.java:44] Failed to load module: init.js:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
[ERROR] [loadScript()@ScriptManager.java:49] Terminating PhantomBot due to Bad JavaScript File

That makes it sound like there is a bad copy of a script file, or a custom script that is bad. Which is weird considering you said it was a fresh install.

Delete your scripts folder and PhantomBot.jar and then try replacing them with this

PhantomBot-3.1.2.zip (763.8 KB)

Same result :confused:

Also just for kicks here’s exactly what i just did again

wget https://github.com/PhantomBot/PhantomBot/releases/download/v3.1.2/PhantomBot-3.1.2.zip
unzip PhantomBot-3.1.2.zip
mv PhantomBot-3.1.2 phantombot
cp -r phantombot-old/config/ phantombot/
chown phantombot:phantombot -R phantombot
cd phantombot
chmod u+x launch.sh  launch-service.sh java-runtime-linux/bin/java
./launch.sh

I also retried with Nightly Build at Apr 30 12:27:24 2020
I feel like it’s got to be something with the OS itself at this point but that doesn’t make sense to me

Try downloading DB Browser for SQLite and nuking the phantombot_audioCommands and phantombot_audio_hooks tables, then restart the bot and use the panel to re-add the audio hooks and audio commands

No change. I think i already tested on a fresh db previously.
I copied the bot from my server to my windows PC and it works there.
I think I’m just going to have to rebuild this VM. I wanted to dockerize everything anyways.

Try using this edge build, it should post a more detailed stacktrace to the console

Hand to turn on the debugger or else i wasn’t seeing any error now

[05-07-2020 @ 21:49:20.471 GMT] updownleftdie: !audiohook play airhorn
java.lang.NullPointerException
        at com.gmt2001.httpwsserver.WebSocketFrameHandler.lambda$broadcastWsFrame$2(WebSocketFrameHandler.java:212)
        at java.base/java.util.concurrent.ConcurrentLinkedQueue.forEachFrom(Unknown Source)
        at java.base/java.util.concurrent.ConcurrentLinkedQueue.forEach(Unknown Source)
        at com.gmt2001.httpwsserver.WebSocketFrameHandler.broadcastWsFrame(WebSocketFrameHandler.java:211)
        at tv.phantombot.panel.WsPanelHandler.sendJSONToAll(WsPanelHandler.java:406)
        at tv.phantombot.panel.WsPanelHandler.triggerAudioPanel(WsPanelHandler.java:416)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
        at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225)
        at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
        at org.mozilla.javascript.gen.audioPanelSystem_js_132._c_anonymous_7(audioPanelSystem.js:245)
        at org.mozilla.javascript.gen.audioPanelSystem_js_132.call(audioPanelSystem.js)
        at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
        at org.mozilla.javascript.gen.init_js_1._c_callHook_22(init.js:315)
        at org.mozilla.javascript.gen.init_js_1.call(init.js)
        at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63)
        at org.mozilla.javascript.gen.init_js_1._c_anonymous_28(init.js:523)
        at org.mozilla.javascript.gen.init_js_1.call(init.js)
        at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393)
        at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3282)
        at org.mozilla.javascript.gen.init_js_1.call(init.js)
        at org.mozilla.javascript.InterfaceAdapter.invokeImpl(InterfaceAdapter.java:137)
        at org.mozilla.javascript.InterfaceAdapter$1.run(InterfaceAdapter.java:83)
        at org.mozilla.javascript.Context.call(Context.java:501)
        at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:503)
        at org.mozilla.javascript.InterfaceAdapter.invoke(InterfaceAdapter.java:86)
        at org.mozilla.javascript.jdk13.VMBridge_jdk13$1.invoke(VMBridge_jdk13.java:132)
        at com.sun.proxy.$Proxy9.handle(Unknown Source)
        at tv.phantombot.script.ScriptEventManager.onEvent(ScriptEventManager.java:75)
        at tv.phantombot.twitch.irc.TwitchWSIRCParser.parseCommand(TwitchWSIRCParser.java:314)
        at tv.phantombot.twitch.irc.TwitchWSIRCParser.onPrivMsg(TwitchWSIRCParser.java:375)
        at tv.phantombot.twitch.irc.TwitchWSIRCParser.parseLine(TwitchWSIRCParser.java:291)
        at tv.phantombot.twitch.irc.TwitchWSIRCParser.parseData(TwitchWSIRCParser.java:166)
        at tv.phantombot.twitch.irc.TwitchWSIRC.lambda$onMessage$1(TwitchWSIRC.java:189)
        at java.base/java.lang.Thread.run(Unknown Source)

Also during startup i see this, if its relevant:

[05-07-2020 @ 21:48:33.581 GMT] Loaded module: core/commandPause.js (Enabled)
May 07, 2020 2:48:33 PM io.netty.util.concurrent.DefaultPromise notifyListener0
WARNING: An exception was thrown by reactor.netty.channel.MonoSendMany$SendManyInner.operationComplete()
reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.IllegalStateException: blockOptional() is blocking, which is not supported in thread reactor-http-epoll-2
Caused by: java.lang.IllegalStateException: blockOptional() is blocking, which is not supported in thread reactor-http-epoll-2
        at reactor.core.publisher.BlockingOptionalMonoSubscriber.blockingGet(BlockingOptionalMonoSubscriber.java:156)
        at reactor.core.publisher.Mono.blockOptional(Mono.java:1736)
        at tv.phantombot.discord.DiscordAPI.lambda$connect$1(DiscordAPI.java:130)
        at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:164)
        at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:173)
        at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1712)
        at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:241)
        at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1712)
        at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.drain(MonoIgnoreThen.java:147)
        at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.ignoreDone(MonoIgnoreThen.java:190)
        at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreInner.onComplete(MonoIgnoreThen.java:240)
        at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:823)
        at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:589)
        at reactor.core.publisher.FluxFlatMap$FlatMapMain.innerComplete(FluxFlatMap.java:892)
        at reactor.core.publisher.FluxFlatMap$FlatMapInner.onComplete(FluxFlatMap.java:986)
        at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:359)
        at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.innerComplete(FluxConcatMap.java:288)
        at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onComplete(FluxConcatMap.java:875)
        at reactor.core.publisher.FluxContextStart$ContextStartSubscriber.onComplete(FluxContextStart.java:122)
        at reactor.core.publisher.MonoCreate$DefaultMonoSink.success(MonoCreate.java:129)
        at discord4j.core.shard.GatewayBootstrap.lambda$null$26(GatewayBootstrap.java:852)
        at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.runFinally(FluxDoFinally.java:156)
        at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onComplete(FluxDoFinally.java:139)
        at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:189)
        at reactor.core.publisher.MonoFlatMap$FlatMapInner.onComplete(MonoFlatMap.java:260)
        at reactor.core.publisher.Operators$MonoSubscriber.onComplete(Operators.java:1754)
        at reactor.core.publisher.MonoIgnoreThen$ThenAcceptInner.onComplete(MonoIgnoreThen.java:314)
        at reactor.core.publisher.MonoProcessor$NextInner.onComplete(MonoProcessor.java:518)
        at reactor.core.publisher.MonoProcessor.subscribe(MonoProcessor.java:386)
        at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
        at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.drain(MonoIgnoreThen.java:153)
        at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.ignoreDone(MonoIgnoreThen.java:190)
        at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreInner.onComplete(MonoIgnoreThen.java:240)
        at reactor.core.publisher.SerializedSubscriber.onComplete(SerializedSubscriber.java:136)
        at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onComplete(FluxRetryWhen.java:188)
        at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onComplete(MonoIgnoreElements.java:81)
        at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:270)
        at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:292)
        at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:292)
        at reactor.core.publisher.MonoZip$ZipInner.onComplete(MonoZip.java:358)
        at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onComplete(MonoIgnoreElements.java:81)
        at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:823)
        at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:589)
        at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:569)
        at reactor.core.publisher.FluxFlatMap$FlatMapMain.onComplete(FluxFlatMap.java:455)
        at reactor.core.publisher.FluxContextStart$ContextStartSubscriber.onComplete(FluxContextStart.java:122)
        at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onComplete(MonoFlatMapMany.java:252)
        at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onComplete(FluxDoFinally.java:138)
        at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1713)
        at reactor.core.publisher.MonoIgnoreThen$ThenAcceptInner.onNext(MonoIgnoreThen.java:296)
        at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1712)
        at reactor.core.publisher.MonoZip$ZipCoordinator.signal(MonoZip.java:247)
        at reactor.core.publisher.MonoZip$ZipInner.onNext(MonoZip.java:329)
        at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:92)
        at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:192)
        at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:192)
        at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114)
        at reactor.core.publisher.FluxFirstEmitting$FirstEmittingSubscriber.onNext(FluxFirstEmitting.java:328)
        at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1712)
        at reactor.core.publisher.MonoProcessor.subscribe(MonoProcessor.java:383)
        at reactor.core.publisher.Mono.subscribe(Mono.java:4210)
        at reactor.core.publisher.FluxFirstEmitting$RaceCoordinator.subscribe(FluxFirstEmitting.java:225)
        at reactor.core.publisher.MonoFirst.subscribe(MonoFirst.java:148)
        at reactor.core.publisher.Mono.subscribe(Mono.java:4210)
        at reactor.core.publisher.MonoZip.subscribe(MonoZip.java:128)
        at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.drain(MonoIgnoreThen.java:153)
        at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.ignoreDone(MonoIgnoreThen.java:190)
        at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreInner.onComplete(MonoIgnoreThen.java:240)
        at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:1946)
        at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:292)
        at reactor.core.publisher.MonoZip$ZipInner.onComplete(MonoZip.java:358)
        at reactor.netty.channel.MonoSendMany$SendManyInner.operationComplete(MonoSendMany.java:245)
        at reactor.netty.channel.MonoSendMany$SendManyInner.operationComplete(MonoSendMany.java:94)
        at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:577)
        at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:570)
        at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:549)
        at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:490)
        at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:615)
        at io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:604)
        at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:104)
        at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
        at io.netty.channel.AbstractChannel$CloseFuture.setClosed(AbstractChannel.java:1158)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.doClose0(AbstractChannel.java:760)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.close(AbstractChannel.java:736)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.close(AbstractChannel.java:607)
        at io.netty.channel.DefaultChannelPipeline$HeadContext.close(DefaultChannelPipeline.java:1352)
        at io.netty.channel.AbstractChannelHandlerContext.invokeClose(AbstractChannelHandlerContext.java:622)
        at io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:606)
        at io.netty.handler.ssl.SslHandler$8.operationComplete(SslHandler.java:2097)
        at io.netty.handler.ssl.SslHandler$8.operationComplete(SslHandler.java:2086)
        at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:577)
        at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:551)
        at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:490)
        at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:183)
        at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95)
        at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30)
        at io.netty.handler.ssl.SslHandler.safeClose(SslHandler.java:2086)
        at io.netty.handler.ssl.SslHandler.closeOutboundAndChannel(SslHandler.java:1874)
        at io.netty.handler.ssl.SslHandler.close(SslHandler.java:724)
        at io.netty.channel.AbstractChannelHandlerContext.invokeClose(AbstractChannelHandlerContext.java:622)
        at io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:606)
        at io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:472)
        at io.netty.channel.DefaultChannelPipeline.close(DefaultChannelPipeline.java:957)
        at io.netty.channel.AbstractChannel.close(AbstractChannel.java:232)
        at io.netty.channel.ChannelFutureListener$1.operationComplete(ChannelFutureListener.java:44)
        at io.netty.channel.ChannelFutureListener$1.operationComplete(ChannelFutureListener.java:41)
        at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:577)
        at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:551)
        at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:490)
        at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:183)
        at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95)
        at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30)
        at reactor.netty.http.client.WebsocketClientOperations.sendCloseNow(WebsocketClientOperations.java:249)
        at reactor.netty.http.client.WebsocketClientOperations.onInboundNext(WebsocketClientOperations.java:151)
        at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:90)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:321)
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:295)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1486)
        at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1235)
        at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1282)
        at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:498)
        at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:437)
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
        at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792)
        at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:475)
        at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378)
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Unknown Source)

[05-07-2020 @ 21:48:33.613 GMT] Loaded module: core/logging.js (Enabled)

Try this build Merge pull request #2232 from gmt2001/patch-72 · PhantomBot/[email protected] · GitHub

That worked! :pray: