@MrPesic

U nexpected end of input. Что делать?

Unexpected end of input Бот vk.
const {VK, Keyboard} = require('vk-io');
const vk = new VK();
const {updates} = vk;
const fs = require("fs"); 
const acc = require("./base/acc.json");
const tokens = require("./base/tokens.json");  //Чат Менеджер

setInterval(function(){
	fs.writeFileSync("./base/acc.json", JSON.stringify(acc, null, "\t"))  
	fs.writeFileSync("./base/tokens.json", JSON.stringify(tokens, null, "\t"))    
}, 1500);

//////////////////////////////////////////////////////////////////////////////////////////////

vk.setOptions({
	token: tokens.token,
	apiMode: 'parallel',
	pollingGroupId: tokens.id
}); 

vk.updates.use(async (message, next) => {  
	if (message.is("message") && message.isOutbox) {return;}

	// Передаем инфу о юзере в message, для удобства
	message.user = message.senderId; message.text = message.payload.text;  
	if (!message.text) return;

	// Проверка существует ли пользователь в базе, если нет - создаем
	new_acc(message.user);
	
	if(acc.users[message.user].ban == true) {return;} // Проверка на заблокированный аккаунт.

	try { await next(); } catch (err) { console.error(err) }
});


//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
					 	
vk.updates.hear(/^(?:помощь)/i, (message) => { 
	let user = acc.users[message.user];

	return message.send(`
		 Помощь - функции бота.
		 бот - проверка работоспособности.
		 kick [ID] - кикнуть юзера из беседы.
		 addmoder [ID] - назначить юзера модератором.
		 removemoder [ID] - забрать модератора у юзера.
		 warn [ID] - выдать предупреждение.
		(После 3-х предупреждений - дается бан)
		 unwarn [ID] - снять все предупреждения.

		 Онлайн - онлайн беседы.
		 Состав - все модераторы/админы
		- - - - 
		[ID] - Это ссылка юзера ВКонтакте.
		Писать без скобок.
	`);
});

vk.updates.hear(/^(?:бот)/i, (message) => { 
	return message.send(`🤖`);
});

vk.updates.hear(/^(?:kick)(\s?https\:\/\/vk\.com\/)?(id)?([0-9]+)?([^]+)?/i, (message) => { 
	let user = acc.users[message.user];
	if(user.admin_level < 1) return;

	if(message.$match[4]) { 
		var domain = message.$match[4].split(" "); 
		vk.api.call("utils.resolveScreenName", { 
		screen_name: message.$match[4] 
	}).then((res) => { 
		new_acc(res.object_id);
		if(acc.users[res.object_id].admin_level == 2) return message.reply('⚠ ➾ Отказ'); 
		vk.api.call("messages.removeChatUser", {chat_id: message.chatId, user_id: res.object_id })
		.catch((error) => {return message.send(`Error.`);
		});  
		return  
		})  
	}else{
		if(!message.$match[3]) return message.reply("⚠ ➾ ID не указан, либо указан неверно."); 
		new_acc(message.$match[3]);
		if(acc.users[message.$match[3]].admin_level == 2) return message.reply('⚠ ➾ Отказ'); 
		vk.api.call("messages.removeChatUser", { chat_id: message.chatId, user_id: message.$match[3] }).
		catch((error) => {return message.send(`Error.`);}); 
		return  				
	} 
});

vk.updates.hear(/^(?:addmoder)(\s?https\:\/\/vk\.com\/)?(id)?([0-9]+)?([^]+)?/i, (message) => { 
	let user = acc.users[message.user];
	if(user.admin_level < 2) return;

	if(message.$match[4]) { 
		var domain = message.$match[4].split(" "); 
		vk.api.call("utils.resolveScreenName", { 
		screen_name: message.$match[4] 
	}).then((res) => { 
		new_acc(res.object_id);
		if(acc.users[res.object_id].admin_level == 2) return;
		acc.users[res.object_id].admin_level = 1;
		return message.send(`⚠ ➾ Вы назначили vk.com/id${res.object_id} модератором.`);
		})  
	}else{
		if(!message.$match[3]) return message.reply("⚠ ➾ ID не указан, либо указан неверно."); 
		new_acc(message.$match[3]);
		if(acc.users[message.$match[3]].admin_level == 2) return;
		acc.users[message.$match[3]].admin_level = 1;
		return message.send(`⚠ ➾ Вы назначили vk.com/id${message.$match[3]} модератором.`);
	} 
});
 
vk.updates.hear(/^(?:removemoder)(\s?https\:\/\/vk\.com\/)?(id)?([0-9]+)?([^]+)?/i, (message) => { 
	let user = acc.users[message.user];
	if(user.admin_level < 2) return;

	if(message.$match[4]) { 
		var domain = message.$match[4].split(" "); 
		vk.api.call("utils.resolveScreenName", { 
		screen_name: message.$match[4] 
	}).then((res) => { 
		new_acc(res.object_id);
		if(acc.users[res.object_id].admin_level == 2) return; 
		acc.users[res.object_id].admin_level = 0;
		return message.send(`⚠ ➾ Вы забрали у vk.com/id${res.object_id} модератора.`);
		})  
	}else{
		if(!message.$match[3]) return message.reply("⚠ ➾ ID не указан, либо указан неверно."); 
		new_acc(message.$match[3]);
		if(acc.users[message.$match[3]].admin_level == 2) return;
		acc.users[message.$match[3]].admin_level = 0;
		return message.send(`⚠ ➾ Вы забрали у vk.com/id${message.$match[3]} модератора.`);
	} 
});

