@flameprofi
Человек, туповат, умноват, вообще не знаю кто я.

Как сделать чернйы список слов для бота в вк(node.js vk-io)?

Здравствуйте, делаю бота в вк для беседы на node.js (vk-io).
Нужно сделать что бы он читал все сообщения которые пишут в беседу и если есть слова из черного списка выдавал предупреждение.
const {VK, Keyboard, MessageContext } = require('vk-io');
const vk = new VK();
const {updates} = vk; 
const fs = require("fs");

vk.setOptions({
    token: 'токен', // токен группы
    apiMode: 'parallel',
	pollingGroupId: 187748785 // 1 замени на id группы 
}); 

vk.updates.hear(/hello/i, context => (
	context.send('World!')
));

vk.updates.hear(/^(?:Информация|Выговоры)$/i, (message) => {
	return message.send(` Таблица пиздюлей:
	Ренат - 1
	Макс -  1`);
});

const catsPurring = [
	'http://liferussian.ru/vk/test.mp3'
];

vk.updates.hear('Помощь', async (context) => {
	await context.send(`
		Мои команнды :
		/naxuy - послать говноеда
		Информация | Выговоры - тут все янсо
		А дальше хз что, ок?
	`);
});

vk.updates.hear('/naxuy', async (context) => {
	const link = catsPurring[Math.floor(Math.random() * catsPurring.length)];

	await Promise.all([
		context.send('Подожди, не много,сучка'),

		context.sendAudioMessage(link)
	]);
});

client.on('message' async message => ){

let blacklisted = ['lettuce', 'geyporno', 'привет']

let foundInText = false;
for (var i in blacklisted){
	if (message.content.toLowerCase().includes(blacklisted[i].toLowerCase())) foundInText = true;
}

if (foundInText){
	context.send('Подожди, не много,сучка');
}

vk.updates.start().catch(console.error);
  • Вопрос задан
  • 643 просмотра
Пригласить эксперта
Ответы на вопрос 1
Очень вовремя, конечно, но тем не менее) Если взять за основу код из комментариев выше и немного его поправить, то получится примерно вот так:

vk.updates.on('message', (context, next ) => {

	let blacklisted = ['lettuce', 'geyporno', 'привет']
	
	let foundInText = false;
	for (var i in blacklisted){
	  if (context.text.toLowerCase().includes(blacklisted[i].toLowerCase())) foundInText = true;
	}
	
	if (foundInText){
		context.send('Подожди, не много,сучка');
	} else {
		next()
	}
})
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 10:01
500 руб./за проект
26 апр. 2024, в 09:18
500 руб./в час
26 апр. 2024, в 06:46
1500 руб./в час