# shellcheck shell=sh disable=SC2039,SC3043,SC2120,SC2154
# Reference:    https://core.telegram.org/bots/api#sendmessage

___x_cmd log init telegram
xrc param http ui arg

xrc:mod:lib telegram    type bot/_index util cfg react listen

___x_cmd_telegram___main(){
    arg:init telegram
    local ___X_CMD_TELEGRAM_LOCAL_CONFIG="${___X_CMD_TELEGRAM_LOCAL_CONFIG}"
    local ___X_CMD_TELEGRAM_LOCAL_PROFILE="${___X_CMD_TELEGRAM_LOCAL_PROFILE}"
    ___X_CMD_TELEGRAM_BOT_PATH="$___X_CMD_ROOT_DATA/telegram/bot"
    ___X_CMD_TELEGRAM_TMP="$___X_CMD_ROOT_TMP/telegram"
    ___x_cmd mkdirp "${___X_CMD_TELEGRAM_TMP}"

    while [ $# -gt 0 ]; do
        case "${1}" in
            --config)       ___X_CMD_TELEGRAM_LOCAL_CONFIG="$2";        arg:2:shift ;;
            @*)             ___X_CMD_TELEGRAM_LOCAL_CONFIG="${1#@}";    shift       ;;
            --profile)      ___X_CMD_TELEGRAM_LOCAL_PROFILE="$2";       arg:2:shift ;;
            :*)             ___X_CMD_TELEGRAM_LOCAL_PROFILE="${1#:}";   shift       ;;
            *)              break;;
        esac
    done

    param:advise telegram
    param:subcmd ___x_cmd_telegram                              \
        bot             "telegram bot"                          \
        react           "react"                                 \
        parse           "parse message"                         \
        listen          "listen"                                \
        --isready       "check telegram is ready"               \
        --cfg           "manage configuration for telegram"     \
        --cur           "current configuration for telegram"    \
        init            "Interactive UI init configuration"
    param:subcmd:try

    param:subcmd ___x_cmd_telegram_bot           \
        send             "send msg"
    param:subcmd:try

    param:run

    ___x_cmd_telegram _param_help_doc
    return 1
}

___x_cmd_telegram_help(){
    ___x_cmd help -m telegram "$@" >&2
}