vk.updates.hear(/^(?:warn)(\s?https\:\/\/vk\.com\/)?(id)?([0-9]+)?([^]+)?/i, (message) => { 
	let user = acc.users[message.user];
	if(user.admin_level < 2) return;

	if(message.$match[4]) { 
		var domain = message.$match[4].split(" "); 
		vk.api.call("utils.resolveScreenName", { 
		screen_name: message.$match[4] 
	}).then((res) => { 
		new_acc(res.object_id);
		if(acc.users[res.object_id].admin_level == 2) return; 
		acc.users[res.object_id].warn += 1;
		if(acc.users[res.object_id].ban == true) return message.send(`⚠ ➾ Пользователь уже заблокирован.`);
		if(acc.users[res.object_id].warn >= 3){
			acc.users[res.object_id].warn = 0;
			acc.users[res.object_id].ban = true;
			vk.api.call("messages.removeChatUser", {chat_id: message.chatId, user_id: res.object_id })
			.catch((error) => {return message.send(`Error.`);
			});
			return message.send(`⚠ ➾ Пользователь vk.com/id${res.object_id} заблокирован.`);
		}else{
			return message.send(`⚠ ➾ Вы выдали предупреждение vk.com/id${res.object_id}.\n⚠ ➾ После 3-х предупреждений - выдается бан.`);
		}

		})  
	}else{
		if(!message.$match[3]) return message.reply("⚠ ➾ ID не указан, либо указан неверно."); 
		new_acc(message.$match[3]);
		acc.users[message.$match[3]].warn += 1;
		if(acc.users[message.$match[3]].ban == true) return message.send(`⚠ ➾ Пользователь уже заблокирован.`);

		if(acc.users[message.$match[3]].warn >= 3){
			acc.users[message.$match[3]].warn = 0;
			acc.users[message.$match[3]].ban = true;
			vk.api.call("messages.removeChatUser", {chat_id: message.chatId, user_id: message.$match[3] })
			.catch((error) => {return message.send(`Error.`);
			});
			return message.send(`⚠ ➾ Пользователь vk.com/id${message.$match[3]} заблокирован.`);
		}else{
			return message.send(`⚠ ➾ Вы выдали предупреждение vk.com/id${message.$match[3]}.\n⚠ ➾ После 3-х предупреждений - выдается бан.`);
		}
	} 
});

vk.updates.hear(/^(?:unwarn)(\s?https\:\/\/vk\.com\/)?(id)?([0-9]+)?([^]+)?/i, (message) => { 
	let user = acc.users[message.user];
	if(user.admin_level < 2) return;

	if(message.$match[4]) { 
		var domain = message.$match[4].split(" "); 
		vk.api.call("utils.resolveScreenName", { 
		screen_name: message.$match[4] 
	}).then((res) => { 
		new_acc(res.object_id);
		if(acc.users[res.object_id].admin_level == 2) return; 
		acc.users[res.object_id].warn = 0;
		return message.reply(`⚠ ➾ Вы сняли все варны у vk.com/id${res.object_id}`); 
		})  
	}else{
		if(!message.$match[3]) return message.reply("⚠ ➾ ID не указан, либо указан неверно."); 
		new_acc(message.$match[3]);
		acc.users[message.$match[3]].warn = 0;
		return message.reply(`⚠ ➾ Вы сняли все варны у vk.com/id${message.$match[3]}`);
	} 
});

vk.updates.hear(/^(?:состав)/i, (message) => { 
	let text = '';
	for(i in acc.users){
		if(acc.users[i].admin_level >= 1){
			text += `vk.com/id${i} - moderator/admin`
		}
	}
	return message.send(text);
});
 
vk.updates.hear(/^(?:онлайн)/i, (message) => { 

	vk.api.call("messages.getConversationMembers", {
		peer_id: 2000000000 + message.chatId, 
		fields: "online"
	}).then(function(res){
		let text = '';
		for(i in res.profiles){
			if(res.profiles[i].online == 1){
				text += ` [id${res.profiles[i].id}| ${res.profiles[i].first_name} ${res.profiles[i].last_name}]\n`
			}
		} 
		text += '⚠ Привлекаю ваше внимание!'
		return message.send(text)
    })

	function check(status){
    	if(status == 1) return "online"
    	if(status == 0) return "offline"
	}
}); 

async function run() {
	await vk.updates.startPolling();
	console.log('Bot started');  
}

run().catch(console.error);

vk.updates.hear(/^(?:!актив)/i, (message) => { 
function new_acc(id){
	if(!acc.users[id]){
		acc.users[id] = {
			admin_level: 0,
			ban: false,
			warn: 0
		}
	}
}


В чем ошибка?
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 1
@jolyguf
У тебя команда не закончена.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы