2015-07-15 3 views
0

Я использую скрипт cleverbot, чтобы мой бот отвечал на любые сообщения. Сценарий работает, но в настоящее время требует, чтобы пользователь, чтобы призвать к боту через «эй»Hubot-Cleverbot script issue heirarchy

Например

"@bot hey what is going on?" 
bot: Not too much. 

Код:

robot.respond(/hey (.*)/i, function(msg) { 
//code for reply 
} 

То, что я хочу сделать, это есть, так что я могу просто задайте вопрос прямо моему боту, не требуя «эй». Я изначально избавился от тега «эй», но это мешает моим другим скриптам, которые настроены на ответ на определенный текст. Другими словами, я получаю два ответа от своего бота.

Любые идеи о том, как сообщить моему скрипту cleverbot, чтобы он ответил, только если все остальные скрипты были подтверждены? Спасибо!

ответ

0

Использование @robot.catchAll. Слушатель CatchAll будет выполняться, если никакое другое регулярное выражение не соответствует сообщению, но знайте, что это означает, что не выполнит, если у вас есть сценарии, соответствующие всем сообщениям (например, robot.hear /.*/).

Некоторая документация (часть отдельного PR ожидания должны быть объединены, так что игнорировать catchAllAddressed) - https://github.com/michaelansel/hubot/blob/issues/683/docs/scripting.md#catch-all