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
from helpers import *
from re import compile as reg_compile
from traceback import format_exc as print_traceback
arrow = colorify(u"&r&7\u2192&r")
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")
def onChat(event):
if not event.isCancelled():
sender = event.getPlayer()
words = event.getMessage().split(" ")
recipients = event.getRecipients()
try:
if not event.isCancelled():
sender = event.getPlayer()
words = event.getMessage().split(" ")
recipients = event.getRecipients()
for recipient in recipients:
rec_words = words[:] # copy
for i in range(len(rec_words)):
word = rec_words[i]
if recipient.getName().lower() in word.lower():
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
for recipient in recipients:
rec_words = words[:] # copy
for i in range(len(rec_words)):
word = rec_words[i]
if recipient.getName().lower() in word.lower():
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
# player was mentioned
if rec_words != words:
try: # list might not be mutable
recipients.remove(recipient) # don't send original message
except:
pass
message = " ".join([sender.getDisplayName(), arrow] + rec_words)
msg(recipient, message, usecolor = False)
recipient.playSound(recipient.getLocation(), "mob.chicken.plop", 1, 0)
# player was mentioned
if rec_words != words:
try: # list might not be mutable
recipients.remove(recipient) # don't send original message
except:
pass
message = " ".join([sender.getDisplayName(), arrow] + rec_words)
msg(recipient, message, usecolor = False)
recipient.playSound(recipient.getLocation(), "mob.chicken.plop", 1, 0)
except Exception, e:
error("Failed to handle PlayerChatEvent: %s" % e)
error(print_traceback())