diff --git a/Spectrum2/backend.py b/Spectrum2/backend.py index feb2e94..4504bb1 100644 --- a/Spectrum2/backend.py +++ b/Spectrum2/backend.py @@ -222,9 +222,19 @@ class SpectrumBackend: message = WRAP(d.SerializeToString(), protocol_pb2.WrapperMessage.TYPE_FT_DATA); self.send(message) - def handleBackendConfig(self, section, key, value): + def handleBackendConfig(self, data): + """ + data is a dictionary, whose keys are sections and values are a list of + tuples of configuration key and configuration value. + """ c = protocol_pb2.BackendConfig() - c.config = "[%s]\n%s = %s\n" % (section, key, value) + config = [] + for section, rest in data.items(): + config.append('[%s]' % section) + for key, value in rest: + config.append('%s = %s' % (key, value)) + + c.config = '\n'.join(config) message = WRAP(c.SerializeToString(), protocol_pb2.WrapperMessage.TYPE_BACKEND_CONFIG); self.send(message) diff --git a/transwhat.py b/transwhat.py index aa58ad9..935b185 100755 --- a/transwhat.py +++ b/transwhat.py @@ -76,7 +76,12 @@ io = IOChannel(args.host, args.port, handleTransportData, connectionClosed) plugin = WhatsAppBackend(io, args.j) -plugin.handleBackendConfig('features', 'send_buddies_on_login', 1) +plugin.handleBackendConfig({ + 'features': [ + ('send_buddies_on_login', 1), + ('muc', 'true'), + ], +}) while True: try: