diff --git a/bot.js b/bot.js index 3eeabe1..bcbf376 100644 --- a/bot.js +++ b/bot.js @@ -341,6 +341,51 @@ bot.command('profile', (ctx) => { }); }); +bot.command('link', async (ctx) => { + try { + // Шаг 1: Получаем пользователя из базы данных + let user = await UserModel.findByPk(ctx.from.id); + + if (!user) { + return ctx.reply("Пользователь не найден в базе данных."); + } + + // Шаг 2: Получаем список пользователей на сервере + const response = await fetch('https://staff.campfiregg.ru/api/users', { + method: 'GET', + headers: { + 'Content-Type': 'application/json', + 'Authorization': 'Token tknCaMpFiReApIStAfFend' + } + }); + + const users = await response.json(); + + // Шаг 3: Ищем пользователя, у которого в "bio" содержится ctx.from.id (ID бота) + const staffuser = users.data.find(staff => staff.attributes.bio === String(ctx.from.id)); + + if (!staffuser) { + // Если пользователя не нашли + return ctx.reply("Пользователь не найден. Пожалуйста, установите ваш ID в описание профиля и повторите попытку."); + } else { + // Шаг 4: Если нашли, добавляем staffID в базу данных бота + const staffUserId = staffuser.id; // ID пользователя на сервере (staff) + user.staffID = staffUserId; + + await user.save(); // Сохраняем обновления в базе данных + + // Ответ пользователю + return ctx.reply('Профиль успешно привязан'); + } + + } catch (err) { + // Обработка ошибок + console.error(err); + return ctx.reply("Произошла ошибка. Попробуйте снова."); + } +}); + + bot.hears('промка', async (ctx) => {