peach-workspace/run-tilde-sbot.sh
2025-05-21 18:07:38 -04:00

43 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# Exit on error
set -e
# Usage check
if [ "$#" -lt 2 ]; then
echo "Usage: $0 <CONFIG_FILE> <TILDEFRIENDS_PATH>"
exit 1
fi
CONFIG_FILE="$1"
TILDEFRIENDS_PATH="$2"
# Extract network_key (if it exists)
NETWORK_KEY=$(grep -v '^\s*#' "$CONFIG_FILE" | grep -E '^\s*network_key\s*=' | sed -E 's/.*=\s*"?(.*?)"?\s*/\1/')
DATABASE_DIRECTORY=$(grep -v '^\s*#' "$CONFIG_FILE" \
| grep -E '^\s*database_directory\s*=' \
| sed -E 's/.*=\s*"([^"]*)"\s*/\1/')
# Extract all other key-value pairs except network_key
ARGS=$(grep -v '^\s*#' "$CONFIG_FILE" \
| grep -E '^\s*[a-zA-Z0-9_.-]+\s*=' \
| grep -v '^\s*network_key\s*=' \
| sed -E 's/\s*=\s*/=/' \
| tr -d '"' \
| paste -sd, -)
echo "ARGS: $ARGS"
[ -n "$NETWORK_KEY" ] && echo "NETWORK_KEY: $NETWORK_KEY"
[ -n "$DATABASE_DIRECTORY" ] && echo "DATABASE_DIRECTORY: $DATABASE_DIRECTORY"
CMD="\"$TILDEFRIENDS_PATH\" run"
[ -n "$ARGS" ] && CMD="$CMD -a \"$ARGS\""
[ -n "$NETWORK_KEY" ] && CMD="$CMD -k \"$NETWORK_KEY\""
[ -n "$DATABASE_DIRECTORY" ] && CMD="$CMD -d \"$DATABASE_DIRECTORY/db.sqlite\""
echo "Running command:"
echo "$CMD"
# Execute the command
eval $CMD