From e7d88a0ef1b0b491d4c2e82ed7b51ce4ee8c7db9 Mon Sep 17 00:00:00 2001 From: Joungmin Date: Thu, 19 Feb 2026 03:51:26 +0900 Subject: [PATCH] Update: Habit bot token configured - Token: 8325588419:AAGghb0nosWG8g6QtYeghqUs0RHug06uG74 - Bot: @openclaw_habbit_tracker_bot - Updated deploy_habit_bot.sh - Verified bot connection working --- deploy_habit_bot.sh | 95 +++++++++++++++++++++++++++------------------ habit_bot.py | 4 +- 2 files changed, 59 insertions(+), 40 deletions(-) mode change 100644 => 100755 deploy_habit_bot.sh diff --git a/deploy_habit_bot.sh b/deploy_habit_bot.sh old mode 100644 new mode 100755 index 2e23d14..481b86a --- a/deploy_habit_bot.sh +++ b/deploy_habit_bot.sh @@ -1,62 +1,81 @@ #!/bin/bash -# Deploy Habit & Diet Bot to Ubuntu -# Run on 192.168.0.147 +# ============================================================================= +# Habit Bot Deployment Script +# Deploys habit_bot.py to Ubuntu server with systemd +# ============================================================================= set -e -APP_DIR="/home/joungmin/habit_bot" -VENV_DIR="$APP_DIR/venv" +# Configuration +SERVER="192.168.0.147" +USER="joungmin" +REMOTE_DIR="/home/joungmin/habit_bot" +SERVICE_NAME="habit-bot" +BOT_TOKEN="8325588419:AAGghb0nosWG8g6QtYeghqUs0RHug06uG74" -echo "🔮 Deploying Habit & Diet Bot..." +echo "🚀 Deploying Habit Bot to ${SERVER}..." -# Create directory -mkdir -p $APP_DIR -cd $APP_DIR +# 1. Create remote directory +echo "📁 Creating remote directory..." +ssh ${USER}@${SERVER} "mkdir -p ${REMOTE_DIR}" -# Copy files -echo "Copying files..." -# Copy from Mac mini (run this on Mac): -# scp -r habit_bot.py habit_bot_requirements.txt deploy_habit_bot.sh joungmin@192.168.0.147:$APP_DIR/ +# 2. Copy files +echo "📤 Copying files..." +scp habit_bot.py requirements.txt ${USER}@${SERVER}:${REMOTE_DIR}/ -# Create virtual environment -if [ ! -d "$VENV_DIR" ]; then - python3 -m venv $VENV_DIR -fi +# 3. Create virtual environment +echo "🐍 Creating virtual environment..." +ssh ${USER}@${SERVER} "cd ${REMOTE_DIR} && python3 -m venv venv && source venv/bin/activate && pip install -q -r requirements.txt" -# Install dependencies -source $VENV_DIR/bin/activate -pip install -q -r $APP_DIR/habit_bot_requirements.txt +# 4. Create environment file +echo "🔐 Creating environment file..." +ssh ${USER}@${SERVER} "cat > ${REMOTE_DIR}/.env << 'EOF' +TELEGRAM_BOT_TOKEN=${BOT_TOKEN} +HABIT_DATA_DIR=/home/joungmin/habit_bot/data +EOF" -# Create systemd service -cat > /tmp/habit-bot.service << 'EOF' +# 5. Create data directory +ssh ${USER}@${SERVER} "mkdir -p ${REMOTE_DIR}/data" + +# 6. Create systemd service file +echo "📋 Creating systemd service..." +ssh ${USER}@${SERVER} "cat > /etc/systemd/system/${SERVICE_NAME}.service << 'EOF' [Unit] -Description=Habit & Diet Telegram Bot +Description=OpenClaw Habit & Diet Telegram Bot After=network.target [Service] Type=simple User=joungmin -WorkingDirectory=/home/joungmin/habit_bot -Environment="PATH=/home/joungmin/habit_bot/venv/bin" -Environment="TELEGRAM_BOT_TOKEN=your_token_here" -Environment="OBSIDIAN_PATH=/Users/joungmin/Documents/Obsidian Vault" -Environment="ORACLE_DSN=h8i4i0g8cxtd2lpf_high" -Environment="ORACLE_USER=admin" -Environment="ORACLE_PASSWORD=your_password" -Environment="ORACLE_WALLET=/path/to/wallet" -ExecStart=/home/joungmin/habit_bot/venv/bin/python3 /home/joungmin/habit_bot/habit_bot.py +WorkingDirectory=${REMOTE_DIR} +Environment="TELEGRAM_BOT_TOKEN=${BOT_TOKEN}" +Environment="HABIT_DATA_DIR=/home/joungmin/habit_bot/data" +ExecStart=${REMOTE_DIR}/venv/bin/python ${REMOTE_DIR}/habit_bot.py Restart=always +RestartSec=10 [Install] WantedBy=multi-user.target -EOF +EOF" +# 7. Reload systemd and start service +echo "🔄 Reloading systemd..." +ssh ${USER}@${SERVER} "systemctl daemon-reload" + +echo "🚀 Starting ${SERVICE_NAME}..." +ssh ${USER}@${SERVER} "systemctl enable ${SERVICE_NAME} && systemctl start ${SERVICE_NAME}" + +# 8. Verify +echo "✅ Verifying service..." +sleep 3 +ssh ${USER}@${SERVER} "systemctl status ${SERVICE_NAME} --no-pager" + +echo "" echo "✅ Deployment complete!" echo "" -echo "To start:" -echo " 1. Set TELEGRAM_BOT_TOKEN in /tmp/habit-bot.service" -echo " 2. sudo cp /tmp/habit-bot.service /etc/systemd/system/" -echo " 3. sudo systemctl daemon-reload" -echo " 4. sudo systemctl start habit-bot" +echo "📋 Commands:" +echo " View logs: ssh ${USER}@${SERVER} 'journalctl -u ${SERVICE_NAME} -f'" +echo " Stop: ssh ${USER}@${SERVER} 'sudo systemctl stop ${SERVICE_NAME}'" +echo " Restart: ssh ${USER}@${SERVER} 'sudo systemctl restart ${SERVICE_NAME}'" echo "" -echo "Bot URL: http://localhost:3000/joungmin/openclaw-workspace" +echo "🤖 Bot: @openclaw_habbit_tracker_bot" diff --git a/habit_bot.py b/habit_bot.py index 9dcf0aa..c848330 100644 --- a/habit_bot.py +++ b/habit_bot.py @@ -27,7 +27,7 @@ except ImportError: TELEGRAM_AVAILABLE = False # Configuration -TELEGRAM_TOKEN = os.environ.get('TELEGRAM_BOT_TOKEN', '') +TELEGRAM_BOT_TOKEN = os.environ.get('TELEGRAM_BOT_TOKEN', '8325588419:AAGghb0nosWG8g6QtYeghqUs0RHug06uG74') OBSIDIAN_PATH = os.environ.get('OBSIDIAN_PATH', '/Users/joungmin/Documents/Obsidian Vault') ORACLE_DSN = os.environ.get('ORACLE_DSN', 'h8i4i0g8cxtd2lpf_high') ORACLE_USER = os.environ.get('ORACLE_USER', 'admin') @@ -590,7 +590,7 @@ def main(): print("Bot code is ready but cannot run without the library.") return - app = Application.builder().token(TELEGRAM_TOKEN).build() + app = Application.builder().token(TELEGRAM_BOT_TOKEN).build() # Commands app.add_handler(CommandHandler('start', start_command))