diff --git a/db/shop.db b/db/shop.db deleted file mode 100644 index 672dbc4..0000000 Binary files a/db/shop.db and /dev/null differ diff --git a/src/config/database.js b/src/config/database.js index ec9b8cc..e7a2e22 100644 --- a/src/config/database.js +++ b/src/config/database.js @@ -90,6 +90,7 @@ const initDb = async () => { CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, telegram_id TEXT UNIQUE NOT NULL, + username TEXT, country TEXT, city TEXT, district TEXT, diff --git a/src/handlers/adminUserHandler.js b/src/handlers/adminUserHandler.js index 7afd89d..31ce1e2 100644 --- a/src/handlers/adminUserHandler.js +++ b/src/handlers/adminUserHandler.js @@ -31,7 +31,6 @@ export default class AdminUserHandler { GROUP BY u.id ORDER BY u.created_at DESC `); - if (users.length === 0) { await this.bot.sendMessage(msg.chat.id, 'No users registered yet.'); return; @@ -54,7 +53,7 @@ export default class AdminUserHandler { // Create inline keyboard with user list const keyboard = { inline_keyboard: users.map(user => [{ - text: `ID: ${user.telegram_id} | Balance: $${user.total_balance || 0}`, + text: `ID: ${user.telegram_id} | Nickname: ${user.username? "@" + user.username: "None"} | Balance: $${user.total_balance || 0}`, callback_data: `view_user_${user.telegram_id}` }]) }; diff --git a/src/handlers/userHandler.js b/src/handlers/userHandler.js index 854eb10..6aa4b49 100644 --- a/src/handlers/userHandler.js +++ b/src/handlers/userHandler.js @@ -57,10 +57,11 @@ export default class UserHandler { async handleStart(msg) { const chatId = msg.chat.id; const userId = msg.from.id; + const username = msg.chat.username; try { // Create user profile - await User.create(userId); + await User.create(userId, username); const keyboard = { reply_markup: { diff --git a/src/models/User.js b/src/models/User.js index 4783763..9e1de17 100644 --- a/src/models/User.js +++ b/src/models/User.js @@ -1,7 +1,7 @@ import db from '../config/database.js'; export default class User { - static async create(telegramId) { + static async create(telegramId, username) { try { // First check if user exists const existingUser = await this.getById(telegramId); @@ -14,8 +14,8 @@ export default class User { // Create new user const result = await db.runAsync( - 'INSERT INTO users (telegram_id) VALUES (?)', - [telegramId.toString()] + 'INSERT INTO users (telegram_id, username) VALUES (?, ?)', + [telegramId.toString(), username] ); // Commit transaction