Twitch.TV Moderator Bot (7 / 8 steg)
Steg 7: Registrera mönster och släpp Banhammer
En gång ska vi använda regex för att matcha meddelanden som innehåller oönskade mönster. Den mest uppenbara av dessa mönster är enskilda ord eller fraser som kan helt enkelt skrivas som de är i regex. För mer komplicerade eller variabel mönster måste du titta på mer avancerade regex; Detta kan användas att förbjuda länkar, telefonnummer, adresser (fysiska och e-post), och annan information som följer ett visst mönster.
Lägga till en lista med mönster i din konfigurationsfil:
# cfg.py
PATT = [
r "svär",
# ...
r "some_pattern"
]
Nu, i källfilen, lägga en slinga som kontrollerar varje meddelande för mönster du vill (inte):
# bot.py
samtidigt sant:
svar = s.recv(1024).decode("utf-8")
om svar == "PING: tmi.twitch.tv\r\n":
s.send ("PONG: tmi.twitch.tv\r\n".encode("utf-8"))
annat:
användarnamn = re.search (r "\w+", line).group(0) # avkastning hela matchen
meddelande = CHAT_MSG.sub ("", linje)
skriva ut (användarnamn + ":" + meddelande)
för mönster i cfg. PATT:
om re.match (mönster, meddelande):
förbud (s, användarnamn)
Break
sömn (1/cfg. RATE)