quick fix
This commit is contained in:
45
mentio.py
45
mentio.py
@@ -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())
|
||||||
Reference in New Issue
Block a user