Top.Mail.Ru
Ответы

Как сделать чтобы бот в ВКонтатке, приветствовал пользователя?

Мне надо чтобы бот приветствовал нового пользователя в чате, это будет работать так.

1 - Пользователь приглашает своего друга в чат
2 - Бот улавливает приглашенного пользователя и приветствует его

Пример приветствия:

👋 Приветствую тебя,@id${userId} (Пользователь)!
📝 Наша встреча с тобой очень благополучная, надеюсь тебе понравится у нас в чате.

🆘 Кратко о чате:

🏙️ Название чата: ${chatName}
❤️‍🩹 Участников: ${chatMember} шт



Мой код:

1234567891011121314151617181920
 const { VK } = require(`vk-io`); 
const { HearManager } = require(`@vk-io/hear`); 
const vk = new VK(); 
 
 
const bot = new HearManager().middleware() 
 
vk.updates.on('chat_invite_user',(bot) => { 
    bot.send(`Приветствую тебя, в беседе!`) 
}) 
 
 
 
vk.update.start().then(() => { 
    console.log(`Bot started`) 
}).catch((error) => { 
    console.log(`Error start!\nDescription - ${error}`) 
}) 
 
 
По дате
По рейтингу
Аватар пользователя
Оракул
1мес
12345678910111213141516171819202122232425262728293031323334353637
 const { VK } = require('vk-io'); 
const { HearManager } = require('@vk-io/hear'); 
 
const vk = new VK({ token: process.env.VK_TOKEN }); 
const hear = new HearManager(); 
 
vk.updates.use(hear.middleware); 
 
vk.updates.on('chat_invite_user', async (ctx) => { 
  if (ctx.action.member_id === -vk.groupId) return; 
 
  const userId = ctx.action.member_id; 
  const chatName = ctx.chatSettings?.title ?? 'Наша беседа'; 
 
  const { count: membersCount } = await vk.api.messages.getConversationMembers({ 
    peer_id: ctx.peerId 
  }); 
 
  await ctx.send(` 
👋 Приветствую тебя, @id${userId} (пользователь)! 
📝 Наша встреча с тобой очень благополучная, надеюсь тебе понравится у нас в чате. 
 
🆘 Кратко о чате: 
 
🏙️ Название чата: ${chatName} 
❤️‍🩹 Участников: ${membersCount} шт 
  `.trim()); 
}); 
 
(async () => { 
  try { 
    await vk.updates.start(); 
    console.log('Bot started'); 
  } catch (e) { 
    console.error('Ошибка запуска:', e); 
  } 
})();