WildPHP / irc-bot

A simple and modular PHP IRC bot
MIT License
84 stars 24 forks source link

Fatal error: Argument 1 passed to WildPHP\Core\Storage\IrcUserStorage::store() must be an instance of WildPHP\Core\Entities\IrcUser, instance of stdClass given #163

Closed ivptr closed 3 years ago

ivptr commented 3 years ago
wildphp.DEBUG: >> WHO #testbot %nuhaf  [] []
wildphp.DEBUG: << :irc.example.org 354 TestBot TestBot Clk-8B192D6B TestBot Hs 0 [] []

Warning: Creating default object from empty value in src\Observers\WhosPcRplObserver.php on line 61

Fatal error: Uncaught TypeError: Argument 1 passed to WildPHP\Core\Storage\IrcUserStorage::store() must be an instance of WildPHP\Core\Entities\IrcUser, instance of stdClass given, called in src\Observers\WhosPcRplObserver.php on line 65 and defined in src\Storage\IrcUserStorage.php:37
Stack trace:
#0 src\Observers\WhosPcRplObserver.php(65): WildPHP\Core\Storage\IrcUserStorage->store(Object(stdClass))
#1 vendor\evenement\evenement\src\Evenement\EventEmitterTrait.php(123): WildPHP\Core\Observers\WhosPcRplObserver->processWhosPcRplReply(Object(WildPHP\Core\Events\IncomingIrcMessageEvent))
#2 src\Connection\IncomingMessageParser.php(71): Evenement\EventEmitter->emit('irc.msg.in.354', Array)
#3 vendor\evenement\evenement\src\Evenement\EventEmitterTrait.php(123): WildPHP\Core\Connection\IncomingMessageParser->parseIncomingIrcLine(':irc.example.or...')
#4 src\Connection\IncomingMessageParse in src\Storage\IrcUserStorage.php on line 37
NanoSector commented 3 years ago

Thanks for your reports. I'll investigate these further today but did some quick digging on my phone.

Looks like in this instance the bot is expecting a user to be there while it's not, and the user storage is returning a null object. The obvious fix here is to null-check the return value but I feel there is a deeper issue here. Could you share your complete logs please, stripped of any identifiable information?

ivptr commented 3 years ago

Steps to reproduce: 1) User Admin connects to IRC and joins #testbot

[12:16:47] Admin is test@Clk-8B192D6B * Admin
[12:16:47] Admin is using modes +iwxz 
[12:16:47] Admin is connecting from *@localhost 127.0.0.1
[12:16:47] Admin on @#testbot 
[12:16:47] Admin using irc.example.org ExampleNET Server
[12:16:47] Admin is using a Secure Connection
[12:16:47] Admin has been idle 1hr 20mins 42secs, signed on Sun Dec 27 10:56:04 2020
[12:16:47] Admin End of /WHOIS list.

2) Start bot which also joins #testbot 3) Error occurs.

