pep.py/objects/chatFilters.py

52 lines
1.2 KiB
Python

class chatFilters:
def __init__(self, fileName="filters.txt"):
"""
Initialize chat filters
:param fileName: name of the file containing filters. Default: filters.txt
"""
self.filters = {}
self.loadFilters(fileName)
def loadFilters(self, fileName="filters.txt"):
"""
Load filters from a file
:param fileName: name of the file containing filters. Default: filters.txt
:return:
"""
# Reset chat filters
self.filters = {}
# Open filters file
with open(fileName, "r") as f:
# Read all lines
data = f.readlines()
# Process each line
for line in data:
# Get old/new word and save it in dictionary
lineSplit = line.split("=")
self.filters[lineSplit[0].lower()] = lineSplit[1].replace("\n", "")
def filterMessage(self, message):
"""
Replace forbidden words with filtered ones
:param message: normal message
:return: filtered message
"""
# Split words by spaces
messageTemp = message.split(" ")
# Check each word
for word in messageTemp:
lowerWord = word.lower()
# If the word is filtered, replace it
if lowerWord in self.filters:
message = message.replace(word, self.filters[lowerWord])
# Return filtered message
return message