This document describes the current state of PyAIML's compliance to the AIML 1.0.1 standard. The full AIML reference manual can be found online at http://alicebot.org/TR/2001/WD-aiml. The following tags are currently supported: (see notes)
  • Support for the following tags should be implemented in the next version: None The following tags are not supported: (see notes) / (see notes) (see notes) (see notes) ------------------------------------------------------------------ NOTES ON SPECIFIC TAGS: To set the bot's name, use Kernel.setBotName("NewName"). Note that the name *MUST* be a single word! Use Kernel.getBotName() to query the bot's name in your code. The AIML 1.0.1 specification lets engine authors implement the the behavior of the tag however they wish. I haven't yet decided what I'd like to do with it, so right now it doesn't do anything at all. / These elements appear to have been dropped between AIML 1.0 and AIML 1.0.1. They may someday be added as a part of an AIML 1.0 backwards-compatibility mode, but in the meantime, use instead. Support for the JavaScript tag is not anticipated; one of the design goals of PyAIML is to remain 100% pure standard Python. So until somebody writes a JavaScript interpreter in Python, PyAIML won't support the tag. On the bright side, it is possible to simulate the effects of the tag (i.e. dynamically- generated tag contents) using the tag. This solution has the added advantage of allowing *any* programming language to be used, not just JavaScript. UPDATE: The python-spidermonkey project provides a bridge between Python and the open-source SpiderMonkey JavaScript library. I am currently investigating the possibility of adding support for the tag ON A PURELY OPTIONAL BASIS. Some AIML implementations support a non-standard tag, intended to wrap parts of a template which should only be processed if the user is "secure", or trusted. After implementing support for this tag, I realized that it wasn't doing anything that you can't do with the tag. Therefore, I've decided to drop support for the tag. You can easily duplicate its effects; simply replace this: you are allowed with this:
  • you are allowed
  • you are not allowed
  • Then, use the Kernel.setPredicate() call to set the "secure" predicate to "yes" for any session that you wish to be secure.