Simplest way to show user messages from an irc channel in a terminal - Servers Administration, Networking, & Virtualization

Users browsing this thread: 1 Guest(s)
josuah
Long time nixers
I really like ii and sic. What you can do is either an existing wrapper, or do your own out of existing components or from scratch.

I see 4 pieces for an ii or sic wrapper (may also apply for other tools as well):

-> Something to manage connection:
- type the commands by hand,
- a script that start all connections at once
- an interface (cli / tui...) that start and stop servers on demand
- do you want to handle disconnections

-> Something to manage the multiple channels
- for sic, this is a built-in feature (through multiplexing)
- for ii: do you want an interface that prompt a channel to join
- do you want to handle automatic joining

- > Something to handle the user input
- REPL-style client ? Read a line, send it to the channel, restart
- Keybindings of any kind to control the above ?
- Prevent input and output to be mixed: two different windows (tmux, window manager) or a single one...

... if you use "tail -f &" to display the messages and "while read line" to read the input, you will have an issue of the incoming message being printed at current cursor position: where you are currently writing. To avoid this, you can use 9term or acme, both provided in plan9port.

-> And then the goodies: pimp and rice the output: sed and awk are your friends.

I have this simple script that takes a channel directory as argument and read input from user.

You can bring line editing and separated input / outut with rlwrap, and calling your small-ish script like that:

Code:
stty -echo  # Do not print what I just wrote on screen, ii does it already

rlwrap ii-client  # open the client without raw input output but with line editing

stty sane  # reset the terminal

You can use it directly with sic: "$ rlwrap sic".


Messages In This Thread
RE: Simplest way to show user messages from an irc channel in a terminal - by josuah - 22-05-2017, 06:19 PM