Donc j'essaye de programmer un bot IRC Twitch.tv simple. Le bot lit les messages entrants dans le canal, et si les messages correspondent à certains modèles, le bot effectue certaines tâches. Le problème que j'obtiens est que si un utilisateur entre certains caractères unicode (ie si l'utilisateur entre "¯_ (ツ) _/¯", le programme lancera l'erreur et le crash:UnicodeEncodeError avec Twitch.tv Bot IRC
UnicodeEncodeError n'a pas été manipulé par code utilisateur
codec « charmap » ne peut encoder le caractère « \ XAF » en position 13: caractère cartes à < non défini>
maintenant, je veux que mon programme soit capable de gérer ces entrées, mais je aucune idée de ce qu'il faut changer ou ajouter à mon code pour activer ceci.Ceci est mon code:
http://pastebin.com/EBTaqpbZ (Je ne pouvais pas figurer e comment utiliser la pâte de code Stackoverflow)
La partie principale du code que je reçois l'erreur est:
while True: #Main Loop
response = s.recv(1024).decode("utf-8")
if response == "PING :tmi.twitch.tv\r\n": #If Ping, return Pong
s.send("PONG :tmi.twitch.tv\r\n".encode("utf-8"))
print("Pong Successful")
else: #Else, Decode User Message
username = re.search(r"\w+", response).group(0) #Gets User
message = CHAT_MSG.sub("", response) #Gets Message
print (username + ": " + message) #Prints User Message
if message.find("!hello") != -1: #Simple Test command to see if Reading Chat Input
chat ("Hello! I'm speaking!\r\n")
time.sleep(1/cfg.RATE)
L'erreur semble toujours se passer sur la ligne de code: print (username + ": " + message)
Est-ce que quelqu'un sait comment je dois gérer ces caractères Unicode?