Лицензия: GPL
версия="1.0" кодировка="UTF-8"?> < Конфигурация > <Идентификатор штата ="0"> < message >Привет, как дела? message > < ключевые слова > < ключевое слово target ="1">счастливое ключевое слово > ключевые слова > Состояние >В приведенном выше примере, если пользователь вводит ключевое слово «счастливое», бот переходит в состояние «1» и отображает одно из сообщений о состоянии «1» в случайном порядке. Если пользователь вводит какие-либо другие строки, появится одно из недопустимых сообщений.<Идентификатор штата ="1"> < message >вау, вы счастливы! message > < сообщение > рад это слышать! сообщение > Состояние > < Инвалидсообщения > < message >А, я не понял? message > < message >Что вы имеете в виду? message > Инвалидсообщения > Конфигурация >
Тег ключевого слова содержит несколько атрибутов, позволяющих настроить бота в соответствии с требованиями.
<Идентификатор штата ="16"> < message >Привет, как дела сегодня? message > < сообщение >Как вы себя чувствуете? сообщение > < message >Как дела? message > < keyword target ="11">счастлив, очень рад keyword > < keyword target ="13">не счастлив, не хорошо, не в порядке, грустно, расстроен ключевое слово > < keyword target ="23">хорошо, хорошо, спасибо keyword > < keyword target ="14">себя ключевое слово > Состояние >
Использование функции погоды
Чтобы использовать функцию погоды, тег ключевого слова должен содержать два атрибута: className и arg, className должен иметь значение «Погода», а arg должен иметь значение «сегодня», «завтра» или «dayaftertomorrow». Вот пример получения текущей погоды:
< ключевое слово className ="Погода" arg ="сегодня">погода ключевое слово >
Результат:
Ты: как погода? Бот: Думаю, сегодня туман.
<Идентификатор штата ="11"> < message >Отлично, почему вы счастливы? message > < ключевые слова > < keyword target ="21">лотерея ключевое слово > < ключевое слово target ="22">* ключевое слово > ключевые слова > Состояние >
< Конфигурация > <Идентификатор штата ="0"> < message >Привет, меня зовут MajBot, как вас зовут? message > < ключевые слова > < ключевое слово target ="2" переменная ="name">([a-zA-Z ]+) ключевое слово > ключевые слова > Состояние > <Идентификатор штата ="16"> < message >Привет, [имя], рад тебя видеть! message > Состояние > Конфигурация >Результат:
Бот: Здравствуйте, меня зовут MajBot, как вас зовут? Вы: Маджид Бот: Привет, Маджид, рад тебя видеть!В приведенном выше примере регулярное выражение «([a-zA-Z )+)» принимает любые символы от a до z (без учета регистра), включая пробелы, и сохраняет соответствующее слово для имени переменной, а затем, используя [name] в сообщении, пользовательское имя имя будет заменено этим тегом. (Дополнительную информацию о синтаксисе Regex см. в документации Java Regex).
< Конфигурация > <Идентификатор штата ="0"> < message >Привет, меня зовут MajBot, как вас зовут? message > < ключевые слова > < ключевое слово target ="16" переменная ="name" точек ="2">.*меня зовут ([a-zA-z]+).* ключевое слово > < ключевое слово target ="16" переменная ="name">([a-zA-Z ]+) ключевое слово > ключевые слова > Состояние > <Идентификатор штата ="16"> < message >Привет, [имя], рад тебя видеть! message > Состояние > Конфигурация >Результат:
Бот: Здравствуйте, меня зовут MajBot, как вас зовут? Ты: меня зовут Маджид Бот: Привет, Маджид, рад тебя видеть!В приведенном выше примере мы добавляем 2 балла к первому ключевому слову, поэтому, если пользователь вводит «Меня зовут Маджид», он получает только имя, а не возвращает «Меня зовут Маджид» в качестве имени.
<Идентификатор штата ="1"> < message >О чем вы хотите поговорить? message > < ключевое слово переменная ="subject" target ="27">([a-zA-z]+) ключевое слово > Состояние > <Идентификатор штата ="27"> < message >Что такое [тема]? message > < ключевое слово target ="43" переменная ="result" Learn ="subject">(.*) ключевое слово > Государство >Результат:
Бот: О чём ты хочешь поговорить? Ты: футбол Бот: Что такое футбол? Ты: это хорошая игра Бот: Понятно... Бот: О чём ты хочешь поговорить? Ты: футбол Бот: это хорошая играКак показано в приведенном выше примере, бот узнает ключевое слово «футбол», а затем отправляет ответ обратно пользователю, когда пользователь снова отправляет то же ключевое слово.
java -cp MajBot.jar bot.MainЧтобы запустить MajBot, вы можете просто ввести:
ш бежать.шЕсли вы используете Windows, вместо этого вы можете запустить файл run.bat.
После запуска бота пользователь может ввести сообщение и начать общение с MajBot.
Наслаждаться!
http://www.majidkhosravi.com/chat-bot/