Mercurial > xib
comparison bot.py @ 133:e662ff6ecf50
added change-bridge-mode command
Signed-off-by: Charly COSTE <changaco@changaco.net>
author | Charly COSTE <changaco@changaco.net> |
---|---|
date | Fri, 15 Jan 2010 16:32:45 +0100 |
parents | 52d94261a406 |
children | 931a5edc7971 |
comparison
equal
deleted
inserted
replaced
132:6a6885dbed25 | 133:e662ff6ecf50 |
---|---|
35 | 35 |
36 | 36 |
37 class Bot(threading.Thread): | 37 class Bot(threading.Thread): |
38 | 38 |
39 commands = ['xmpp-participants', 'irc-participants', 'bridges'] | 39 commands = ['xmpp-participants', 'irc-participants', 'bridges'] |
40 admin_commands = ['add-bridge', 'add-xmpp-admin', 'halt', 'remove-bridge', 'restart-bot', 'restart-bridge', 'stop-bridge'] | 40 admin_commands = ['add-bridge', 'add-xmpp-admin', 'change-bridge-mode', 'halt', 'remove-bridge', 'restart-bot', 'restart-bridge', 'stop-bridge'] |
41 | 41 |
42 def __init__(self, jid, password, nickname, admins_jid=[], error_fd=sys.stderr, debug=False): | 42 def __init__(self, jid, password, nickname, admins_jid=[], error_fd=sys.stderr, debug=False): |
43 threading.Thread.__init__(self) | 43 threading.Thread.__init__(self) |
44 self.bare_jid = xmpp.protocol.JID(jid=jid) | 44 self.bare_jid = xmpp.protocol.JID(jid=jid) |
45 self.bare_jid.setResource('') | 45 self.bare_jid.setResource('') |
921 elif command == 'halt': | 921 elif command == 'halt': |
922 self.stop() | 922 self.stop() |
923 return | 923 return |
924 | 924 |
925 | 925 |
926 elif command in ['remove-bridge', 'restart-bridge', 'stop-bridge']: | 926 elif command in ['change-bridge-mode', 'remove-bridge', 'restart-bridge', 'stop-bridge']: |
927 # we need to know which bridge the command is for | 927 # we need to know which bridge the command is for |
928 if len(args_array) == 0: | 928 if len(args_array) == 0: |
929 if isinstance(participant, Participant): | 929 if isinstance(participant, Participant): |
930 b = participant.bridge | 930 b = participant.bridge |
931 else: | 931 else: |
945 elif len(bridges) == 1: | 945 elif len(bridges) == 1: |
946 b = bridges[0] | 946 b = bridges[0] |
947 elif len(bridges) > 1: | 947 elif len(bridges) > 1: |
948 return 'More than one bridge matches "'+args_array[0]+'", please be more specific. '+self.respond('bridges') | 948 return 'More than one bridge matches "'+args_array[0]+'", please be more specific. '+self.respond('bridges') |
949 | 949 |
950 if command == 'remove-bridge': | 950 if command == 'change-bridge-mode': |
951 new_mode = args_array[1] | |
952 if not new_mode in Bridge._modes: | |
953 return '"'+new_mode+'" is not a valid mode, list of modes: '+' '.join(Bridge._modes) | |
954 r = b.changeMode(new_mode) | |
955 if r: | |
956 return r | |
957 return 'Mode changed.' | |
958 elif command == 'remove-bridge': | |
951 self.removeBridge(b) | 959 self.removeBridge(b) |
952 return 'Bridge removed.' | 960 return 'Bridge removed.' |
953 elif command == 'restart-bridge': | 961 elif command == 'restart-bridge': |
954 b.restart() | 962 b.restart() |
955 return 'Bridge restarted.' | 963 return 'Bridge restarted.' |