+nicklist(){
+ local nickfile="${chatfile%/channel}/nicks"
+ case $1 in
+ enter)
+ trap 'sed -i -E "/^${SESSION_KEY%%-*} $$ /d" "$nickfile"' INT QUIT
+ sed -i -E "/^${SESSION_KEY%%-*} /d" "$nickfile"
+ printf '%s %i %s\n' "${SESSION_KEY%%-*}" "$$" "$nickname" >>"$nickfile"
+ ;;
+ leave)
+ sed -i -E "/^${SESSION_KEY%%-*} $$ /d" "$nickfile"
+ ;;
+ esac
+
+ nicklist='NICKNAMES: '
+ while read -r s p nick; do
+ nicklist="${nicklist}/$nick/"
+ done <"$nickfile"
+ if ! tail -n20 "$chatfile" |grep -qxF "$nicklist"; then
+ printf '%s\n' "$nicklist" >>"$chatfile"
+ fi
+}
+