Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Speak.activity/bot/PyAIML-0.8.5/SUPPORTED_TAGS.txt
blob: bbbf708acbaf09687f8758adcfadec6784566531 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
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:

	<bot name="name"> (see notes)
	<condition>
	<date>
	<formal>
	<gender>
	<get>
	<id>
	<input>
	<learn>
	<li>
	<lowercase>
	<person>
	<person2>
	<random>
	<sentence>
	<set>
	<size>
	<sr>
	<srai>
	<star>
	<system>
	<that>
	<thatstar>
	<think>
	<topic>
	<topicstar>
	<uppercase>
	<version>

Support for the following tags should be implemented in the next version:

	None

The following tags are not supported:

	<gossip> (see notes)
	<if> / <else> (see notes)
	<javascript> (see notes)
	<secure> (see notes)

------------------------------------------------------------------

NOTES ON SPECIFIC TAGS:

<bot name="name">
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.

<gossip>
The AIML 1.0.1 specification lets engine authors implement the the behavior
of the <gossip> 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.

<if> / <else>
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 <condition> instead.

<javascript>
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 <javascript> tag.  On the bright side, it is possible
to simulate the effects of the <javascript> tag (i.e. dynamically-
generated tag contents) using the <system mode="sync"> 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 <javascript>
tag ON A PURELY OPTIONAL BASIS.

<secure>
Some AIML implementations support a non-standard <secure> 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 <condition> tag.
Therefore, I've decided to drop support for the <secure> tag.  You can
easily duplicate its effects; simply replace this:
	<secure error="you're not allowed">you are allowed</secure>
with this:
	<condition name="secure">
		<li value="yes">you are allowed</li>
		<li>you are not allowed</li>
	</condition>
Then, use the Kernel.setPredicate() call to set the "secure" predicate to
"yes" for any session that you wish to be secure.