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

Как научить бота, написанного на JavaScript и mineflayer, считывать текст, не обращая внимания на цвет?

Сергей Богданов Ученик (75), на голосовании 11 месяцев назад
Проблема в том, что бот мой запрограммирован отвечать только одному игроку, по его нику, но только если он стандартного цвета - белого, если уже даже серый - будет считывать за другой ник, так вот - как это обойти, так сказать?
Голосование за лучший ответ
Sergio 2.1 Оракул (67303) 1 год назад
 const mineflayer = require('mineflayer'); 
const { stripColor } = require('minecraft-protocol/src/chat');

const bot = mineflayer.createBot({
host: 'localhost',
username: 'Bot',
});

bot.on('chat', (username, message) => {
const cleanMessage = stripColor(message);
if (username === 'playerName' && cleanMessage === 'hello') {
bot.chat('Hello!');
}
});
Сергей БогдановУченик (75) 1 год назад
А чистый ник как считывать? Только чистое сообщение возможно?
Sergio 2.1 Оракул (67303) Сергей Богданов,
 const mineflayer = require('mineflayer'); 
const { stripColor } = require('minecraft-protocol/src/chat'); 
 
const bot = mineflayer.createBot({ 
  host: 'localhost', 
  username: 'Bot', 
}); 
 
bot.on('chat', (username, message) => { 
  const cleanUsername = stripColor(username); 
  const cleanMessage = stripColor(message); 
  if (cleanUsername === 'playerName' && cleanMessage === 'hello') { 
    bot.chat('Hello!'); 
  } 
}); 
 
Виктор ЛебедевУченик (112) 1 год назад
Доброе утро, вчера не смог найти подходящую константу, вместо const { stripFormatting } = require("prismarine-chat") , т.к. убирая её терминал запускает код, но он всё также не работает, а если я оставляю её, выдаёт снова ошибку, что функция уже объявлена - function stripFormatting(text) {
^

SyntaxError: Identifier 'stripFormatting' has already been declared
Похожие вопросы