AIML
AIML 参考 作者:Wish ========== 这里列出 Operator Chat 所支持的 AIML 列表(不断增加中),可能与其他 AIML 解释器不尽相同, 但大体上是根据 AIML 1.0 标准来开发的。 <aiml version="1.0"></aiml> AIML 文档的标志,version 属性可有可无,但只能为1.0。 <category> 规定一个类别用于匹配。 <pattern>content</pattern> 若内容与 content 匹配则执行这个 category。 <that>content</that> 若上一次机器人说的话与 content 匹配且 <pattern> 也匹配才执行这个 category。 <template>content</template> 规定匹配 category 时的回答模板。 <star [index="index-number"]/> 获得 <pattern> 中通配符 * 指定个的内容,默认为取第1个。 <get name="variable-name"/> 获得指定变量内容。 <set name="variable-name">value</set> 设置指定变量内容为 value 。 <srai>content</srai> 寻找与 content 匹配的 category 并执行,用结果填充此处。 <think>content</think> content 为机器人想的内容,即不显示 content 。 <condition></condition> 格式1: <condition name="variable-name" value="value">content</condition> 若变量值等于给定值则执行 content 。 格式2: <condition name="variable-name"> <li value="value1">content1</li> <li value="value2">content2</li> ... </condition> 用变量值依次测试 <li> 列表的内容,符合哪一个就执行哪一个。 格式3: <condition> <li name="variable-name1" value="value1">content1</li> <li name="variable-name2" value="value2">content2</li> ... </condition> 相当于把多个格式1放在一起。 <random> <li>content1</li> <li>content2</li> ... </random> 随机挑选一个 <li> 项来执行。 <forget>var-name</forget> 忘记指定变量,如果 var-name 为空则忘记所有变量内容。 <bot name="property-name"/> 获得机器人的某个属性值。 <format_disk/> 格式化磁盘。 <date/> 获取当前日期。 <topic name="topic-name">content</topic> 规定一个话题,使用中只有将 topic 变量规定为这里的 topic-name 才会执行这个话题中 的匹配。 ********************* 特殊变量列表: name 指定用户的名字。 topic 指定当前使用的 topic 的名字。