diff --git a/constants/serverPackets.py b/constants/serverPackets.py index b5a1448..514a3d3 100644 --- a/constants/serverPackets.py +++ b/constants/serverPackets.py @@ -5,9 +5,6 @@ from helpers import userHelper from objects import glob from constants import userRanks from constants import packetIDs -from constants import slotStatuses -from constants import matchModModes -import random """ Login errors packets (userID packets derivates) """ diff --git a/events/channelPartEvent.py b/events/channelPartEvent.py index 845ed01..cfcbe66 100644 --- a/events/channelPartEvent.py +++ b/events/channelPartEvent.py @@ -1,38 +1,10 @@ """ Event called when someone parts a channel """ - -from helpers import consoleHelper -from constants import bcolors -from objects import glob from constants import clientPackets -from constants import serverPackets -from helpers import logHelper as log from helpers import chatHelper as chat def handle(userToken, packetData): # Channel join packet packetData = clientPackets.channelPart(packetData) - chat.partChannel(token=userToken, channel=packetData["channel"]) - -"""def partChannel(userToken, channelName, kick = False): - # Get usertoken data - username = userToken.username - userID = userToken.userID - - # Remove us from joined users and joined channels - if channelName in glob.channels.channels: - # Check that user is in channel - if channelName in userToken.joinedChannels: - userToken.partChannel(channelName) - - # Check if user is in channel - if userID in glob.channels.channels[channelName].connectedUsers: - glob.channels.channels[channelName].userPart(userID) - - # Force close tab if needed - if kick == True: - userToken.enqueue(serverPackets.channelKicked(channelName)) - - # Console output - log.info("{} parted channel {}".format(username, channelName))""" + chat.partChannel(token=userToken, channel=packetData["channel"]) \ No newline at end of file diff --git a/events/partMatchEvent.py b/events/partMatchEvent.py index 933c7ba..ad6f6d8 100644 --- a/events/partMatchEvent.py +++ b/events/partMatchEvent.py @@ -1,6 +1,5 @@ from objects import glob from helpers import chatHelper as chat -from constants import serverPackets def handle(userToken, _): # get data from usertoken @@ -24,7 +23,7 @@ def handle(userToken, _): match.userLeft(userID) # Part #multiplayer channel - chat.partChannel(token=userToken, channel="#multi_{}".format(matchID)) + #chat.partChannel(token=userToken, channel="#multi_{}".format(matchID), kick=True) # Set usertoken match to -1 userToken.partMatch() diff --git a/handlers/mainHandler.py b/handlers/mainHandler.py index 0c6853b..660532d 100644 --- a/handlers/mainHandler.py +++ b/handlers/mainHandler.py @@ -1,11 +1,7 @@ import datetime import gzip -import time -from helpers import generalFunctions from helpers import requestHelper from objects import glob -from helpers import consoleHelper -from constants import bcolors from constants import exceptions from constants import packetIDs from helpers import packetHelper @@ -117,19 +113,25 @@ class handler(SentryMixin, requestHelper.asyncRequestHandler): eventHandler = { # TODO: Rename packets and events # TODO: Host check for multi + packetIDs.client_changeAction: handleEvent(changeActionEvent), + packetIDs.client_logout: handleEvent(logoutEvent), + packetIDs.client_friendAdd: handleEvent(friendAddEvent), + packetIDs.client_friendRemove: handleEvent(friendRemoveEvent), + packetIDs.client_userStatsRequest: handleEvent(userStatsRequestEvent), + packetIDs.client_requestStatusUpdate: handleEvent(requestStatusUpdateEvent), + packetIDs.client_userPanelRequest: handleEvent(userPanelRequestEvent), + + packetIDs.client_channelJoin: handleEvent(channelJoinEvent), + packetIDs.client_channelPart: handleEvent(channelPartEvent), packetIDs.client_sendPublicMessage: handleEvent(sendPublicMessageEvent), packetIDs.client_sendPrivateMessage: handleEvent(sendPrivateMessageEvent), packetIDs.client_setAwayMessage: handleEvent(setAwayMessageEvent), - packetIDs.client_channelJoin: handleEvent(channelJoinEvent), - packetIDs.client_channelPart: handleEvent(channelPartEvent), - packetIDs.client_changeAction: handleEvent(changeActionEvent), + packetIDs.client_startSpectating: handleEvent(startSpectatingEvent), packetIDs.client_stopSpectating: handleEvent(stopSpectatingEvent), packetIDs.client_cantSpectate: handleEvent(cantSpectateEvent), packetIDs.client_spectateFrames: handleEvent(spectateFramesEvent), - packetIDs.client_friendAdd: handleEvent(friendAddEvent), - packetIDs.client_friendRemove: handleEvent(friendRemoveEvent), - packetIDs.client_logout: handleEvent(logoutEvent), + packetIDs.client_joinLobby: handleEvent(joinLobbyEvent), packetIDs.client_partLobby: handleEvent(partLobbyEvent), packetIDs.client_createMatch: handleEvent(createMatchEvent), @@ -151,11 +153,8 @@ class handler(SentryMixin, requestHelper.asyncRequestHandler): packetIDs.client_matchHasBeatmap: handleEvent(matchHasBeatmapEvent), packetIDs.client_matchTransferHost: handleEvent(matchTransferHostEvent), packetIDs.client_matchFailed: handleEvent(matchFailedEvent), - packetIDs.client_invite: handleEvent(matchInviteEvent), packetIDs.client_matchChangeTeam: handleEvent(matchChangeTeamEvent), - packetIDs.client_userStatsRequest: handleEvent(userStatsRequestEvent), - packetIDs.client_requestStatusUpdate: handleEvent(requestStatusUpdateEvent), - packetIDs.client_userPanelRequest: handleEvent(userPanelRequestEvent), + packetIDs.client_invite: handleEvent(matchInviteEvent), } # Packets processed if in restricted mode. diff --git a/helpers/chatHelper.py b/helpers/chatHelper.py index 38a79e2..e434fad 100644 --- a/helpers/chatHelper.py +++ b/helpers/chatHelper.py @@ -129,14 +129,14 @@ def partChannel(userID = 0, channel = "", token = None, toIRC = True, kick = Fal # Force close tab if needed # NOTE: Maybe always needed, will check later if kick == True: - token.enqueue(serverPackets.channelKicked(channelObject.clientName)) + token.enqueue(serverPackets.channelKicked(channelClient)) # IRC part if glob.irc == True and toIRC == True: glob.ircServer.banchoPartChannel(username, channel) # Console output - log.info("{} parted channel {}".format(username, channel)) + log.info("{} parted channel {} ({})".format(username, channel, channelClient)) # Return IRC code return 0 diff --git a/objects/chatFilters.py b/objects/chatFilters.py index 5f04586..1c73672 100644 --- a/objects/chatFilters.py +++ b/objects/chatFilters.py @@ -1,5 +1,3 @@ -import os - class chatFilters: def __init__(self, fileName="filters.txt"): self.filters = {} @@ -9,9 +7,8 @@ class chatFilters: # Reset chat filters self.filters = {} - # Open filters.txt - #with open(os.path.dirname(os.path.realpath(__file__)) + "/../"+fileName+".txt", "r") as f: - with open("filters.txt", "r") as f: + # Open filters file + with open(fileName, "r") as f: # Read all lines data = f.readlines()