- new_prefix = (' ' if self.payload[0] else '?') + self.payload[1]
- for win in target.client_wins(self.client_id):
- win.prompt.prefix = new_prefix
+ if self.client_id not in target.clients_data:
+ target.clients_data[self.client_id] = {}
+ clients_data = target.clients_data[self.client_id]
+ for k, v in self._updates.items():
+ clients_data[k] = v
+ if _PROMPT_UPDATE_TRIGGER_KEYS & set(self._updates.keys()):
+ for prompt in [w.prompt for w in target.client_wins(self.client_id)
+ if isinstance(w.prompt, _PrivmsgPromptWidget)]:
+ assert isinstance(prompt, _PrivmsgPromptWidget)
+ prompt.update_prefix(**{k: clients_data[k]
+ for k in _PROMPT_UPDATE_TRIGGER_KEYS})