pre-deploy commit
This commit is contained in:
75
scripts/legacy/testVipStatus.js
Normal file
75
scripts/legacy/testVipStatus.js
Normal file
@@ -0,0 +1,75 @@
|
||||
// Скрипт для тестирования VIP функционала
|
||||
require('dotenv').config();
|
||||
const { Pool } = require('pg');
|
||||
|
||||
// Создаем пул соединений
|
||||
const pool = new Pool({
|
||||
user: process.env.DB_USERNAME,
|
||||
host: process.env.DB_HOST,
|
||||
database: process.env.DB_NAME,
|
||||
password: process.env.DB_PASSWORD,
|
||||
port: parseInt(process.env.DB_PORT || '5432')
|
||||
});
|
||||
|
||||
async function testVipStatus() {
|
||||
try {
|
||||
console.log('Тестирование функционала VIP статуса...');
|
||||
|
||||
// Получаем список пользователей с информацией о premium статусе
|
||||
const users = await pool.query(`
|
||||
SELECT id, telegram_id, username, first_name, premium
|
||||
FROM users
|
||||
ORDER BY last_active_at DESC
|
||||
LIMIT 5
|
||||
`);
|
||||
|
||||
console.log('Список пользователей и их премиум статус:');
|
||||
users.rows.forEach(user => {
|
||||
console.log(`ID: ${user.id.substr(0, 8)}... | Telegram ID: ${user.telegram_id} | Имя: ${user.first_name || user.username || 'Не указано'} | Premium: ${user.premium ? '✅' : '❌'}`);
|
||||
});
|
||||
|
||||
// Если premium у всех false, устанавливаем premium = true
|
||||
const nonPremiumUsers = users.rows.filter(user => !user.premium);
|
||||
if (nonPremiumUsers.length > 0) {
|
||||
console.log('\nОбнаружены пользователи без премиум статуса. Устанавливаем премиум...');
|
||||
|
||||
for (const user of nonPremiumUsers) {
|
||||
await pool.query(`
|
||||
UPDATE users
|
||||
SET premium = true
|
||||
WHERE id = $1
|
||||
RETURNING id, telegram_id, premium
|
||||
`, [user.id]);
|
||||
|
||||
console.log(`✅ Установлен премиум для пользователя ${user.first_name || user.username || user.telegram_id}`);
|
||||
}
|
||||
} else {
|
||||
console.log('\nВсе пользователи уже имеют премиум-статус!');
|
||||
}
|
||||
|
||||
// Проверяем результат
|
||||
const updatedUsers = await pool.query(`
|
||||
SELECT id, telegram_id, username, first_name, premium
|
||||
FROM users
|
||||
ORDER BY last_active_at DESC
|
||||
LIMIT 5
|
||||
`);
|
||||
|
||||
console.log('\nОбновленный список пользователей и их премиум статус:');
|
||||
updatedUsers.rows.forEach(user => {
|
||||
console.log(`ID: ${user.id.substr(0, 8)}... | Telegram ID: ${user.telegram_id} | Имя: ${user.first_name || user.username || 'Не указано'} | Premium: ${user.premium ? '✅' : '❌'}`);
|
||||
});
|
||||
|
||||
console.log('\n✅ Тестирование VIP функционала завершено');
|
||||
console.log('🔧 Проверьте доступность VIP поиска в боте через меню или команды');
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ Ошибка при тестировании VIP статуса:', error);
|
||||
} finally {
|
||||
await pool.end();
|
||||
console.log('Соединение с базой данных закрыто');
|
||||
}
|
||||
}
|
||||
|
||||
// Запускаем тест
|
||||
testVipStatus();
|
||||
Reference in New Issue
Block a user