diff --git a/skeleton.log b/skeleton.log
@@ -0,0 +1,127 @@
+2023-10-03 06:23 PM | DEBUG | selector_events.py.__init__.54 | Using selector: EpollSelector
+2023-10-03 06:24 PM | DEBUG | selector_events.py.__init__.54 | Using selector: EpollSelector
+2023-10-03 06:24 PM | ERROR | skeleton.py.connect.104 | failed to connect to irc.sueprnets.org ('Namespace' object has no attribute 'ipv6')
+2023-10-03 06:25 PM | DEBUG | selector_events.py.__init__.54 | Using selector: EpollSelector
+2023-10-03 06:25 PM | ERROR | skeleton.py.connect.104 | failed to connect to irc.sueprnets.org ([Errno -2] Name or service not known)
+2023-10-03 06:25 PM | DEBUG | selector_events.py.__init__.54 | Using selector: EpollSelector
+2023-10-03 06:28 PM | DEBUG | selector_events.py.__init__.54 | Using selector: EpollSelector
+2023-10-03 06:28 PM | ERROR | skeleton.py.connect.106 | failed to connect to irc.sueprnets.org ([Errno -2] Name or service not known)
+2023-10-03 06:28 PM | DEBUG | selector_events.py.__init__.54 | Using selector: EpollSelector
+2023-10-03 06:29 PM | DEBUG | selector_events.py.__init__.54 | Using selector: EpollSelector
+2023-10-03 06:30 PM | DEBUG | selector_events.py.__init__.54 | Using selector: EpollSelector
+2023-10-03 06:30 PM | DEBUG | selector_events.py.__init__.54 | Using selector: EpollSelector
+2023-10-03 06:30 PM | DEBUG | selector_events.py.__init__.54 | Using selector: EpollSelector
+2023-10-03 06:30 PM | ERROR | skeleton.py.connect.104 | failed to connect to irc.supernets.org (object NoneType can't be used in 'await' expression)
+2023-10-03 06:31 PM | DEBUG | selector_events.py.__init__.54 | Using selector: EpollSelector
+2023-10-03 06:32 PM | DEBUG | selector_events.py.__init__.54 | Using selector: EpollSelector
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | PING :E226AF0F
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 001 skeleton :Welcome to the SuperNETs IRC Network skeleton!~skelly@static-198-54-132-106.cust.tzulo.com <- (FAGGOT)
+2023-10-03 06:32 PM | ERROR | skeleton.py.handle.150 | Unknown error has occured! ('list' object has no attribute 'channel')
+Traceback (most recent call last):
+ File "/home/acidvegas/dev/git/acidvegas/skeleton/skeleton.py", line 126, in handle
+ await self.raw(f'JOIN {args.channel} {args.key}') # Join the channel (if no key was provided, this will still work as the key will default to an empty string)
+ ^^^^^^^^^^^^
+AttributeError: 'list' object has no attribute 'channel'
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 002 skeleton :Your host is hidden, running version DangerousIRCd-6.6.6
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 003 skeleton :This server was created Fri Apr 1 1990 at 04:20:00 UTC
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 004 skeleton shrimp.supernets.org UnrealIRCd-6.1.0 diopqrstxzBDGHIRSTZ beIacdfhiklmnopqrstvzCDFGHKLMNOPQRSTVZ
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 005 skeleton ACCOUNTEXTBAN=account,a AWAYLEN=307 BOT=B CASEMAPPING=ascii CHANLIMIT=#:10 CHANMODES=beI,fkL,lFH,cdimnprstzCDGKMNOPQRSTVZ CHANNELLEN=32 CHANTYPES=# CHATHISTORY=50 CLIENTTAGDENY=*,-draft/channel-context,-draft/reply,-draft/typing,-typing DEAF=d ELIST=MNUCT :are supported by this server
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 005 skeleton EXCEPTS EXTBAN=~,acfjmnqrtFGST INVEX KICKLEN=307 KNOCK MAP MAXCHANNELS=10 MAXLIST=b:60,e:60,I:60 MAXNICKLEN=30 MINNICKLEN=0 MODES=12 MONITOR=128 :are supported by this server
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 005 skeleton NAMELEN=50 NAMESX NETWORK=SuperNETs NICKLEN=20 PREFIX=(qaohv)~&@%+ QUITLEN=307 SAFELIST SILENCE=15 STATUSMSG=~&@%+ TARGMAX=DCCALLOW:,ISON:,JOIN:,KICK:1,KILL:,LIST:,NAMES:1,NOTICE:1,PART:1,PRIVMSG:1,SAJOIN:,SAPART:,TAGMSG:1,USERHOST:,USERIP:,WATCH:,WHOIS:1,WHOWAS:1 TOPICLEN=360 UHNAMES :are supported by this server
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 005 skeleton USERIP WALLCHOPS WATCH=128 WATCHOPTS=A WHOX :are supported by this server
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 396 skeleton D07CB6A.50F15F6B.6D94EF4A.IP :is now your displayed host
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 251 skeleton :There are 1 users and 211 invisible on 12 servers
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 252 skeleton 114 :operator(s) online
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 254 skeleton 32 :channels formed
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 255 skeleton :I have 12 clients and 0 servers
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 265 skeleton 12 161 :Current local users 12, max 161
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 266 skeleton 212 1075 :Current global users 212, max 1075
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 375 skeleton :- shrimp.supernets.org Message of the Day -
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 15/9/2023 20:21
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,0 0╗ 0,0 0╗ 0,0 0╗ 0,0 0╗ 0,0 0╗ 0,0 0╗
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,0 0╔══0,0 0╗ 0,0 0║ 0,0 0║ 0,0 0╔══0,0 0╗ 0,0 0╔════╝ 0,0 0╔══0,0 0╗
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,0 0║ ╚═╝ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0╚0,0 0╗ 0,0 0║ 0,0 0║ 0,0 0╔╝ 0,0 0╗ 0,0 0╔╝
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0╚═══0,0 0╗ 0,0 0║ 0,0 0║ 0,0 0╔═══╝ 0,0 0╔════╝ 0,0 0╔══0,0 0╗
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,0 0╗ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0╚0,0 0╔╝ ╚0,0 0╔╝ 0,0 0║ 0,0 0╗ 0,0 0║ 0,0 0║
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0 ╚════╝ ╚════╝ ╚═╝ ╚══════╝ ╚═╝ ╚═╝
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :-
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,12
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,12 0,4 0,12
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,12 0,4 0,8 0,4 0,8 0,4 0,8 0,4 0,12
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,12 0,4 0,8 0,4 0,8 0,4 0,8 0,4 0,12
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,12 0,4 0,8 0,4 0,8 0,4 0,12
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,12 0,4 0,8 0,4 0,8 0,4 0,12
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,12 0,4 0,12
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,12 0,4 0,8 0,4 0,12
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,12 0,4 0,8 0,4 0,8 0,4 0,12
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,12 0,4 0,12
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,12 0,4 0,8 0,4 0,12
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,12 0,4 0,8 0,4 0,12
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,12 0,4 0,12
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,12 0,4 0,12
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,12
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,12
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :-
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,0 0╗ 0,0 0╗ 0,0 0╗ 0,0 0╗ 0,0 0╗
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,0 0╔═0,0 0╗ 0,0 0║ 0,0 0╔════╝ 0,0 0╔═╝ 0,0 0╔══0,0 0╗
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ ╚═╝
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0╗ 0,0 0║ ╚0,0 0╗
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0╔════╝ 0,0 0║ ╚═══0,0 0╗
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0,0 0║
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0,0 0║ ╚0,0 0║ 0,0 0╗ 0,0 0║ ╚0,0 0╔╝
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 0╚═╝ ╚════╝ ╚══════╝ ╚═╝ ╚════╝
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :-
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 4─────────┤ 0THE WILD WILD WEST OF IRC 4├─────────
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :-
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 14• 7 Round-robin irc.supernets.org 14(IPv4/IPv6)
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 14• 7 Onion 14removed until further notice
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :-
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 14• 7 Ports 6660-6669 & 7000
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 14• 7SSL/TLS Ports 6697 & 9000
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :-
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 14• 7 Mail 12admin@supernets.org
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 14• 7 Git 12https://git.supernets.org
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 14• 7 Twitter 12https://twitter.com/super_nets
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 14• 7 Website 12https://supernets.org/
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :-
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 4─────────┤ 0MOST DANGEROUS IRC NETWORK 4├────────
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :-
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 14• 7This is a hostile chat environment
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 14• 7Do not disrupt the orderly operation of the network
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 14• 7No distribution of child pornography
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 372 skeleton :- 14• 7See /RULES for a list of network rules
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 376 skeleton :End of /MOTD command.
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :skeleton MODE skeleton :+ipxIT
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org NOTICE skeleton :4WARNING: You are not on a secure TLS connection
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 470 skeleton #tor #blackhole :[Link] Cannot join channel #tor (you are banned) -- transferring you to #blackhole
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :skeleton!~skelly@D07CB6A.50F15F6B.6D94EF4A.IP JOIN :#blackhole
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 332 skeleton #blackhole :08,04 E N T E R T H E V O I D 14| The channel(s) you are trying to join are either in defcon mode or you are banned. Please wait to rejoin later or PM a channel operator.
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 333 skeleton #blackhole acidvegas 1623000752
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 353 skeleton @ #blackhole :skeleton Valware Oracle freq trace vx doc sam k4yo5 ReverendLovechat otis BadLarry funkpower m1n10n1 msss nickzxcv_ p1ut0nium darkmage- sq_ MrMeow nameless Nevada lolwut_ nonp fascinus pancakes HateServ @acidvegas @BLACKHOLE
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 366 skeleton #blackhole :End of /NAMES list.
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :NickServ!services@services.supernets.org NOTICE skeleton :Your nickname is not registered. To register it, use: /msg NickServ REGISTER password
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :BLACKHOLE!BL@CKHOLE NOTICE skeleton :[#blackhole] The channel you are trying to join is in defcon mode. Please wait for the attack to end or PM a network operator.
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :skeleton MODE skeleton :+B
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org NOTICE skeleton :Network operators must be on a secure TLS connection
+2023-10-03 06:32 PM | INFO | skeleton.py.handle.114 | :NickServ!services@services.supernets.org NOTICE skeleton :Nick {self.nickname} isn't registered.
+2023-10-03 06:33 PM | INFO | skeleton.py.handle.114 | :ValBot!~bot@FB44DC05:FC2886CC:65EAD8EF:IP JOIN :#blackhole
+2023-10-03 06:33 PM | INFO | skeleton.py.handle.114 | :ValBot!~bot@FB44DC05:FC2886CC:65EAD8EF:IP QUIT :Connection closed
+2023-10-03 06:33 PM | INFO | skeleton.py.handle.114 | :skeleton!~skelly@D07CB6A.50F15F6B.6D94EF4A.IP JOIN :#dev
+2023-10-03 06:33 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 332 skeleton #dev :#dev: where acidvegas asks sad what opal knows GIT: https://git.supernets.org/
+2023-10-03 06:33 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 333 skeleton #dev opal 1696145286
+2023-10-03 06:33 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 353 skeleton = #dev :skeleton jrmu trace @delorean sam darkmage- sq_ MrMeow %maw @opal @acidvegas +MatrixBot %gh0st +psycho +[voNES] +darkmage_ +lostbeard +Researcher +rostie +trevor +MATRIX +Hornady +thinkl33t +bea40 +RadYogh +consultx37 +englishm_ +RASTABOY +grosjean +adam- +st +floakn +Nonai_d2 +CrisTinAIenco +MiStErIoS`away +pitabread_dis +orcus__ +Beroe +fillet-o-fish +swafoto +sEm +Padme +enoqodowud +fiord +phalanx +val
+2023-10-03 06:33 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 353 skeleton = #dev :+leg0man_dis +TWT +Liudmil +knighted +f4il +volvo245L +paiq_d2 +The-Devil +Beast-CjG0D-21 +vesinka +b +equinox +AmyWhiteHouse +Xilent +bytestyle +mjr +Vagab0nd +PyCa_MaCka +tobis +Gokturk +zamundata +Lightey +bfft +gavenbarber74 +HeliosT +Wiseguy84 +bgdota +snow +flippyza030 +nuffin +Cybertinus +CyComTech +vash +joru9000 +Prozy +Trestret +ReiS +whois +_myquran_ga +Poul +Detect +tiuging +viass +iAmSyiha_d2
+2023-10-03 06:33 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 353 skeleton = #dev :+Kaytoil +pluagled +obr-ranks +CATWatch +GREKOS +tzip +karma__ +csikos_terror +jerith +Ziggy_6542_d2 +D +fraadl +mrunix +free-znc +Kufat +ProudAndAmerican6024 +KenoshaKid +to4en +Teraunce2 +elif +consultx33 +techdarko +MinaVaganTe +laphroaig +Wolfy +redondo +flyko +CSKA +malka_galka +Veselo +weaktasone +darkmagec +Baron_Fortuna +lars %hgw7 @ak @AI +lololgram +vx +vortex
+2023-10-03 06:33 PM | INFO | skeleton.py.handle.114 | :shrimp.supernets.org 366 skeleton #dev :End of /NAMES list.
+2023-10-03 06:33 PM | INFO | skeleton.py.handle.114 | :acidvegas!~stillfree@most.dangerous.motherfuck PRIVMSG #dev :!hello
+2023-10-03 06:33 PM | ERROR | skeleton.py.handle.150 | Unknown error has occured! (cannot access local variable 'chan' where it is not associated with a value)
+Traceback (most recent call last):
+ File "/home/acidvegas/dev/git/acidvegas/skeleton/skeleton.py", line 146, in handle
+ self.sendmsg(chan, f'Hello {nick}! Do you like ' + color('colors?', green))
+ ^^^^
+UnboundLocalError: cannot access local variable 'chan' where it is not associated with a value
diff --git a/skeleton.py b/skeleton.py
@@ -113,37 +113,40 @@ class Bot():
'''
logging.info(data)
try:
- args = data.split()
+ parts = data.split()
if data.startswith('ERROR :Closing Link:'):
raise Exception('BANNED')
- if args[0] == 'PING':
- await self.raw('PONG ' + args[1]) # Respond to the server's PING request with a PONG to prevent ping timeout
- elif args[1] == '001': # RPL_WELCOME
+ if parts[0] == 'PING':
+ await self.raw('PONG ' + parts[1]) # Respond to the server's PING request with a PONG to prevent ping timeout
+ elif parts[1] == '001': # RPL_WELCOME
await self.raw(f'MODE {self.nickname} +B') # Set user mode +B (Bot)
await self.sendmsg('NickServ', 'IDENTIFY {self.nickname} simps0nsfan420') # Identify to NickServ
await self.raw('OPER MrSysadmin fartsimps0n1337') # Oper up
await asyncio.sleep(10) # Wait 10 seconds before joining the channel (required by some IRCds to wait before JOIN)
- await self.raw(f'JOIN {args.channel} {args.key}') # Join the channel (if no key was provided, this will still work as the key will default to an empty string)
- elif args[1] == '433': # ERR_NICKNAMEINUSE
+ if parts.key:
+ await self.raw(f'JOIN {args.channel} {args.key}') # Join the channel with the key
+ else:
+ await self.raw(f'JOIN {args.channel}')
+ elif parts[1] == '433': # ERR_NICKNAMEINUSE
self.nickname += '_' # If the nickname is already in use, append an underscore to the end of it
await self.raw('NICK ' + self.nickname) # Send the new nickname to the server
- elif args[1] == 'KICK':
- chan = args[2]
- kicked = args[3]
+ elif parts[1] == 'KICK':
+ chan = parts[2]
+ kicked = parts[3]
if kicked == self.nickname:
await asyncio.sleep(3)
await self.raw(f'JOIN {chan}')
- elif args[1] == 'PRIVMSG':
- ident = args[0][1:]
- nick = args[0].split('!')[0][1:]
- target = args[2]
- msg = ' '.join(args[3:])[1:]
+ elif parts[1] == 'PRIVMSG':
+ ident = parts[0][1:]
+ nick = parts[0].split('!')[0][1:]
+ target = parts[2]
+ msg = ' '.join(parts[3:])[1:]
if target == self.nickname:
pass # Handle private messages here
if target.startswith('#'): # Channel message
if msg.startswith('!'):
if msg == '!hello':
- self.sendmsg(target, f'Hello {nick}! Do you like ' + color('colors?', green))
+ await self.sendmsg(target, f'Hello {nick}! Do you like ' + color('colors?', green))
except (UnicodeDecodeError, UnicodeEncodeError):
pass # Some IRCds allow invalid UTF-8 characters, this is a very important exception to catch
except Exception as ex:
| |