the client, those to chat="" only in the initial connection window.
'''
- def send(self, msg: IrcMessage, chat: str = '') -> None:
+ def send(self, msg: IrcMessage, chat: str = '', to_log: str = '') -> None:
'Send line-separator-delimited message over socket.'
if not self.conn:
self.log.alert('cannot send, connection seems closed')
return
self.conn.send(msg)
- self.log.add(msg.raw, prefix=_LOG_PREFIX_SEND_FMT, chat=chat)
+ if to_log:
+ self.log.add(to_log, prefix='', chat=chat)
self.log.add(msg.raw, prefix=_LOG_PREFIX_SEND_RAW, chat=':raw')
def update_login(self, nick_confirmed: bool, nickname: str = '') -> None:
case '001' | 'NICK':
self.update_login(nickname=msg.params[0], nick_confirmed=True)
case 'PRIVMSG':
- self.log.add(msg=str(msg.params), prefix=_LOG_PREFIX_PRIVMSG,
- chat=msg.source.split('!')[0])
+ nickname = msg.source.split('!')[0]
+ self.log.add(f'<[{nickname}] {msg.params[-1]}', chat=nickname,
+ prefix=_LOG_PREFIX_PRIVMSG)
case 'CAP':
for to_log in self._caps.process_msg(msg.params[1:]):
self.log.add(to_log)
from ircplom.tui_base import (BaseTui, PromptWidget, TuiEvent, Window,
CMD_SHORTCUTS)
from ircplom.irc_conn import IrcMessage
-from ircplom.client import (CHAT_GLOB, IrcConnSetup, Client,
+from ircplom.client import (CHAT_GLOB, IrcConnSetup, Client, ClientEvent,
ClientIdMixin, ClientQueueMixin,
InitReconnectEvent, NewClientEvent, SendEvent)
def cmd__privmsg(self, target: str, msg: str) -> None:
'Send chat message msg to target.'
- self._cput(SendEvent, chat=target,
- payload=IrcMessage(verb='PRIVMSG', params=(target, msg)))
+ self._cput(ClientEvent.make_subtype(
+ method_to_call='send',
+ msg=IrcMessage(verb='PRIVMSG', params=(target, msg)),
+ chat=target, to_log=f'>[MYSELF] {msg}'))
class _PrivmsgPromptWidget(_ClientPromptWidget):