const { VK } = require('vk-io')
const vk = new VK({
token: process.env.VK_TOKEN
})
const GROUP_ID = xanax
const ADMINS = new Set([111222333])
vk.updates.on('message_new', async context => {
const match = context.text?.trim().match(/^\/(kick|ban)\s+(\d+)$/i)
if (!match || !context.isChat) return
if (!ADMINS.has(context.senderId)) {
await context.send('У тебя нет прав для этой команды.')
return
}
const action = match[1].toLowerCase()
const userId = Number(match[2])
try {
if (action === 'kick') {
await vk.api.messages.removeChatUser({
chat_id: context.chatId,
member_id: userId,
group_id: GROUP_ID
})
await context.send(`Пользователь ${userId} исключён из беседы.`)
return
}
await vk.api.groups.ban({
group_id: GROUP_ID,
owner_id: userId,
comment: 'Заблокирован модератором'
})
await context.send(`Пользователь ${userId} заблокирован в сообществе.`)
} catch (error) {
console.error(error)
await context.send('Не удалось выполнить команду. Проверь ID и права бота.')
}
})
vk.updates.start().catch(console.error)