From 1c980063211b7dbfe6d20a93c60b361a21ed3278 Mon Sep 17 00:00:00 2001 From: raku-cat Date: Tue, 10 Jul 2018 14:13:50 -0500 Subject: [PATCH] Store user's original channel --- modules/idlemove.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/idlemove.py b/modules/idlemove.py index 0ac6172..73c2851 100644 --- a/modules/idlemove.py +++ b/modules/idlemove.py @@ -166,6 +166,7 @@ def UpdateUserAutoAway(self, server, user): if update: index.add(user.session) + self.affectedusers['origchan' + str(user.userid) + str(user.name) + str(user.session)] = user.channel log.info( '%ds > %ds: State transition for user %s (%d/%d) from mute %s -> %s / deaf %s -> %s | channel %d -> %d on server %d', user.idlesecs, threshold, user.name, user.session, user.userid, user.mute, mute, user.deaf, @@ -176,7 +177,13 @@ def UpdateUserAutoAway(self, server, user): if not over_threshold and user.session in self.affectedusers[sid]: deafen = False mute = False - channel = user.channel + try: + channel = self.affectedusers['origchan' + str(user.userid) + str(user.name) + str(user.session)] + del self.affectedusers['origchan' + str(user.userid) + str(user.name) + str(user.session)] + except KeyError: + channel = user.channel + log.warning("User's original channel never stored") + pass index.remove(user.session) log.info("Restore user %s (%d/%d) on server %d", user.name, user.session, user.userid, server.id()) update = True