# shellcheck shell=dash

xrc cfgy
___x_cmd_qywx_cfg(){
    param:void
    [ "$#" -gt 0 ] || {
        _____x_cmd_qywx_help --cfg
        return 64
    }

    local X_help_cmd=; X_help_cmd='x help -m qywx --cfg' help:arg:parse
    ___x_cmd_qywx_cfg___invoke "$@"
}

___x_cmd_qywx_cur(){
    param:void
    local X_help_cmd=; X_help_cmd='x help -m qywx --cur' help:arg:parse
    ___x_cmd_qywx_cfg___invoke --current "$@"
}

___x_cmd_qywx_init(){
    param:void

    local cur_webhook=; local cur_bot_id=; local cur_bot_secret=;
    if [ -f "$(___x_cmd_qywx_cur --get config)" ]; then
        ___x_cmd_qywx_cur cur_webhook:=webhook cur_bot_id:=bot_id cur_bot_secret:=bot_secret  2>/dev/null
    fi

    qywx:info "To get Bot ID and Secret: Workbench -> Intelligent Bot -> Find your API-mode bot"
    local X_help_cmd=; X_help_cmd='x help -m qywx --init' help:arg:parse
    ___x_cmd_qywx_cfg___invoke --init  \
        bot_id      "Bot ID for intelligent bot (AI chatbot)"                      "$cur_bot_id"       "=~*"   ".*"    --                                  \
        bot_secret  "Bot secret for intelligent bot (AI chatbot)"                  "$cur_bot_secret"   "=~*"   ".*"    --                                  \
        webhook     "Webhook URL for custom robot to send messages (custom bot)"   "$cur_webhook"      '=~*' "^https://qyapi.weixin.qq.com/cgi-bin/webhook/send\?key=[A-Za-z0-9-]+$"
}

___X_CMD_QYWX_CFG_VARLIST="webhook,bot_id,bot_secret"
___x_cmd_qywx_cfg___invoke(){
    ___x_cmd_cfgy_obj \
        --prefix            ___X_CMD_QYWX_CFG_DATA                  \
        --default-config    "${___X_CMD_ROOT_CFG}/qywx/X.cfg.yml"   \
        --current-config    "${___X_CMD_QYWX_LOCAL_CONFIG}"         \
        --current-profile   "${___X_CMD_QYWX_LOCAL_PROFILE}"        \
        --varlist           "$___X_CMD_QYWX_CFG_VARLIST"            \
        "$@"
}