Скачать открытый исходный код бота Либре общий выпуск и установите бот Libre на свой собственный сервер
Self, AIML, and scripting : Evaluation flow, declaring new :response sentences and miscelany

RE: Evaluation flow, declaring new :response sentences and miscelany

по admin опубликовано Jan 25 2015, 16:37

Good idea on adding some sort of condition or processing to a case. Right now you could go to another case and assign a variable in a do() then use a "return" to go back to the original state. I think the NounVerbAdjective script does this in places.

Any variable will match any word unless you put some condition on it. So :question will match everything. To only match question words you would use,

:question {
    set #instantiation #question;

Also :unknown word will match any word again. If you want to check for a unknown word you could define it as,

:unknown {
    exclude #meaning :anything;

Note, that the Wiktionary process runs in the background, so will learn new words after the sentence has been processed. That is why the bot will normally not understand something new the first time, then understand it when you repeat it.


> case :? goto State:subjectVerbState;
to match a "?" you need it in quotes,

case "?" goto State:subjectVerbState;

Идентификатор: 719618
Опубликовано: Jan 25 2015, 16:37
Обновлено: Jan 25 2015, 16:39
Ответы: 0
Вид: 1699, сегодня: 1, неделю: 2, месяц: 6
0 0 0.0/5