Joining the channel (identified to Nickserv) after being removed from the game for /ns logout won't cause you to be rejoined to the game. Also, lykos will give an error if you /part again after rejoining.
Steps:
1) start a game
2) during the game, /ns logout
3) /part
4) /ns identify
5) /join (you should be automatically rejoined here, but are not)
6) /part the channel again (Error happens here)
I noticed that the channel's user list has me in there with my account, but it's trying to remove a version of me without an account. I also saw that user._users had me in there both with and without my account after my join.
Result of "print(target, var.DISCONNECTED, target in var.DISCONNECTED)" in return_to_village:
User: potato!~jacob1@Powder/Developer/lykos.jacob1:jacob1 UserDict(potato: (datetime.datetime(2020, 4, 12, 20, 21, 31, 799058), 'account')) False
Not going to do further debugging today. I haven't seen this ever happen in practice. But it could happen if a user does /ns logout, then tries reconnecting to fix the problem.
Joining the channel (identified to Nickserv) after being removed from the game for /ns logout won't cause you to be rejoined to the game. Also, lykos will give an error if you /part again after rejoining.
Steps: 1) start a game 2) during the game, /ns logout 3) /part 4) /ns identify 5) /join (you should be automatically rejoined here, but are not) 6) /part the channel again (Error happens here)
traceback
I noticed that the channel's user list has me in there with my account, but it's trying to remove a version of me without an account. I also saw that user._users had me in there both with and without my account after my join.
Result of "print(target, var.DISCONNECTED, target in var.DISCONNECTED)" in return_to_village: User: potato!~jacob1@Powder/Developer/lykos.jacob1:jacob1 UserDict(potato: (datetime.datetime(2020, 4, 12, 20, 21, 31, 799058), 'account')) False
Not going to do further debugging today. I haven't seen this ever happen in practice. But it could happen if a user does /ns logout, then tries reconnecting to fix the problem.