diff options
author | Dico <Dico200@users.noreply.github.com> | 2015-11-04 11:52:27 +0100 |
---|---|---|
committer | Dico <Dico200@users.noreply.github.com> | 2015-11-04 11:52:27 +0100 |
commit | eb491bcd9ef5919acc858c0d48834d6f7fe02c4e (patch) | |
tree | a43a4df95ff22ba5ff11bfbf955df93560f41340 | |
parent | 7282bf63f647fa217e6aa7d9a4f24050dacf850e (diff) |
Update chatgroups, add /cg tpahere, add some cool code
I added a function do_for_chatgroup which takes a groupname, a function, and additional arguments after a receiver.
-rw-r--r-- | chatgroups.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/chatgroups.py b/chatgroups.py index 326b8d3..ab27e1f 100644 --- a/chatgroups.py +++ b/chatgroups.py @@ -43,6 +43,12 @@ 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") @@ -73,10 +79,16 @@ def groupchat(sender, message, ann = False): else: mesg = "&8[&bCG&8] &f%s&f: &6%s" % (name, message) 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) +def do_for_chatgroup(group, func, args): + for receiver in server.getOnlinePlayers(): + if groups.get(uid(receiver)) == group: + func(receiver, args) +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 +127,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) |