runv-server

server tooling for runv.club
Log | Files | Refs | README

chat (1444B)


      1 #!/bin/sh
      2 # runv.club — cliente IRC interactivo; config em ~/.config/weechat.
      3 # Por omissão (após patches/patch_irc.py): servidor interno «runv» → irc.tilde.chat:6697 (TLS), canal #runv.
      4 # Utilizadores: use só o comando «chat»; não é preciso memorizar outros nomes de binário.
      5 
      6 IRC_UI=""
      7 for c in weechat weechat-curses; do
      8   if command -v "$c" >/dev/null 2>&1; then
      9     IRC_UI=$c
     10     break
     11   fi
     12 done
     13 # Fallback se PATH estiver estranho mas o pacote Debian estiver instalado
     14 if [ -z "$IRC_UI" ]; then
     15   for p in /usr/bin/weechat-curses /usr/bin/weechat; do
     16     if [ -x "$p" ]; then
     17       IRC_UI=$p
     18       break
     19     fi
     20   done
     21 fi
     22 
     23 if [ -z "$IRC_UI" ]; then
     24   echo "runv: cliente IRC interactivo não encontrado (instale o pacote weechat-curses)." >&2
     25   echo "runv: no servidor: sudo apt install -y weechat-curses   ou   sudo python3 tools/tools.py" >&2
     26   exit 127
     27 fi
     28 
     29 CONFIG_DIR="${WEECHAT_HOME:-$HOME/.config/weechat}"
     30 
     31 if [ ! -f "$CONFIG_DIR/irc.conf" ]; then
     32   echo "runv: aviso — $CONFIG_DIR/irc.conf ainda não existe; será criada ao ligar." >&2
     33   echo "runv: peça ao admin para correr patches/patch_irc.py (rede IRC da casa)." >&2
     34 elif ! grep -q '^runv\.' "$CONFIG_DIR/irc.conf" 2>/dev/null; then
     35   echo "runv: aviso — servidor «runv» não está definido em $CONFIG_DIR/irc.conf." >&2
     36   echo "runv: o admin pode aplicar patches/patch_irc.py (TLS, #runv em irc.tilde.chat)." >&2
     37 fi
     38 
     39 exec "$IRC_UI" -d "$CONFIG_DIR" "$@"