shazow / ssh-chat

Chat over SSH.

Home Page:https://shazow.net/posts/ssh-how-does-it-even/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bot api: Forced rename is not reflected in term

shazow opened this issue · comments

When a TERM=bot joins with a collision name and gets renamed to GuestXXX, the new name is not reflected in the bot's term line. (Should the term line even be present?)

Tangent Alert

Should the term line even be present?

Should the bot only interact in json?

Overall design i am thinking of:

  • Update messages to use a Renderer which knows about converting a *Msg to string using the theme.
    • Rendering logic will be extracted out of messages structs and they will just hold data
    • Add 2 renderers, one which uses the current logic and a new JsonRenderer
  • on TERM=bot-json or something, use theme mono and JsonRenderer.
  • Optional: Add a client package in ssh-chat repo with message structure definitions. Clients will uses this package to connect and parse messages from Go.

Since each line will be a well-formed json message, users can optionally use the go lib or pipe the output of ssh to scripts

Yea, an alternative JSON API is certainly desirable, but I think 90% of people want a plaintext API since they're just messing around with shell scripts or equivalent.

And yes, using the Theme system to render JSON was also something I had in mind.