Skip to content

Commit 6de1b94

Browse files
committed
Check type of data objects in conn.memory on connect and on load
1 parent 54dcd0a commit 6de1b94

1 file changed

Lines changed: 12 additions & 4 deletions

File tree

plugins/chan_track.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,16 +83,24 @@ def do_caps():
8383
def get_chan_data(bot):
8484
for conn in bot.connections.values():
8585
if conn.connected:
86+
init_chan_data(conn, False)
8687
update_conn_data(conn)
8788

8889

8990
@hook.connect
90-
def init_chan_data(conn):
91+
def init_chan_data(conn, _clear=True):
9192
chan_data = conn.memory.setdefault("chan_data", ChanDict())
92-
chan_data.clear()
93-
9493
users = conn.memory.setdefault("users", UsersDict())
95-
users.clear()
94+
95+
if not (isinstance(chan_data, ChanDict) and isinstance(users, UsersDict)):
96+
del conn.memory["chan_data"]
97+
del conn.memory["users"]
98+
99+
return init_chan_data(conn, _clear)
100+
101+
if _clear:
102+
chan_data.clear()
103+
users.clear()
96104

97105

98106
def add_user_membership(user, chan, membership):

0 commit comments

Comments
 (0)