debug: add detailed logging for username generation
This commit is contained in:
@@ -64,23 +64,32 @@ export async function POST(request: NextRequest) {
|
||||
// 3. Генерируем уникальное имя пользователя (приоритет: @username > firstName_ID > userID > random)
|
||||
// ВАЖНО: Marzban принимает только a-z, 0-9 и подчеркивания, БЕЗ @
|
||||
let username: string;
|
||||
let usernameSource: string;
|
||||
|
||||
if (telegramUsername) {
|
||||
// Есть @username в Telegram - используем БЕЗ @
|
||||
username = telegramUsername.toLowerCase().replace(/[^a-z0-9_]/g, '_');
|
||||
usernameSource = 'telegram_username';
|
||||
} else if (firstName && telegramId) {
|
||||
// Нет username, используем имя + ID
|
||||
const cleanName = firstName.toLowerCase().replace(/[^a-z0-9]/g, '_');
|
||||
username = `${cleanName}_${telegramId}`;
|
||||
usernameSource = 'firstName_telegramId';
|
||||
} else if (telegramId) {
|
||||
// Только ID
|
||||
username = `user_${telegramId}`;
|
||||
usernameSource = 'telegramId_only';
|
||||
} else {
|
||||
// Для тестирования вне Telegram
|
||||
username = `user_${Date.now()}_${Math.random().toString(36).substring(7)}`;
|
||||
usernameSource = 'random_timestamp';
|
||||
}
|
||||
|
||||
logger.debug('✅ Generated username:', username);
|
||||
logger.debug('📊 Telegram data:', { telegramId, telegramUsername, firstName, lastName });
|
||||
logger.info('👤 USERNAME GENERATION:', {
|
||||
source: usernameSource,
|
||||
username,
|
||||
input: { telegramId, telegramUsername, firstName, lastName }
|
||||
});
|
||||
|
||||
// 4. Определяем inbounds на основе выбранных локаций
|
||||
let userInbounds = {
|
||||
|
||||
Reference in New Issue
Block a user