diff options
Diffstat (limited to 'chatgroups.py')
-rw-r--r-- | chatgroups.py | 32 |
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) |