fix: PostgreSQL compatibility and Telegram bot token validation
- Fixed PostgreSQL 18+ compatibility by using postgres:17 image - Added token validation for Telegram bot - Improved error handling in telegram_bot.py - Added scripts for bot token management - Cleaned up old QR codes and added new utility files
This commit is contained in:
50
update_bot_token.sh
Executable file
50
update_bot_token.sh
Executable file
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
# Скрипт для обновления токена Telegram бота
|
||||
# Использование: ./update_bot_token.sh "НОВЫЙ_ТОКЕН"
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "❌ Ошибка: Необходимо указать токен"
|
||||
echo "Использование: $0 \"НОВЫЙ_ТОКЕН\""
|
||||
echo ""
|
||||
echo "Пример: $0 \"1234567890:ABCDEFghijklmnopqrstuvwxyz\""
|
||||
echo ""
|
||||
echo "Получите токен от @BotFather в Telegram:"
|
||||
echo "1. Отправьте /mybots"
|
||||
echo "2. Выберите своего бота"
|
||||
echo "3. Нажмите 'API Token'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
NEW_TOKEN="$1"
|
||||
|
||||
echo "🔄 Обновление токена Telegram бота..."
|
||||
|
||||
# Проверяем валидность токена
|
||||
echo "🔍 Проверка валидности токена..."
|
||||
RESPONSE=$(curl -s "https://api.telegram.org/bot${NEW_TOKEN}/getMe")
|
||||
if echo "$RESPONSE" | grep -q '"ok":true'; then
|
||||
BOT_USERNAME=$(echo "$RESPONSE" | grep -o '"username":"[^"]*"' | cut -d'"' -f4)
|
||||
echo "✅ Токен валиден! Бот: @${BOT_USERNAME}"
|
||||
else
|
||||
echo "❌ Ошибка: Токен невалиден!"
|
||||
echo "Ответ API: $RESPONSE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Обновляем токен в базе данных
|
||||
echo "💾 Обновление токена в базе данных..."
|
||||
docker exec postgres_db psql -U trevor -d 2st_db -c "
|
||||
UPDATE comunication_telegramsettings
|
||||
SET bot_token = '$NEW_TOKEN', bot_name = '@${BOT_USERNAME}'
|
||||
WHERE id = 1;
|
||||
"
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Токен успешно обновлен в базе данных!"
|
||||
echo "🔄 Перезапуск контейнера telegram_bot..."
|
||||
docker restart telegram_bot
|
||||
echo "🎉 Готово! Проверьте логи: docker logs telegram_bot"
|
||||
else
|
||||
echo "❌ Ошибка при обновлении базы данных"
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user