From 8fd41a4a2f07b4a5f4f08f4cc4a3ee77d51c13a2 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Wed, 18 Jul 2018 11:53:57 +0200 Subject: bin/ii-connect: make blocking (so it needs to be run only once) --- bin/ii-connect | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'bin') diff --git a/bin/ii-connect b/bin/ii-connect index 8d807a9..8081cf0 100755 --- a/bin/ii-connect +++ b/bin/ii-connect @@ -1,26 +1,26 @@ #!/bin/sh -# run and handle the irc client +# identify to nickserv and log in to the correct irc channels # shellcheck disable=SC2119,SC2120 # shellcheck source=../lib/load-configuration . "${0%/*}/../lib/load-configuration" -# register if not yet done -if tail -n1 "${irc_dir}/nickserv/out" 2> /dev/null | \ - grep -qF 'This nickname is registered. Please choose a different nickname'; then - printf 'identify %s\n' "${irc_password}" | \ - sponge "${irc_dir}/nickserv/in" -fi +# wait for nickserv complaint +while ! grep -qF 'This nickname is registered. Please choose a different nickname' "${irc_dir}/nickserv/out"; do + sleep 1 +done -# join #archlinux32 if not yet done -if ! grep ' archlinux32/bot/buildmaster .* buildmaster$' "${irc_dir}/out" | \ - tail -n1 | \ - grep -q ' #archlinux32 '; then - { - echo '/j #archlinux32' - echo '/WHO buildmaster' - } | \ - sponge "${irc_dir}/in" -fi +# register +printf 'identify %s\n' "${irc_password}" | \ + sponge "${irc_dir}/nickserv/in" + +# wait for registering to succeed +while ! grep -qF 'You are now identified for' "${irc_dir}/nickserv/out"; do + sleep 1 +done + +# join channel +echo '/j #archlinux32' | \ + sponge "${irc_dir}/in" -- cgit v1.2.3-70-g09d2