Hotfix for chatalias
This commit is contained in:
22
chatalias.py
22
chatalias.py
@@ -120,6 +120,7 @@ def on_join(event):
|
||||
|
||||
@hook.event("player.AsyncPlayerChatEvent", "high")
|
||||
def on_player_chat(event):
|
||||
try:
|
||||
if enabled:
|
||||
if event.isCancelled():
|
||||
return
|
||||
@@ -127,7 +128,7 @@ def on_player_chat(event):
|
||||
if not hasPerm(player, permission_USE):
|
||||
return
|
||||
msg_limit = int(get_permission_content(player, permission_LENGTH))
|
||||
for alias, value in data[str(uid(player))].items():
|
||||
for alias, value in data[uid(player)].iteritems():
|
||||
if player.hasPermission("essentials.chat.color"):
|
||||
event.setMessage(event.getMessage().replace(colorify(alias), colorify(value)))
|
||||
else:
|
||||
@@ -137,6 +138,8 @@ def on_player_chat(event):
|
||||
plugin_header(player, "Alias")
|
||||
msg(player, "The message you wanted to generate would exceed the length limit limit of %d. Please make it shorter!" % msg_limit)
|
||||
return
|
||||
except:
|
||||
error(trace())
|
||||
|
||||
|
||||
def hasPerm(player, permission):
|
||||
@@ -316,14 +319,12 @@ def load_data_thread(uuid):
|
||||
curs = conn.cursor()
|
||||
curs.execute("SELECT `alias` FROM `chatalias` WHERE `uuid` = ?;", (uuid, ))
|
||||
results = curs.fetchall()
|
||||
if len(results) == 0:
|
||||
value = dict(global_aliases)
|
||||
curs.execute("INSERT INTO `chatalias` VALUES (?,?);", (uuid, json_dumps(results), ))
|
||||
conn.commit()
|
||||
else:
|
||||
value = json_loads(results[0][0])
|
||||
curs.close()
|
||||
conn.close()
|
||||
if len(results) == 0:
|
||||
value = dict(global_aliases)
|
||||
else:
|
||||
value = json_loads(results[0][0])
|
||||
data[uuid] = value
|
||||
|
||||
|
||||
@@ -341,10 +342,9 @@ def save_data(uuid):
|
||||
def save_data_thread(uuid):
|
||||
conn = zxJDBC.connect(mysql_database, mysql_user, mysql_pass, "com.mysql.jdbc.Driver")
|
||||
curs = conn.cursor()
|
||||
try:
|
||||
curs.execute("UPDATE `chatalias` SET `alias` = ? WHERE `uuid` = ?;", (json_dumps(data[uuid]), uuid, ))
|
||||
except:
|
||||
error(trace())
|
||||
value = json_dumps(data[uuid])
|
||||
curs.execute("INSERT INTO `chatalias` VALUES (?, ?) ON DUPLICATE KEY UPDATE `alias` = ?;",
|
||||
(uuid, value, value))
|
||||
conn.commit()
|
||||
curs.close()
|
||||
conn.close()
|
||||
|
||||
@@ -279,11 +279,15 @@ def is_ip(tocheck):
|
||||
|
||||
# Allows the use of e.g. numeric permission nodes like "permission.amount.5" and similar.
|
||||
# To get the data fetch the player and the start of the permission node, looking like "permission.amount."
|
||||
def get_permission_content(player, permnode):
|
||||
def get_permission_content(player, permnode, default_value = None):
|
||||
try:
|
||||
perms = player.getEffectivePermissions()
|
||||
for perm in perms:
|
||||
if str(perm.getPermission()).startswith(permnode):
|
||||
return str(perm.getPermission())[len(permnode):]
|
||||
return default_value
|
||||
except:
|
||||
error(trace())
|
||||
|
||||
|
||||
def array_to_list(array):
|
||||
|
||||
Reference in New Issue
Block a user