async def alias(self, message: Message) -> None:
"""Translate and send message."""
- alias_message = Message(self.name, message)
- alias_message.update(self._to)
- for key in self._translate:
- if key in message:
- alias_message[self._translate[key]] = message[key]
- await self.bus.send(alias_message)
+ # Prevent endless loop:
+ if message['sender'] != self.name:
+ alias_message = Message(self.name, message)
+ alias_message.update(self._to)
+ for key in self._translate:
+ if key in message:
+ alias_message[self._translate[key]] = message[key]
+ await self.bus.send(alias_message)
async def run(self) -> None:
"""Run no code proactively."""