* Automatic Op::
* Shit Levels::
+Built-In Commands
+
+* Message Commands::
+* User List Commands::
+
Scripting
* Adding New Commands::
* Hooks::
* Sending Messages::
* Misc Scripting Stuff::
+* Scheme Commands::
+* Query Functions::
Hooks
* High Level Message Functions::
* Low Level Message Functions::
+Misc. Scripting Stuff
+
+* Scheme Commands::
+* Query Functions::
+
\1f
File: bobot++.info, Node: Introduction, Next: Configuration, Prev: Top, Up: Top
command needs the channel name then you must specify the channel as the
first argument to the command when private messaging the bot a command.
+* Menu:
+
+* Message Commands::
+* User List Commands::
+
+\1f
+File: bobot++.info, Node: Message Commands, Next: User List Commands, Prev: Built-In Commands, Up: Built-In Commands
+
+3.3.1 Message Commands
+----------------------
+
COMMAND NEEDS MIN LEVEL DESCRIPTION
CHANNEL TO USE
`action' `do' Yes USER Causes the bot to perform the
action `do' in the current channel.
+`do'
+`msg'
+`say' Yes Makes the bot say MESSAGE on
+ CHANNEL.
+
+\1f
+File: bobot++.info, Node: User List Commands, Prev: Message Commands, Up: Built-In Commands
+
+3.3.2 User List Commands
+------------------------
+
+COMMAND NEEDS MIN LEVEL DESCRIPTION
+ CHANNEL TO USE
`adduser'
`addserver' Adds the server specified by HOST
NAME or IP ADDRESS to the server
shitlist.
`deop' Yes Deops MASK or NICK on CHANNEL.
`die' Makes the bot stop immediately.
-`do'
`execute' *Only available if scripting
support is enabled*
`help'
`lock' Locks topic on CHANNEL.
`mode' Yes Sends MODE STRING as mode for
CHANNEL.
-`msg'
`names' Yes Shows the nicknames and status of
users on CHANNEL.
`nextserver' Makes the bot connect to the next
current server.
`rspymessage' Removes you from the spy list.
`save' Saves the userlist.
-`say' Yes Makes the bot say MESSAGE on
- CHANNEL.
`server' Select the server to connect to.
SERVER NUMBER is the number of the
server in the serverlist.
* Hooks::
* Sending Messages::
* Misc Scripting Stuff::
+* Scheme Commands::
+* Query Functions::
\1f
File: bobot++.info, Node: Adding New Commands, Next: Hooks, Prev: Scripting, Up: Scripting
This is used to reply to a ctcp that the bot has received.
\1f
-File: bobot++.info, Node: Misc Scripting Stuff, Prev: Sending Messages, Up: Scripting
+File: bobot++.info, Node: Misc Scripting Stuff, Next: Scheme Commands, Prev: Sending Messages, Up: Scripting
4.4 Misc. Scripting Stuff
=========================
bot:exit-hook THUNK' where THUNK is an argumentless procedure (a
thunk). When the bot exits your thunk will be called.
- [ I didn't know where to put any of these, so I just stuck them in
- here.
+* Menu:
- There probably needs to be several sections added, like dealing
- with users (kicking, added, etc), dealing with the bot (channels,
- nickname of the bot, etc), server issues (serverlist), useful
- tools (nslookup, whois), and do on. ]
+* Scheme Commands::
+* Query Functions::
+
+\1f
+File: bobot++.info, Node: Scheme Commands, Next: Query Functions, Prev: Misc Scripting Stuff, Up: Scripting
+
+4.5 Scheme Commands
+===================
+
+These scheme functions are the same as the commands. They allow you to
+execute bot commands from scheme scripts.
-- Function: bot:adduser nick-or-mask cbannel-mask level prot auto-op
Adds an user to the userlist, for a `nick!user@host' matching the
-- Function: bot:lock channel
Locks topic on CHANNEL.
- -- Function: bot:logport
- [ Probably returns the log port? ]
-
-- Function: bot:mode channel mode-string
Sends MODE-STRING as mode for CHANNEL.
Sends a WHOIS command to NICK. NICK *must* be a nickname, you
cannot send a WHOIS to a channel.
+ -- Function: bot:delcommand
+ [ Probably deletes a command added with `bot:addcommand' ? ]
+
+\1f
+File: bobot++.info, Node: Query Functions, Prev: Scheme Commands, Up: Scripting
+
+4.6 Query Functions
+===================
+
+ [ I didn't know where to put any of these, so I just stuck them in
+ here.
+
+ There probably needs to be several sections added, like dealing
+ with users (kicking, added, etc), dealing with the bot (channels,
+ nickname of the bot, etc), server issues (serverlist), useful
+ tools (nslookup, whois), and do on. ]
+
+ These functions allow scripts to get various bits of information.
+
+ -- Function: bot:logport
+ [ Probably returns the log port? ]
+
-- Function: bot:getnickname
[ Gets the bot's nickname? ]
-- Function: bot:random ?
[ Returns a random number? What range? Why? ]
- -- Function: bot:delcommand
- [ Probably deletes a command added with `bot:addcommand' ? ]
-
-- Function: bot:addtimer ? ?
-- Function: bot:deltimer ?
-- Function: bot:use-module module-spec
-- Function: bot:match-not-channel regex
- match-not-channel adds a prefix regex to your REGEX so it doesn't
- match the sender or channel in a PUBLIC message
+ `bot:match-not-channel' adds a prefix regex to your REGEX so it
+ doesn't match the sender or channel in a PUBLIC message
-- Function: bot:match-to-me regex
- match-to-me matches text that was addressed to the bot with a ':',
- ',', or nothing after the bot name.
+ `bot:match-to-me' matches text that was addressed to the bot with a
+ ':', ',', or nothing after the bot name.
-- Function: bot:sent-to-me? message
\0\b[index\0\b]
* Menu:
-* %bot:load-extensions: Misc Scripting Stuff.
- (line 214)
+* %bot:load-extensions: Query Functions. (line 75)
* bot:action: High Level Message Functions.
(line 13)
* bot:addcommand: Adding New Commands. (line 11)
* bot:addhook: Creating a Hook. (line 9)
-* bot:addserver: Misc Scripting Stuff.
- (line 34)
-* bot:addshit: Misc Scripting Stuff.
- (line 38)
-* bot:addtimer: Misc Scripting Stuff.
- (line 175)
-* bot:adduser: Misc Scripting Stuff.
- (line 22)
-* bot:ban: Misc Scripting Stuff.
- (line 49)
-* bot:change-command-level: Misc Scripting Stuff.
- (line 54)
+* bot:addserver: Scheme Commands. (line 22)
+* bot:addshit: Scheme Commands. (line 26)
+* bot:addtimer: Query Functions. (line 36)
+* bot:adduser: Scheme Commands. (line 10)
+* bot:ban: Scheme Commands. (line 37)
+* bot:change-command-level: Scheme Commands. (line 42)
* bot:ctcp: Low Level Message Functions.
(line 13)
-* bot:ctcp-quote: Misc Scripting Stuff.
- (line 208)
+* bot:ctcp-quote: Query Functions. (line 69)
* bot:ctcp-reply: Low Level Message Functions.
(line 18)
-* bot:cycle: Misc Scripting Stuff.
- (line 60)
-* bot:dcc-chat-send: Misc Scripting Stuff.
- (line 179)
-* bot:deban: Misc Scripting Stuff.
- (line 63)
-* bot:delcommand: Misc Scripting Stuff.
- (line 172)
-* bot:delserver: Misc Scripting Stuff.
- (line 67)
-* bot:delshit: Misc Scripting Stuff.
- (line 74)
-* bot:deltimer: Misc Scripting Stuff.
- (line 177)
-* bot:deluser: Misc Scripting Stuff.
- (line 71)
-* bot:deop: Misc Scripting Stuff.
- (line 77)
-* bot:die: Misc Scripting Stuff.
- (line 80)
-* bot:do: Misc Scripting Stuff.
- (line 83)
-* bot:flush: Misc Scripting Stuff.
- (line 163)
-* bot:flushport: Misc Scripting Stuff.
- (line 166)
-* bot:getnickname: Misc Scripting Stuff.
- (line 156)
-* bot:getserver: Misc Scripting Stuff.
- (line 159)
-* bot:getserverlist: Misc Scripting Stuff.
- (line 161)
-* bot:invite: Misc Scripting Stuff.
- (line 85)
-* bot:join: Misc Scripting Stuff.
- (line 88)
-* bot:keep: Misc Scripting Stuff.
- (line 91)
-* bot:kick: Misc Scripting Stuff.
- (line 94)
-* bot:kickban: Misc Scripting Stuff.
- (line 98)
-* bot:load: Misc Scripting Stuff.
- (line 192)
-* bot:load-module: Misc Scripting Stuff.
- (line 194)
-* bot:lock: Misc Scripting Stuff.
- (line 102)
-* bot:log: Misc Scripting Stuff.
- (line 187)
-* bot:logport: Misc Scripting Stuff.
- (line 105)
-* bot:match-not-channel: Misc Scripting Stuff.
- (line 198)
-* bot:match-to-me: Misc Scripting Stuff.
- (line 202)
-* bot:mode: Misc Scripting Stuff.
- (line 108)
+* bot:cycle: Scheme Commands. (line 48)
+* bot:dcc-chat-send: Query Functions. (line 40)
+* bot:deban: Scheme Commands. (line 51)
+* bot:delcommand: Scheme Commands. (line 141)
+* bot:delserver: Scheme Commands. (line 55)
+* bot:delshit: Scheme Commands. (line 62)
+* bot:deltimer: Query Functions. (line 38)
+* bot:deluser: Scheme Commands. (line 59)
+* bot:deop: Scheme Commands. (line 65)
+* bot:die: Scheme Commands. (line 68)
+* bot:do: Scheme Commands. (line 71)
+* bot:flush: Query Functions. (line 27)
+* bot:flushport: Query Functions. (line 30)
+* bot:getnickname: Query Functions. (line 20)
+* bot:getserver: Query Functions. (line 23)
+* bot:getserverlist: Query Functions. (line 25)
+* bot:invite: Scheme Commands. (line 73)
+* bot:join: Scheme Commands. (line 76)
+* bot:keep: Scheme Commands. (line 79)
+* bot:kick: Scheme Commands. (line 82)
+* bot:kickban: Scheme Commands. (line 86)
+* bot:load: Query Functions. (line 53)
+* bot:load-module: Query Functions. (line 55)
+* bot:lock: Scheme Commands. (line 90)
+* bot:log: Query Functions. (line 48)
+* bot:logport: Query Functions. (line 17)
+* bot:match-not-channel: Query Functions. (line 59)
+* bot:match-to-me: Query Functions. (line 63)
+* bot:mode: Scheme Commands. (line 93)
* bot:msg: High Level Message Functions.
(line 16)
-* bot:nextserver: Misc Scripting Stuff.
- (line 111)
-* bot:nick: Misc Scripting Stuff.
- (line 114)
+* bot:nextserver: Scheme Commands. (line 96)
+* bot:nick: Scheme Commands. (line 99)
* bot:notice: High Level Message Functions.
(line 27)
-* bot:op: Misc Scripting Stuff.
- (line 117)
-* bot:part: Misc Scripting Stuff.
- (line 120)
-* bot:random: Misc Scripting Stuff.
- (line 169)
-* bot:reconnect: Misc Scripting Stuff.
- (line 123)
+* bot:op: Scheme Commands. (line 102)
+* bot:part: Scheme Commands. (line 105)
+* bot:random: Query Functions. (line 33)
+* bot:reconnect: Scheme Commands. (line 108)
* bot:say: High Level Message Functions.
(line 7)
-* bot:sent-to-me?: Misc Scripting Stuff.
- (line 206)
-* bot:server: Misc Scripting Stuff.
- (line 126)
-* bot:setfloodrate: Misc Scripting Stuff.
- (line 130)
-* bot:setversion: Misc Scripting Stuff.
- (line 132)
-* bot:tban: Misc Scripting Stuff.
- (line 134)
-* bot:tkban: Misc Scripting Stuff.
- (line 137)
-* bot:topic: Misc Scripting Stuff.
- (line 141)
-* bot:unlock: Misc Scripting Stuff.
- (line 145)
-* bot:use-module: Misc Scripting Stuff.
- (line 196)
-* bot:who: Misc Scripting Stuff.
- (line 148)
-* bot:whois: Misc Scripting Stuff.
- (line 152)
+* bot:sent-to-me?: Query Functions. (line 67)
+* bot:server: Scheme Commands. (line 111)
+* bot:setfloodrate: Scheme Commands. (line 115)
+* bot:setversion: Scheme Commands. (line 117)
+* bot:tban: Scheme Commands. (line 119)
+* bot:tkban: Scheme Commands. (line 122)
+* bot:topic: Scheme Commands. (line 126)
+* bot:unlock: Scheme Commands. (line 130)
+* bot:use-module: Query Functions. (line 57)
+* bot:who: Scheme Commands. (line 133)
+* bot:whois: Scheme Commands. (line 137)
* hooks/action: Received Message Hooks.
(line 9)
* hooks/ctcp: Received Message Hooks.
\0\b[index\0\b]
* Menu:
-* %bot:loadpath: Misc Scripting Stuff.
- (line 212)
-* exit-hook: Misc Scripting Stuff.
- (line 9)
+* %bot:loadpath: Query Functions. (line 73)
+* exit-hook: Misc Scripting Stuff. (line 9)
\1f
Tag Table:
Node: Top\7f538
-Node: Introduction\7f2008
-Node: Configuration\7f2320
-Node: Configuration File Placement\7f2764
-Node: Configuration Files\7f3265
-Node: bot.conf\7f3501
-Node: server syntax\7f5687
-Node: channel syntax\7f6485
-Node: bot.users\7f7529
-Node: bot.init\7f8990
-Node: bot.autoexec\7f9649
-Node: bot.shit\7f10150
-Node: Using the Bot\7f11402
-Node: Starting the Bot\7f11734
-Node: Concepts\7f13240
-Node: User Levels\7f13527
-Node: Protection\7f14906
-Node: Automatic Op\7f15623
-Node: Shit Levels\7f16035
-Node: Built-In Commands\7f16759
-Node: Scripting\7f23734
-Node: Adding New Commands\7f24783
-Node: Hooks\7f26094
-Node: Creating a Hook\7f26932
-Node: Hook Types\7f28138
-Node: Received Message Hooks\7f28702
-Node: Sent Message Hooks\7f33929
-Node: DCC CHAT Hooks\7f35813
-Node: Miscellaneous Hooks\7f36853
-Node: Sending Messages\7f37302
-Node: High Level Message Functions\7f37834
-Node: Low Level Message Functions\7f38898
-Node: Misc Scripting Stuff\7f39951
-Node: Concept Index\7f46776
-Node: Function Index\7f46995
-Node: Variable Index\7f58649
+Node: Introduction\7f2176
+Node: Configuration\7f2488
+Node: Configuration File Placement\7f2932
+Node: Configuration Files\7f3433
+Node: bot.conf\7f3669
+Node: server syntax\7f5855
+Node: channel syntax\7f6653
+Node: bot.users\7f7697
+Node: bot.init\7f9158
+Node: bot.autoexec\7f9817
+Node: bot.shit\7f10318
+Node: Using the Bot\7f11570
+Node: Starting the Bot\7f11902
+Node: Concepts\7f13408
+Node: User Levels\7f13695
+Node: Protection\7f15074
+Node: Automatic Op\7f15791
+Node: Shit Levels\7f16203
+Node: Built-In Commands\7f16927
+Node: Message Commands\7f17461
+Node: User List Commands\7f18065
+Node: Scripting\7f24368
+Node: Adding New Commands\7f25457
+Node: Hooks\7f26768
+Node: Creating a Hook\7f27606
+Node: Hook Types\7f28812
+Node: Received Message Hooks\7f29376
+Node: Sent Message Hooks\7f34603
+Node: DCC CHAT Hooks\7f36487
+Node: Miscellaneous Hooks\7f37527
+Node: Sending Messages\7f37976
+Node: High Level Message Functions\7f38508
+Node: Low Level Message Functions\7f39572
+Node: Misc Scripting Stuff\7f40625
+Node: Scheme Commands\7f41123
+Node: Query Functions\7f45779
+Node: Concept Index\7f48005
+Node: Function Index\7f48224
+Node: Variable Index\7f56476
\1f
End Tag Table
* Automatic Op::
* Shit Levels::
+Built-In Commands
+
+* Message Commands::
+* User List Commands::
+
Scripting
* Adding New Commands::
* Hooks::
* Sending Messages::
* Misc Scripting Stuff::
+* Scheme Commands::
+* Query Functions::
Hooks
* High Level Message Functions::
* Low Level Message Functions::
+Misc. Scripting Stuff
+
+* Scheme Commands::
+* Query Functions::
+
@end detailmenu
@end menu
specify the channel as the first argument to the command when private
messaging the bot a command.
+@menu
+* Message Commands::
+* User List Commands::
+@end menu
+
+@node Message Commands, User List Commands, Built-In Commands, Built-In Commands
+@subsection Message Commands
+
@multitable @columnfractions 0.20 0.15 0.15 0.50
-@item @sc{command} @tab @sc{Needs Channel} @tab @sc{Min Level to Use} @tab @sc{Description}
+@item @sc{command} @tab @sc{Needs Channel} @tab @sc{Min Level to Use}
+@tab @sc{Description}
@item @command{action} @option{do} @tab Yes @tab @var{USER} @tab
Causes the bot to perform the action @option{do} in the current
channel.
+@item @command{do} @tab @tab @tab
+
+@item @command{msg} @tab @tab @tab
+
+@item @command{say} @tab Yes @tab @tab Makes the bot say @var{message}
+on @var{channel}.
+
+@end multitable
+
+
+@node User List Commands, , Message Commands, Built-In Commands
+@subsection User List Commands
+
+@multitable @columnfractions 0.20 0.15 0.15 0.50
+@item @sc{command} @tab @sc{Needs Channel} @tab @sc{Min Level to Use} @tab @sc{Description}
+
+
@item @command{adduser} @tab @tab @tab
@item @command{addserver} @tab @tab @tab Adds the server specified by
@item @command{die} @tab @tab @tab Makes the bot stop immediately.
-@item @command{do} @tab @tab @tab
+
@item @command{execute} @tab @tab @tab @strong{Only available if
scripting support is enabled}
@item @command{mode} @tab Yes @tab @tab Sends @var{mode string} as
mode for @var{channel}.
-@item @command{msg} @tab @tab @tab
+
@item @command{names} @tab Yes @tab @tab Shows the nicknames and
status of users on @var{channel}.
@item @command{save} @tab @tab @tab Saves the userlist.
-@item @command{say} @tab Yes @tab @tab Makes the bot say @var{message}
-on @var{channel}.
+
@item @command{server} @tab @tab @tab Select the server to connect
to. @var{server number} is the number of the server in the serverlist.
* Hooks::
* Sending Messages::
* Misc Scripting Stuff::
+* Scheme Commands::
+* Query Functions::
@end menu
@node Adding New Commands, Hooks, Scripting, Scripting
This is used to reply to a ctcp that the bot has received.
@end defun
-@node Misc Scripting Stuff, , Sending Messages, Scripting
+@node Misc Scripting Stuff, Scheme Commands, Sending Messages, Scripting
@section Misc. Scripting Stuff
These are a few useful things that I thought people writing scripts
argumentless procedure (a thunk). When the bot exits your thunk will
be called.
-@quotation
-[ I didn't know where to put any of these, so I just stuck them in
-here.
-There probably needs to be several sections added, like dealing with
-users (kicking, added, etc), dealing with the bot (channels, nickname
-of the bot, etc), server issues (serverlist), useful tools (nslookup,
-whois), and do on. ]
-@end quotation
+@menu
+* Scheme Commands::
+* Query Functions::
+@end menu
+
+@node Scheme Commands, Query Functions, Misc Scripting Stuff, Scripting
+@section Scheme Commands
+These scheme functions are the same as the commands.
+They allow you to execute bot commands from scheme scripts.
@defun bot:adduser nick-or-mask cbannel-mask level prot auto-op
Adds an user to the userlist, for a @code{nick!user@@host} matching the
Locks topic on @var{channel}.
@end defun
-@c (0, 0, 0)
-@defun bot:logport
-[ Probably returns the log port? ]
-@end defun
-
@c (2, 0, 0)
@defun bot:mode channel mode-string
Sends @var{mode-string} as mode for @var{channel}.
nickname, you cannot send a WHOIS to a channel.
@end defun
+
+
+@c (1, 0, 0)
+@defun bot:delcommand
+[ Probably deletes a command added with @code{bot:addcommand} ? ]
+@end defun
+
+
+
+@node Query Functions, , Scheme Commands, Scripting
+@section Query Functions
+
+@quotation
+[ I didn't know where to put any of these, so I just stuck them in
+here.
+
+There probably needs to be several sections added, like dealing with
+users (kicking, added, etc), dealing with the bot (channels, nickname
+of the bot, etc), server issues (serverlist), useful tools (nslookup,
+whois), and do on. ]
+@end quotation
+
+These functions allow scripts to get various bits of information.
+
+@c (0, 0, 0)
+@defun bot:logport
+[ Probably returns the log port? ]
+@end defun
+
@c (0, 0, 0)
@defun bot:getnickname
[ Gets the bot's nickname? ]
[ Returns a random number? What range? Why? ]
@end defun
-@c (1, 0, 0)
-@defun bot:delcommand
-[ Probably deletes a command added with @code{bot:addcommand} ? ]
-@end defun
-
@c (2, 0, 0)
@defun bot:addtimer ? ?
@end defun
@end defun
@defun bot:match-not-channel regex
-match-not-channel adds a prefix regex to your @var{regex} so it
+@code{bot:match-not-channel} adds a prefix regex to your @var{regex} so it
doesn't match the sender or channel in a PUBLIC message
@end defun
@defun bot:match-to-me regex
-match-to-me matches text that was addressed to the bot with a
+@code{bot:match-to-me} matches text that was addressed to the bot with a
':', ',', or nothing after the bot name.
@end defun