mirror of
https://github.com/PaiGramTeam/telegram-bot-api-build.git
synced 2024-11-22 06:57:52 +00:00
6505e0619f
Read values for TELEGRAM_API_ID and TELEGRAM_API_HASH from files specified by TELEGRAM_API_ID_FILE and TELEGRAM_API_HASH_FILE respectively. This allows for better management of sensitive information through Docker secrets.
70 lines
1.8 KiB
Bash
70 lines
1.8 KiB
Bash
#!/bin/sh
|
|
set -e
|
|
|
|
USERNAME=telegram-bot-api
|
|
GROUPNAME=telegram-bot-api
|
|
|
|
chown ${USERNAME}:${GROUPNAME} "${TELEGRAM_WORK_DIR}"
|
|
|
|
if [ -n "${1}" ]; then
|
|
exec "${*}"
|
|
fi
|
|
|
|
DEFAULT_ARGS="--http-port 8081 --dir=${TELEGRAM_WORK_DIR} --temp-dir=${TELEGRAM_TEMP_DIR} --username=${USERNAME} --groupname=${GROUPNAME}"
|
|
CUSTOM_ARGS=""
|
|
|
|
if [ -n "$TELEGRAM_LOG_FILE" ]; then
|
|
CUSTOM_ARGS=" --log=${TELEGRAM_LOG_FILE}"
|
|
fi
|
|
if [ -n "$TELEGRAM_STAT" ]; then
|
|
CUSTOM_ARGS="${CUSTOM_ARGS} --http-stat-port=8082"
|
|
fi
|
|
if [ -n "$TELEGRAM_FILTER" ]; then
|
|
CUSTOM_ARGS="${CUSTOM_ARGS} --filter=$TELEGRAM_FILTER"
|
|
fi
|
|
if [ -n "$TELEGRAM_MAX_WEBHOOK_CONNECTIONS" ]; then
|
|
CUSTOM_ARGS="${CUSTOM_ARGS} --max-webhook-connections=$TELEGRAM_MAX_WEBHOOK_CONNECTIONS"
|
|
fi
|
|
if [ -n "$TELEGRAM_VERBOSITY" ]; then
|
|
CUSTOM_ARGS="${CUSTOM_ARGS} --verbosity=$TELEGRAM_VERBOSITY"
|
|
fi
|
|
if [ -n "$TELEGRAM_MAX_CONNECTIONS" ]; then
|
|
CUSTOM_ARGS="${CUSTOM_ARGS} --max-connections=$TELEGRAM_MAX_CONNECTIONS"
|
|
fi
|
|
if [ -n "$TELEGRAM_PROXY" ]; then
|
|
CUSTOM_ARGS="${CUSTOM_ARGS} --proxy=$TELEGRAM_PROXY"
|
|
fi
|
|
if [ -n "$TELEGRAM_LOCAL" ]; then
|
|
CUSTOM_ARGS="${CUSTOM_ARGS} --local"
|
|
fi
|
|
if [ -n "$TELEGRAM_HTTP_IP_ADDRESS" ]; then
|
|
CUSTOM_ARGS="${CUSTOM_ARGS} --http-ip-address=$TELEGRAM_HTTP_IP_ADDRESS"
|
|
fi
|
|
|
|
COMMAND="telegram-bot-api ${DEFAULT_ARGS}${CUSTOM_ARGS}"
|
|
|
|
file_env() {
|
|
local var_name="$1"
|
|
local file_var_name="$2"
|
|
|
|
eval file_path="\$${file_var_name}"
|
|
eval current_value="\$${var_name}"
|
|
|
|
if [ -n "$file_path" ]; then
|
|
if [ -n "$current_value" ]; then
|
|
echo "Error: both ${file_var_name} and ${var_name} env vars are set, expected only one of them"
|
|
exit 1
|
|
fi
|
|
|
|
file_content=$(< "$file_path")
|
|
export "$var_name=$file_content"
|
|
fi
|
|
}
|
|
|
|
file_env "TELEGRAM_API_ID" "TELEGRAM_API_ID_FILE"
|
|
file_env "TELEGRAM_API_HASH" "TELEGRAM_API_HASH_FILE"
|
|
|
|
echo "$COMMAND"
|
|
# shellcheck disable=SC2086
|
|
exec $COMMAND
|