mirror of
https://github.com/nichkara/InfinitumBotty.git
synced 2026-06-10 22:26:23 +02:00
Initalize repo
This commit is contained in:
56
FaustBot/Modules/UserList.py
Normal file
56
FaustBot/Modules/UserList.py
Normal file
@@ -0,0 +1,56 @@
|
||||
from FaustBot.Model.RemoteUser import RemoteUser
|
||||
from FaustBot.Modules.JoinObserverPrototype import JoinObserverPrototype
|
||||
from FaustBot.Modules.ModuleType import ModuleType
|
||||
from ..Modules.KickObserverPrototype import KickObserverPrototype
|
||||
from ..Modules.LeaveObserverPrototype import LeaveObserverPrototype
|
||||
from ..Modules.NickChangeObserverPrototype import NickChangeObserverPrototype
|
||||
|
||||
|
||||
class UserList(JoinObserverPrototype, KickObserverPrototype, LeaveObserverPrototype, NickChangeObserverPrototype):
|
||||
@staticmethod
|
||||
def cmd():
|
||||
return None
|
||||
|
||||
@staticmethod
|
||||
def help():
|
||||
return None
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.userList = {}
|
||||
|
||||
@staticmethod
|
||||
def get_module_types():
|
||||
return [ModuleType.ON_JOIN, ModuleType.ON_KICK, ModuleType.ON_LEAVE, ModuleType.ON_NICK_CHANGE]
|
||||
|
||||
def update_on_kick(self, data, connection):
|
||||
if data['nick'] in self.userList:
|
||||
del self.userList[data['nick']]
|
||||
# print(self.userList)
|
||||
|
||||
def update_on_leave(self, data, connection):
|
||||
if data['nick'] in self.userList:
|
||||
del self.userList[data['nick']]
|
||||
# print(self.userList)
|
||||
|
||||
def update_on_join(self, data, connection):
|
||||
self.userList[data['nick']] = RemoteUser(data['nick'], data['user'], data['host'])
|
||||
# print(self.userList)
|
||||
|
||||
def update_on_nick_change(self, data, connection):
|
||||
if data['old_nick'] in self.userList:
|
||||
remuser = self.userList[data['old_nick']]
|
||||
del self.userList[data['old_nick']]
|
||||
else:
|
||||
# shouldn't happen but let's be safe.
|
||||
remuser = RemoteUser('UN.KNOWN', 'UN.KNOWN', 'UN.KNOWN')
|
||||
|
||||
remuser.nick = data['new_nick']
|
||||
self.userList[data['new_nick']] = remuser
|
||||
# print(self.userList)
|
||||
|
||||
def clear_list(self):
|
||||
self.userList = {}
|
||||
|
||||
def add_user(self, remuser):
|
||||
self.userList[remuser.nick] = remuser
|
||||
Reference in New Issue
Block a user