-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
196 lines (117 loc) · 6.58 KB
/
README
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
Due to continious improvements old tintin scripts aren't always compatible with
new versions. This document tries to document all common issues.
TINEXP 2.0 (tintin expressions) are as of now clearly defined:
%0 - %99 The percentage sign followed by a number is used for arguments in
triggers.
$ The dollar sign followed by an alphanumeric string is used for
variables.
& The and sign followed by an alphanumeric string is used for
retrieving the index of a variable.
[ ] Brackets are used for nested variables which function as an
associative array.
@ The at sign followed by an alphanumeric string is used for functions.
<000> Three alphanumeric characters encapsulated by the less- and greater-
than signs are used for color codes.
\ The back slash is used to escape a character
{ } Curly brackets are used for seperating multi word command arguments.
" " Quote characters are used for strings in #math and #if arguments.
&0- &99 The and sign followed by a number is used for arguments in the
regex command.
If you want to convert your scripts take notice of the following changes:
01) #LOOP, #FORALL, and #PARSE take an additional argument which contains
the variable used for storing the intermediate values.
02) #HIGHLIGHT is now parsed as: #HIGHLIGHT {string} {color}. The color
argument can be a color code. See #HELP COLORS.
03) #FORMAT replaces many commands, I'd suggest checking it out.
04) #MESSAGE, #CONFIG, #IGNORE, #DEBUG are all you need to configure
tintin, changes made with #CONFIG are written to file with #WRITE.
05) The old walk code has been removed, instead you can use the #PATH command.
06) #TICK has been changed quite a bit, new commands: #TICK and #UNTICK, you
can have as many tickers as you want. The old #TICK command is gone.
Syntax: #TICK {name} {commands} {seconds to tick}
The name is added so you can delete it. You will no longer receive spam,
but with a little bit of creativity you can rebuild the old tintin ticker
spam.
Use #READ to load the following ticker which emulates old behavior:
#tick {oldtick}
{
#delay 50 #showme #10 SECONDS TO TICK!!;
#showme #TICK!!!
}
{60}
07) #READ now supports multiline triggers, it also checks the nesting level
before doing anything so you don't end up with bogus, and trims leading
spaces/tabs. Make sure to remove non matching { }'s from #NOP comments,
cause it will (and should) create error messages with the line numbers
between which the error was found.
08) You can place $ at the end of an action if you want a perfect match.
#act {^The trail leads north$} {n} {5} will not trigger on:
The trail leads northwest.
09) Added #MACRO for macro support.
10) $result is now a default variable that can be used in #FUNCTION.
#function dosomething {#math result 1 + 1}
say @dosomething{} will print 2, the #RESULT command has been removed.
You can still use $result as a normal variable.
11) #FORALL and #LOOP use space separation instead of comma separation, and
braces can be used for multi-word arguments.
13) #MATH and #IF support 64 floating point arithmatic expressions. They also
support strings, which must be enclosed in quotes. See #HELP MATH for more
information.
14) #PATHDIR is now specificly designed to hold a direction, the opposite
direction, and the vector of said direction for the #MAP command.
15) Defaults are no longer in a default .rc file.
16) #SPLIT supports 2 arguments to set the top and bottomw row.
17) Can now have multiple prompt triggers, the 2nd argument is the substitution
string that works the same as #SUBSTITUTE. the 3rd argument is the row the
line should be printed on, if left blank it picks the default split line.
19) #SLEEP has been removed. The #DELAY command can be used instead.
20) All settings are inherited from the startup session when creating a new
session.
21) In order to make a color trigger start a trigger with a tilda. In order to see
color codes the way tintin wants you to enter them type: #CONFIG convert on
when done use: #CONFIG convert off.
#action {~\0;32m%0 says '%1'} {say I don't like green says.}
22) A scrollback buffer has been added, which can be browsed with page up,
page down, and the #GREP and #BUFFER command.
23) !<argument> will repeat the last command starting with that argument.
score
who all
area
! --> repeats area
!w --> repeats who all
!s --> repeats score
!ll --> sends !ll as a command
24) As of version 1.99.0 tintin supports PCRE (Perl Compatible Regular
Expressions), see #HELP ACTION for details.
25) As of version 1.99.7 there are several differences in syntax:
#LOOP {min} {max} {variable} {commands}
#FOREACH {list} {variable} {commands}
#PARSE {string} {variable} {commands}
26) #FORALL has been replaced by #FOREACH and will eventually be removed.
27) The argument lists of #echo and #format are no longer nested. So change:
#format {%t:%t} {{%H}{%M}} to #format {%t} {%H} {%M}
28) #replacestring has been renamed to #replace
29) All commands require embedded regular expressions to be used
instead of wildcards. See #HELP REGEX for details.
30) Variables can be nested using brackets. Non existant nested variables
report 0 if the base variable exists and always report 0 when the name
is encapsulated in braces.
Using & instead of $ will report the index of a variable.
Using $variable[+1] will report the first nest, and $variable[-1] will
report the last nest, $variable[-2] the second last nest, etc.
To display all nests use $variable[]
To check if a variable exists use: #if {&{variable}} which will report
0 if non existent, and the numeric index of the variable is found.
31) #LIST now works with nested variables. Read #HELP VARIABLE.
32) The #SWITCH, #CASE, #DEFAULT, #FOREACH, #BREAK, #CONTINUE, #ELSE, and
#ELSEIF statements have been added and should work more or less as
expected.
33) The #regex command now uses the same regular expression syntax as triggers.
34) #if {"%0" == "?test*"} needs to be replaced with #if {"%0" == "%?test%*"}
as per the regex syntax documented in #HELP ACTION
35) old lists need to be converted as following:
#var {friends} {{Alicia} {Bubba} {Cathie} {Kayla} {Zorro}}
to
#var {friends} {{1}{Alicia} {2}{Bubba} {3}{Cathie} {4}{Kayla} {5}{Zorro}}
or
#list friends create {{Alicia} {Bubba} {Cathie} {Kayla} {Zorro}}