nakama/backend/check-env.js

63 lines
2.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Скрипт для проверки переменных окружения
const dotenv = require('dotenv');
const path = require('path');
const fs = require('fs');
console.log('🔍 Проверка переменных окружения...\n');
// Проверить наличие .env файла
const envPath = path.join(__dirname, '.env');
console.log(`📁 Путь к .env: ${envPath}`);
if (fs.existsSync(envPath)) {
console.log('✅ Файл .env найден\n');
// Загрузить .env
dotenv.config({ path: envPath });
// Проверить TELEGRAM_BOT_TOKEN
const token = process.env.TELEGRAM_BOT_TOKEN;
if (token) {
console.log('✅ TELEGRAM_BOT_TOKEN установлен');
console.log(` Токен: ${token.substring(0, 10)}...${token.substring(token.length - 4)}`);
console.log(` Длина: ${token.length} символов`);
} else {
console.log('❌ TELEGRAM_BOT_TOKEN НЕ установлен!');
console.log('\n📝 Проверьте .env файл:');
console.log(' Должна быть строка: TELEGRAM_BOT_TOKEN=ваш_токен');
console.log(' Без кавычек и пробелов вокруг =');
}
// Показать все переменные из .env
console.log('\n📋 Все переменные из .env:');
const envContent = fs.readFileSync(envPath, 'utf-8');
const lines = envContent.split('\n').filter(line => line.trim() && !line.startsWith('#'));
lines.forEach(line => {
const key = line.split('=')[0].trim();
const value = line.split('=').slice(1).join('=').trim();
if (key === 'TELEGRAM_BOT_TOKEN') {
console.log(` ${key}=${value.substring(0, 10)}...${value.substring(value.length - 4)}`);
} else {
console.log(` ${key}=${value.substring(0, 20)}...`);
}
});
} else {
console.log('❌ Файл .env НЕ найден!');
console.log(`\n📝 Создайте файл .env в: ${envPath}`);
console.log(' Добавьте строку: TELEGRAM_BOT_TOKEN=ваш_токен');
}
console.log('\n🔍 Проверка переменных окружения системы:');
const systemToken = process.env.TELEGRAM_BOT_TOKEN;
if (systemToken) {
console.log('✅ TELEGRAM_BOT_TOKEN найден в системных переменных');
} else {
console.log('⚠️ TELEGRAM_BOT_TOKEN не найден в системных переменных');
}
console.log('\n💡 Для PM2 нужно использовать:');
console.log(' pm2 restart nakama-backend --update-env');
console.log(' или добавить в ecosystem.config.js');