quick fix

This commit is contained in:
jomo
2014-06-21 01:00:21 +02:00
parent 151a8525d7
commit 610e926a54

View File

@@ -1,6 +1,7 @@
#pylint: disable=F0401 #pylint: disable=F0401
from helpers import * from helpers import *
from re import compile as reg_compile from re import compile as reg_compile
from traceback import format_exc as print_traceback
arrow = colorify(u"&r&7\u2192&r") arrow = colorify(u"&r&7\u2192&r")
regex = reg_compile(u"\u00A7[\\da-fk-or]") regex = reg_compile(u"\u00A7[\\da-fk-or]")
@@ -8,25 +9,29 @@ regex = reg_compile(u"\u00A7[\\da-fk-or]")
@hook.event("player.AsyncPlayerChatEvent", "normal") @hook.event("player.AsyncPlayerChatEvent", "normal")
def onChat(event): def onChat(event):
if not event.isCancelled(): try:
sender = event.getPlayer() if not event.isCancelled():
words = event.getMessage().split(" ") sender = event.getPlayer()
recipients = event.getRecipients() words = event.getMessage().split(" ")
recipients = event.getRecipients()
for recipient in recipients: for recipient in recipients:
rec_words = words[:] # copy rec_words = words[:] # copy
for i in range(len(rec_words)): for i in range(len(rec_words)):
word = rec_words[i] word = rec_words[i]
if recipient.getName().lower() in word.lower(): if recipient.getName().lower() in word.lower():
colors = "".join(regex.findall("".join(words[:i+1]))) # join all color codes used upto this word colors = "".join(regex.findall("".join(words[:i+1]))) # join all color codes used upto this word
rec_words[i] = colorify("&r&a<&6") + stripcolors(word) + colorify("&r&a>&r") + colors # extra fancy highlight rec_words[i] = colorify("&r&a<&6") + stripcolors(word) + colorify("&r&a>&r") + colors # extra fancy highlight
# player was mentioned # player was mentioned
if rec_words != words: if rec_words != words:
try: # list might not be mutable try: # list might not be mutable
recipients.remove(recipient) # don't send original message recipients.remove(recipient) # don't send original message
except: except:
pass pass
message = " ".join([sender.getDisplayName(), arrow] + rec_words) message = " ".join([sender.getDisplayName(), arrow] + rec_words)
msg(recipient, message, usecolor = False) msg(recipient, message, usecolor = False)
recipient.playSound(recipient.getLocation(), "mob.chicken.plop", 1, 0) recipient.playSound(recipient.getLocation(), "mob.chicken.plop", 1, 0)
except Exception, e:
error("Failed to handle PlayerChatEvent: %s" % e)
error(print_traceback())