[2020-12-27T12:12:12.802205+01:00] wildphp.INFO: Reading configuration file config/config.php [] []
[2020-12-27T12:12:12.808166+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Storage\\StorageCleaner"} []
[2020-12-27T12:12:12.811758+01:00] wildphp.DEBUG: Running cleanup tasks for the storage subsystem... [] []
[2020-12-27T12:12:12.811923+01:00] wildphp.DEBUG: Removing set modes for users and setting online flags... [] []
[2020-12-27T12:12:12.812721+01:00] wildphp.DEBUG: Removing set modes & topics for channels... [] []
[2020-12-27T12:12:12.813273+01:00] wildphp.DEBUG: Removing all prior user-channel relationships... [] []
[2020-12-27T12:12:12.813400+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Storage\\StorageCleaner"} []
[2020-12-27T12:12:12.813781+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Connection\\MessageParser"} []
[2020-12-27T12:12:12.814416+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Connection\\MessageParser"} []
[2020-12-27T12:12:12.814548+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Commands\\CommandRunner"} []
[2020-12-27T12:12:12.820500+01:00] wildphp.INFO: Creating connection {"server":"127.0.0.1","port":6697} []
[2020-12-27T12:12:12.821107+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Commands\\CommandRunner"} []
[2020-12-27T12:12:12.822318+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Queue\\QueueProcessor"} []
[2020-12-27T12:12:12.824922+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Queue\\QueueProcessor"} []
[2020-12-27T12:12:12.825040+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Connection\\IncomingMessageParser"} []
[2020-12-27T12:12:12.825655+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Connection\\IncomingMessageParser"} []
[2020-12-27T12:12:12.825784+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Connection\\Capabilities\\CapabilityHandler"} []
[2020-12-27T12:12:12.826484+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Connection\\Capabilities\\CapabilityHandler"} []
[2020-12-27T12:12:12.826615+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Observers\\AlternativeNicknameHandler"} []
[2020-12-27T12:12:12.827313+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Observers\\AlternativeNicknameHandler"} []
[2020-12-27T12:12:12.827458+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Observers\\BotNicknameObserver"} []
[2020-12-27T12:12:12.828015+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Observers\\BotNicknameObserver"} []
[2020-12-27T12:12:12.828177+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Observers\\ConnectionHeartbeatObserver"} []
[2020-12-27T12:12:12.828772+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Observers\\ConnectionHeartbeatObserver"} []
[2020-12-27T12:12:12.828901+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Observers\\EndOfNamesObserver"} []
[2020-12-27T12:12:12.829426+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Observers\\EndOfNamesObserver"} []
[2020-12-27T12:12:12.829556+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Observers\\InitialBotUserCreator"} []
[2020-12-27T12:12:12.830081+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Observers\\InitialBotUserCreator"} []
[2020-12-27T12:12:12.830219+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Observers\\InitialJoinObserver"} []
[2020-12-27T12:12:12.830737+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Observers\\InitialJoinObserver"} []
[2020-12-27T12:12:12.830858+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Observers\\JoinObserver"} []
[2020-12-27T12:12:12.831485+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Observers\\JoinObserver"} []
[2020-12-27T12:12:12.831754+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Observers\\KickObserver"} []
[2020-12-27T12:12:12.832340+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Observers\\KickObserver"} []
[2020-12-27T12:12:12.832478+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Observers\\MessageLogger"} []
[2020-12-27T12:12:12.833076+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Observers\\MessageLogger"} []
[2020-12-27T12:12:12.833206+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Observers\\ModeObserver"} []
[2020-12-27T12:12:12.833817+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Observers\\ModeObserver"} []
[2020-12-27T12:12:12.833948+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Observers\\NamReplyObserver"} []
[2020-12-27T12:12:12.834514+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Observers\\NamReplyObserver"} []
[2020-12-27T12:12:12.834643+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Observers\\NickObserver"} []
[2020-12-27T12:12:12.835170+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Observers\\NickObserver"} []
[2020-12-27T12:12:12.835294+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Observers\\PartObserver"} []
[2020-12-27T12:12:12.835831+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Observers\\PartObserver"} []
[2020-12-27T12:12:12.835957+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Observers\\QuitObserver"} []
[2020-12-27T12:12:12.836479+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Observers\\QuitObserver"} []
[2020-12-27T12:12:12.836602+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Observers\\ServerConfigObserver"} []
[2020-12-27T12:12:12.837143+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Observers\\ServerConfigObserver"} []
[2020-12-27T12:12:12.838693+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Observers\\TopicObserver"} []
[2020-12-27T12:12:12.841214+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Observers\\TopicObserver"} []
[2020-12-27T12:12:12.841338+01:00] wildphp.DEBUG: Initializing module... {"class":"WildPHP\\Core\\Observers\\WhosPcRplObserver"} []
[2020-12-27T12:12:12.841891+01:00] wildphp.DEBUG: Initialized module {"class":"WildPHP\\Core\\Observers\\WhosPcRplObserver"} []
[2020-12-27T12:12:12.854823+01:00] wildphp.DEBUG: [CapabilityHandler] Capability negotiation started. [] []
[2020-12-27T12:12:12.857448+01:00] wildphp.DEBUG: << :irc.example.org NOTICE * :*** Looking up your hostname... [] []
[2020-12-27T12:12:12.859805+01:00] wildphp.DEBUG: << :irc.example.org NOTICE * :*** Found your hostname [] []
[2020-12-27T12:12:13.828181+01:00] wildphp.DEBUG: >> CAP LS  [] []
[2020-12-27T12:12:14.334791+01:00] wildphp.DEBUG: << :irc.example.org CAP * LS :unrealircd.org/link-security unrealircd.org/plaintext-policy extended-join chghost cap-notify userhost-in-names multi-prefix away-notify tls account-notify message-tags batch account-tag server-time echo-message labeled-response [] []
[2020-12-27T12:12:14.335096+01:00] wildphp.DEBUG: [CapabilityHandler] Updated list of available capabilities. {"availableCapabilities":["unrealircd.org/link-security","unrealircd.org/plaintext-policy","extended-join","chghost","cap-notify","userhost-in-names","multi-prefix","away-notify","tls","account-notify","message-tags","batch","account-tag","server-time","echo-message","labeled-response"]} []
[2020-12-27T12:12:14.336265+01:00] wildphp.DEBUG: [CapabilityHandler] Capability requested {"capability":"account-notify"} []
[2020-12-27T12:12:14.337146+01:00] wildphp.DEBUG: [CapabilityHandler] Capability requested {"capability":"extended-join"} []
[2020-12-27T12:12:14.337489+01:00] wildphp.DEBUG: [CapabilityHandler] Capability requested {"capability":"multi-prefix"} []
[2020-12-27T12:12:14.337830+01:00] wildphp.DEBUG: [CapabilityHandler] Skipping handler for capability sasl because it is not available. [] []
[2020-12-27T12:12:14.337997+01:00] wildphp.DEBUG: [CapabilityHandler] Capability requested {"capability":"userhost-in-names"} []
[2020-12-27T12:12:14.840110+01:00] wildphp.DEBUG: >> CAP REQ :account-notify  [] []
[2020-12-27T12:12:14.840329+01:00] wildphp.DEBUG: >> CAP REQ :extended-join  [] []
[2020-12-27T12:12:14.841141+01:00] wildphp.DEBUG: >> CAP REQ :multi-prefix  [] []
[2020-12-27T12:12:14.841438+01:00] wildphp.DEBUG: >> CAP REQ :userhost-in-names  [] []
[2020-12-27T12:12:14.841976+01:00] wildphp.DEBUG: << :irc.example.org CAP * ACK :account-notify  [] []
[2020-12-27T12:12:14.842139+01:00] wildphp.DEBUG: [CapabilityHandler] Capability account-notify resolved. [] []
[2020-12-27T12:12:14.842375+01:00] wildphp.DEBUG: [CapabilityHandler] State of capability account-notify: finished [] []
[2020-12-27T12:12:14.842652+01:00] wildphp.DEBUG: [CapabilityHandler] State of capability extended-join: not finished [] []
[2020-12-27T12:12:14.842958+01:00] wildphp.DEBUG: << :irc.example.org CAP * ACK :extended-join  [] []
[2020-12-27T12:12:14.843235+01:00] wildphp.DEBUG: [CapabilityHandler] Capability extended-join resolved. [] []
[2020-12-27T12:12:14.843474+01:00] wildphp.DEBUG: [CapabilityHandler] State of capability account-notify: finished [] []
[2020-12-27T12:12:14.843733+01:00] wildphp.DEBUG: [CapabilityHandler] State of capability extended-join: finished [] []
[2020-12-27T12:12:14.844007+01:00] wildphp.DEBUG: [CapabilityHandler] State of capability multi-prefix: not finished [] []
[2020-12-27T12:12:14.844308+01:00] wildphp.DEBUG: << :irc.example.org CAP * ACK :multi-prefix  [] []
[2020-12-27T12:12:14.844575+01:00] wildphp.DEBUG: [CapabilityHandler] Capability multi-prefix resolved. [] []
[2020-12-27T12:12:14.844829+01:00] wildphp.DEBUG: [CapabilityHandler] State of capability account-notify: finished [] []
[2020-12-27T12:12:14.845092+01:00] wildphp.DEBUG: [CapabilityHandler] State of capability extended-join: finished [] []
[2020-12-27T12:12:14.845360+01:00] wildphp.DEBUG: [CapabilityHandler] State of capability multi-prefix: finished [] []
[2020-12-27T12:12:14.845629+01:00] wildphp.DEBUG: [CapabilityHandler] State of capability userhost-in-names: not finished [] []
[2020-12-27T12:12:14.846008+01:00] wildphp.DEBUG: << :irc.example.org CAP * ACK :userhost-in-names  [] []
[2020-12-27T12:12:14.846296+01:00] wildphp.DEBUG: [CapabilityHandler] Capability userhost-in-names resolved. [] []
[2020-12-27T12:12:14.846589+01:00] wildphp.DEBUG: [CapabilityHandler] State of capability account-notify: finished [] []
[2020-12-27T12:12:14.846955+01:00] wildphp.DEBUG: [CapabilityHandler] State of capability extended-join: finished [] []
[2020-12-27T12:12:14.847228+01:00] wildphp.DEBUG: [CapabilityHandler] State of capability multi-prefix: finished [] []
[2020-12-27T12:12:14.847498+01:00] wildphp.DEBUG: [CapabilityHandler] State of capability userhost-in-names: finished [] []
[2020-12-27T12:12:14.847788+01:00] wildphp.DEBUG: [CapabilityHandler] All capabilities are ready. [] []
[2020-12-27T12:12:14.848055+01:00] wildphp.DEBUG: [CapabilityHandler] Ending capability negotiation. [] []
[2020-12-27T12:12:15.853087+01:00] wildphp.DEBUG: >> CAP END  [] []
[2020-12-27T12:12:16.864063+01:00] wildphp.DEBUG: >> USER TestBot PC 127.0.0.1 :Bot  [] []
[2020-12-27T12:12:17.875003+01:00] wildphp.DEBUG: >> NICK TestBot  [] []
[2020-12-27T12:12:17.875559+01:00] wildphp.DEBUG: << PING :A1BCC06E [] []
[2020-12-27T12:12:18.884959+01:00] wildphp.DEBUG: >> PONG A1BCC06E  [] []
[2020-12-27T12:12:18.885796+01:00] wildphp.DEBUG: << :irc.example.org 001 TestBot :Welcome to the ExampleNET IRC Network TestBot!TestBot@localhost [] []
[2020-12-27T12:12:18.888634+01:00] wildphp.DEBUG: Created initial user; my job is done {"id":1,"nickname":"TestBot"} []
[2020-12-27T12:12:18.889227+01:00] wildphp.DEBUG: Queued initial channel join. {"count":1,"channels":["#testbot"]} []
[2020-12-27T12:12:18.889356+01:00] wildphp.DEBUG: << :irc.example.org 002 TestBot :Your host is irc.example.org, running version UnrealIRCd-5.0.5.1 [] []
[2020-12-27T12:12:18.889877+01:00] wildphp.DEBUG: << :irc.example.org 003 TestBot :This server was created Fri May 29 09:07:59 2020 [] []
[2020-12-27T12:12:18.890181+01:00] wildphp.DEBUG: << :irc.example.org 004 TestBot irc.example.org UnrealIRCd-5.0.5.1 iowrsxzdHtIDZRqpWGTSB lvhopsmntikraqbeIHzMQNRTOVKDdGLPZSCcf [] []
[2020-12-27T12:12:18.890828+01:00] wildphp.DEBUG: Updated mode definitions {"userModes":["i","o","w","r","s","x","z","d","H","t","I","D","Z","R","q","p","W","G","T","S","B"],"channelModes":["l","v","h","o","p","s","m","n","t","i","k","r","a","q","b","e","I","H","z","M","Q","N","R","T","O","V","K","D","d","G","L","P","Z","S","C","c","f"],"channelModesWithParameter":[]} []
[2020-12-27T12:12:18.891183+01:00] wildphp.DEBUG: << :irc.example.org 005 TestBot AWAYLEN=307 CASEMAPPING=ascii CHANLIMIT=#:10 CHANMODES=beI,kLf,lH,psmntirzMQNRTOVKDdGPZSCc CHANNELLEN=32 CHANTYPES=# CLIENTTAGDENY=*,-draft/typing,-typing DEAF=d ELIST=MNUCT EXCEPTS EXTBAN=~,ptmTSOcarnqjf HCN :are supported by this server [] []
[2020-12-27T12:12:18.891742+01:00] wildphp.DEBUG: Set current nickname to configuration key currentNickname ["TestBot"] []
[2020-12-27T12:12:18.891878+01:00] wildphp.DEBUG: Set new server configuration to configuration serverConfig. [{"hostname":"irc.example.org","awaylen":"307","casemapping":"ascii","chanlimit":"#:10","chanmodes":"beI,kLf,lH,psmntirzMQNRTOVKDdGPZSCc","channellen":"32","chantypes":"#","clienttagdeny":"*,-draft/typing,-typing","deaf":"d","elist":"MNUCT","excepts":true,"extban":"~,ptmTSOcarnqjf","hcn":true}] []
[2020-12-27T12:12:18.892193+01:00] wildphp.DEBUG: << :irc.example.org 005 TestBot INVEX KICKLEN=307 KNOCK MAP MAXCHANNELS=10 MAXLIST=b:60,e:60,I:60 MAXNICKLEN=30 MINNICKLEN=0 MODES=12 NAMESX NETWORK=ExampleNET NICKLEN=30 :are supported by this server [] []
[2020-12-27T12:12:18.892514+01:00] wildphp.DEBUG: Set current nickname to configuration key currentNickname ["TestBot"] []
[2020-12-27T12:12:18.892769+01:00] wildphp.DEBUG: Set new server configuration to configuration serverConfig. [{"hostname":"irc.example.org","awaylen":"307","casemapping":"ascii","chanlimit":"#:10","chanmodes":"beI,kLf,lH,psmntirzMQNRTOVKDdGPZSCc","channellen":"32","chantypes":"#","clienttagdeny":"*,-draft/typing,-typing","deaf":"d","elist":"MNUCT","excepts":true,"extban":"~,ptmTSOcarnqjf","hcn":true,"invex":true,"kicklen":"307","knock":true,"map":true,"maxchannels":"10","maxlist":"b:60,e:60,I:60","maxnicklen":"30","minnicklen":true,"modes":"12","namesx":true,"network":"ExampleNET","nicklen":"30"}] []
[2020-12-27T12:12:18.893127+01:00] wildphp.DEBUG: << :irc.example.org 005 TestBot PREFIX=(qaohv)~&@%+ QUITLEN=307 SAFELIST SILENCE=15 STATUSMSG=~&@%+ TARGMAX=DCCALLOW:,ISON:,JOIN:,KICK:4,KILL:,LIST:,NAMES:1,NOTICE:1,PART:,PRIVMSG:4,SAJOIN:,SAPART:,TAGMSG:1,USERHOST:,USERIP:,WATCH:,WHOIS:1,WHOWAS:1 TOPICLEN=360 UHNAMES USERIP WALLCHOPS WATCH=128 WATCHOPTS=A :are supported by this server [] []
[2020-12-27T12:12:18.893462+01:00] wildphp.DEBUG: Set current nickname to configuration key currentNickname ["TestBot"] []
[2020-12-27T12:12:18.893710+01:00] wildphp.DEBUG: Set new server configuration to configuration serverConfig. [{"hostname":"irc.example.org","awaylen":"307","casemapping":"ascii","chanlimit":"#:10","chanmodes":"beI,kLf,lH,psmntirzMQNRTOVKDdGPZSCc","channellen":"32","chantypes":"#","clienttagdeny":"*,-draft/typing,-typing","deaf":"d","elist":"MNUCT","excepts":true,"extban":"~,ptmTSOcarnqjf","hcn":true,"invex":true,"kicklen":"307","knock":true,"map":true,"maxchannels":"10","maxlist":"b:60,e:60,I:60","maxnicklen":"30","minnicklen":true,"modes":"12","namesx":true,"network":"ExampleNET","nicklen":"30","prefix":"(qaohv)~&@%+","quitlen":"307","safelist":true,"silence":"15","statusmsg":"~&@%+","targmax":"DCCALLOW:,ISON:,JOIN:,KICK:4,KILL:,LIST:,NAMES:1,NOTICE:1,PART:,PRIVMSG:4,SAJOIN:,SAPART:,TAGMSG:1,USERHOST:,USERIP:,WATCH:,WHOIS:1,WHOWAS:1","topiclen":"360","uhnames":true,"userip":true,"wallchops":true,"watch":"128","watchopts":"A"}] []
[2020-12-27T12:12:18.894111+01:00] wildphp.DEBUG: << :irc.example.org 005 TestBot WHOX :are supported by this server [] []
[2020-12-27T12:12:18.894388+01:00] wildphp.DEBUG: Set current nickname to configuration key currentNickname ["TestBot"] []
[2020-12-27T12:12:18.894653+01:00] wildphp.DEBUG: Set new server configuration to configuration serverConfig. [{"hostname":"irc.example.org","awaylen":"307","casemapping":"ascii","chanlimit":"#:10","chanmodes":"beI,kLf,lH,psmntirzMQNRTOVKDdGPZSCc","channellen":"32","chantypes":"#","clienttagdeny":"*,-draft/typing,-typing","deaf":"d","elist":"MNUCT","excepts":true,"extban":"~,ptmTSOcarnqjf","hcn":true,"invex":true,"kicklen":"307","knock":true,"map":true,"maxchannels":"10","maxlist":"b:60,e:60,I:60","maxnicklen":"30","minnicklen":true,"modes":"12","namesx":true,"network":"ExampleNET","nicklen":"30","prefix":"(qaohv)~&@%+","quitlen":"307","safelist":true,"silence":"15","statusmsg":"~&@%+","targmax":"DCCALLOW:,ISON:,JOIN:,KICK:4,KILL:,LIST:,NAMES:1,NOTICE:1,PART:,PRIVMSG:4,SAJOIN:,SAPART:,TAGMSG:1,USERHOST:,USERIP:,WATCH:,WHOIS:1,WHOWAS:1","topiclen":"360","uhnames":true,"userip":true,"wallchops":true,"watch":"128","watchopts":"A","whox":true}] []
[2020-12-27T12:12:18.895051+01:00] wildphp.DEBUG: << :irc.example.org 396 TestBot Clk-8B192D6B :is now your displayed host [] []
[2020-12-27T12:12:18.895540+01:00] wildphp.DEBUG: Received message but it could not be cast to an implemented message type. This message is not supported! {"verb":"396"} []
[2020-12-27T12:12:18.895843+01:00] wildphp.DEBUG: << :irc.example.org NOTICE TestBot :*** You are connected to irc.example.org with TLSv1.2-ECDHE-ECDSA-CHACHA20-POLY1305 [] []
[2020-12-27T12:12:18.895999+01:00] wildphp.DEBUG: << :irc.example.org 251 TestBot :There are 1 users and 1 invisible on 1 servers [] []
[2020-12-27T12:12:18.896431+01:00] wildphp.DEBUG: << :irc.example.org 254 TestBot 1 :channels formed [] []
[2020-12-27T12:12:18.896936+01:00] wildphp.DEBUG: << :irc.example.org 255 TestBot :I have 2 clients and 0 servers [] []
[2020-12-27T12:12:18.897223+01:00] wildphp.DEBUG: << :irc.example.org 265 TestBot 2 4 :Current local users 2, max 4 [] []
[2020-12-27T12:12:18.897603+01:00] wildphp.DEBUG: << :irc.example.org 266 TestBot 2 2 :Current global users 2, max 2 [] []
[2020-12-27T12:12:18.897912+01:00] wildphp.DEBUG: << :irc.example.org 422 TestBot :MOTD File is missing [] []
[2020-12-27T12:12:18.898115+01:00] wildphp.DEBUG: Received message but it could not be cast to an implemented message type. This message is not supported! {"verb":"422"} []
[2020-12-27T12:12:18.898506+01:00] wildphp.DEBUG: << :TestBot MODE TestBot :+iwxz [] []
[2020-12-27T12:12:18.899111+01:00] wildphp.DEBUG: Changed modes for user {"userID":1,"nickname":"TestBot","modes":["i","w","x","z"],"added":true,"currentModes":{"i":true,"w":true,"x":true,"z":true}} []
[2020-12-27T12:12:19.893930+01:00] wildphp.DEBUG: >> JOIN #testbot  [] []
[2020-12-27T12:12:19.894573+01:00] wildphp.DEBUG: << :TestBot!TestBot@Clk-8B192D6B JOIN #testbot * :Bot [] []
[2020-12-27T12:12:19.896424+01:00] wildphp.DEBUG: Creating user-channel relationship {"reason":"join","userID":1,"nickname":"TestBot","channelID":1,"channel":"#testbot"} []
[2020-12-27T12:12:19.896623+01:00] wildphp.DEBUG: Updated user {"reason":"join","id":1,"nickname":"TestBot","username":"TestBot","hostname":"Clk-8B192D6B","irc_account":"*"} []
[2020-12-27T12:12:19.897007+01:00] wildphp.DEBUG: Set online flag for user {"reason":"join","id":1,"nickname":"TestBot","newValue":true} []
[2020-12-27T12:12:19.897149+01:00] wildphp.DEBUG: << :irc.example.org 353 TestBot = #testbot :TestBot!TestBot@Clk-8B192D6B @Admin!test@Clk-8B192D6B [] []
[2020-12-27T12:12:19.898303+01:00] wildphp.DEBUG: Creating user-channel relationship {"reason":"rpl_namreply","userID":1,"nickname":"TestBot","channelID":1,"channel":"#testbot"} []
[2020-12-27T12:12:19.898737+01:00] wildphp.DEBUG: Set online flag for user {"reason":"RPL_NAMREPLY","id":1,"nickname":"Admin","newValue":true} []
[2020-12-27T12:12:19.898875+01:00] wildphp.DEBUG: Added user to mode {"userID":1,"nickname":"Admin","mode":"o"} []
[2020-12-27T12:12:19.899455+01:00] wildphp.DEBUG: Creating user-channel relationship {"reason":"rpl_namreply","userID":1,"nickname":"Admin","channelID":1,"channel":"#testbot"} []
[2020-12-27T12:12:19.899755+01:00] wildphp.DEBUG: << :irc.example.org 366 TestBot #testbot :End of /NAMES list. [] []
[2020-12-27T12:12:20.908885+01:00] wildphp.DEBUG: >> WHO #testbot %nuhaf  [] []
[2020-12-27T12:12:20.909467+01:00] wildphp.DEBUG: << :irc.example.org 354 TestBot TestBot Clk-8B192D6B TestBot Hs 0 [] []
NanoSector commented 3 years ago

Thanks. I've replayed your log file and am able to reproduce the error. It seems to store your bot's user under the nickname Admin. I think the culprit here is message 353 which is the only occurrence of Admin in your log. I'll investigate further.