summaryrefslogtreecommitdiff
path: root/chatgroups.py
diff options
context:
space:
mode:
Diffstat (limited to 'chatgroups.py')
-rw-r--r--chatgroups.py32
1 files changed, 24 insertions, 8 deletions
diff --git a/chatgroups.py b/chatgroups.py
index 9e85150..9965b96 100644
--- a/chatgroups.py
+++ b/chatgroups.py
@@ -43,11 +43,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 +79,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)
@@ -97,12 +112,12 @@ def on_chat(event):
groupchat(sender, msge)
event.setCancelled(True)
-@simplecommand("chatgroupkey",
- aliases = ["cgkey"],
- senderLimit = 0,
- helpNoargs = True,
- helpSubcmd = True,
- description = "Sets a key character for chatting to your chatgroup",
+@simplecommand("chatgroupkey",
+ aliases = ["cgkey"],
+ senderLimit = 0,
+ helpNoargs = True,
+ helpSubcmd = True,
+ description = "Sets a key character for chatting to your chatgroup",
usage = "<key>")
def chatgroupkey_command(sender, command, label, args):
key = " ".join(args)
@@ -115,5 +130,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)