Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Тимофей Миловацкий Ученик (112), открыт 2 дня назад
Мне надо чтобы бот приветствовал нового пользователя в чате, это будет работать так.

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

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

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

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

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



Мой код:
 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 ответ
S.H.I. Оракул (74061) 2 дня назад
 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);
}
})();
Похожие вопросы