Make markov chain-enabled channels reloadable
This commit is contained in:
parent
d05d0e7cb6
commit
89dddd00e4
1 changed files with 33 additions and 2 deletions
35
rowbot
35
rowbot
|
@ -210,6 +210,14 @@ if [[ $markov_seed ]]; then
|
|||
fi
|
||||
|
||||
if [[ $reload = yes ]]; then
|
||||
if [[ -v RECORDING ]]; then
|
||||
IFS=, read -ra recording <<< "$RECORDING"
|
||||
|
||||
for pair in "${recording[@]}"; do
|
||||
enabled[${pair%=*}]=${pair##*=}
|
||||
done
|
||||
fi
|
||||
|
||||
reload_vars=(
|
||||
nick ident host level log log_fd alarm_pid tls_pid in_sock
|
||||
out_sock sock_dir sys_root fact_root dev trigger registered
|
||||
|
@ -291,10 +299,18 @@ config-reload() {
|
|||
exec {log_fd}>"$log"
|
||||
fi
|
||||
|
||||
if [[ -v markov_chains[@] ]]; then
|
||||
for key in "${!enabled[@]}"; do
|
||||
recording+=",%s=%s" "$key" "${enabled[$key]}"
|
||||
done
|
||||
|
||||
export RECORDING=${recording#,}
|
||||
fi
|
||||
|
||||
reload_vars=(
|
||||
nick ident host level log log_fd alarm_pid tls_pid in_sock
|
||||
out_sock sock_dir sys_root fact_root dev trigger registered
|
||||
keep_trying desired_nick
|
||||
keep_trying desired_nick
|
||||
)
|
||||
|
||||
for env_var in "${reload_vars[@]}"; do
|
||||
|
@ -722,6 +738,13 @@ hook_cmd_markov() {
|
|||
enabled[$to]=no
|
||||
privmsg "$to" "no longer recording $to"
|
||||
;;
|
||||
enabled\?)
|
||||
if [[ ${to:0:1} != \# || ${enabled[$to]} = yes ]]; then
|
||||
privmsg "$to" "yes, I am recording $to for markov chains."
|
||||
else
|
||||
privmsg "$to" "no, I am not recording $to for markov chains"
|
||||
fi
|
||||
;;
|
||||
markov)
|
||||
keys=("${!markov_chains[@]}")
|
||||
(( idx = RANDOM % ${#keys[@]} ))
|
||||
|
@ -804,7 +827,7 @@ hook_cmd_control_panel() {
|
|||
return 0
|
||||
fi
|
||||
|
||||
local channel env_var reload_vars recipient msg
|
||||
local channel key recording env_var reload_vars recipient msg
|
||||
|
||||
case $action in
|
||||
raw)
|
||||
|
@ -818,6 +841,14 @@ hook_cmd_control_panel() {
|
|||
done
|
||||
;;
|
||||
reload)
|
||||
if [[ -v markov_chains[@] ]]; then
|
||||
for key in "${!enabled[@]}"; do
|
||||
recording+=",$key=${enabled[$key]}"
|
||||
done
|
||||
|
||||
export RECORDING=${recording#,}
|
||||
fi
|
||||
|
||||
reload_vars=(
|
||||
nick ident host level log log_fd alarm_pid tls_pid in_sock
|
||||
out_sock sock_dir sys_root fact_root dev trigger registered
|
||||
|
|
Loading…
Reference in a new issue