summaryrefslogtreecommitdiff
path: root/chatgroups.py
diff options
context:
space:
mode:
Diffstat (limited to 'chatgroups.py')
-rw-r--r--chatgroups.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/chatgroups.py b/chatgroups.py
index 326b8d3..be29e53 100644
--- a/chatgroups.py
+++ b/chatgroups.py
@@ -21,6 +21,8 @@ def on_chatgroup_command(sender, command, label, args):
if len(args) == 1 and args[0] == "leave":
if sender_id in groups.keys():
groupchat(sender, "left the group", True)
+ if sender in cg_toggle_list:
+ cg_toggle_list.remove(p)
group = groups[sender_id]
del(groups[sender_id])
save_groups()
@@ -43,11 +45,18 @@ def on_chatgroup_command(sender, command, label, args):
msg(sender, "&aUse chat like '&e%s<message>' to send messages to this group." % get_key(sender_id))
elif len(args) == 1 and args[0] == "key":
msg(sender, "&aYour chatgroup key is currently: '&c%s&a'" % get_key(sender_id))
+ elif len(args) == 1 and args[0] == "tpahere":
+ if sender_id in groups.keys():
+ do_for_chatgroup(groups[sender_id], send_tpa_request, sender)
+ msg(sender, "&aSent a tpahere request to all users in your chatgroup")
+ else:
+ msg(sender, "&cYou have to be in a chatgroup to do that")
else:
msg(sender, "&e/chatgroup join <name>")
msg(sender, "&e/chatgroup leave")
msg(sender, "&e/chatgroup info")
msg(sender, "&e/chatgroup key")
+ msg(sender, "&e/chatgroup tpahere")
@hook.command("cgt")
@@ -72,11 +81,19 @@ def groupchat(sender, message, ann = False):
mesg = "&8[&bCG&8] &e&o%s&e&o %s" % (name, message)
else:
mesg = "&8[&bCG&8] &f%s&f: &6%s" % (name, message)
+ mesg = colorify(mesg)
+
info("[ChatGroups] %s (%s): %s" % (sender.getDisplayName(), group, message))
- for receiver in server.getOnlinePlayers():
- groups.get(uid(receiver)) == group and msg(receiver, mesg)
+ do_for_chatgroup(group, msg, mesg, usecolor = False)
+def do_for_chatgroup(group, func, *args, **kwargs):
+ for receiver in server.getOnlinePlayers():
+ if groups.get(uid(receiver)) == group:
+ func(receiver, *args, **kwargs)
+def send_tpa_request(receiver, sender):
+ if not receiver == sender:
+ runas(sender, "/tpahere " + receiver.getName())
def save_groups():
save_json_file("chatgroups", groups)
@@ -115,5 +132,6 @@ def chatgroupkey_command(sender, command, label, args):
save_keys()
return "&aYour chatgroup key was set to: '&c%s&a'" % key
+
def save_keys():
save_json_file("chatgroup_keys", cg_keys)