[comp.archives] [mud] 2nd beta release of tclbot

rusty@garnet.berkeley.edu (rusty wright) (10/09/90)

Archive-name: tclbot/06-Oct-90
Original-posting-by: rusty@garnet.berkeley.edu (rusty wright)
Original-subject: 2nd beta release of tclbot
Archive-site: belch.berkeley.edu [128.32.152.202]
Archive-directory: /pub/mud_robots
Reposted-by: emv@math.lsa.umich.edu (Edward Vielmetti)

This is an announcement of the second release of tclbot.  This should
be considered a beta release because there is still a bug in the
"explore" code (I'm sick of looking at the code and haven't even
worked on it since the last time).  Everything else seems to work
fine.  You can get tclbot via anonymous ftp to belch.berkeley.edu
(128.32.152.202) in the pub/mud_robots directory.

tclbot is a robot designed for people who don't want to learn how to
program in C but would like to experiment with a robot.  The bad side
is that you'll still have to learn how to program, but in the language
tcl.  The good side is that tcl is an interpreter so you can make
quick changes, modifications, etc. and experiment easily.  tclbot is
sort of like some of the 'cutting edge' muds in that by itself it is a
void; it's your tcl code that makes it into something.  tclbot has no
built-in actions, personality, or behaviour; you will have to provide
that.

Note: like the Maas-Neotek robot, tclbot uses the OUTPUTPREFIX and
OUTPUTSUFFIX commands (of which the existence isn't widely
advertised).  Some muds require your robot character to have its bot
bit set by a wizard in order for it to be able to use these commands.
(This is true of Islandia.)  Some mucks and muds allow all characters
to use these commands.  The mud BotHaven on belch.berkeley.edu
(128.32.152.202), port 2323 has been set up as a test mud for robots
and allows all characters to use these commands.

Documentation for tclbot is provided.  The top-level README file gives
a general overview of tclbot and some instructions and examples
for using tcl and tclbot.  The README file in the tclbot/src directory
lists the tcl commands that I added that you can use to control the
robot (in addition to the regular tcl commands).  The file
tcl-3.3/doc/Tcl.man documents tcl and the tcl commands.

From a programmer's viewpoint, one of the nice things about tcl is
that it's easy to add tcl commands to your C program.  I've tried to
add as many of the most likely to be used tcl commands that I could
think of.  If there are any that you'd like added send me email.

Send comments, complaints, suggestions, etc. to

	rusty@garnet.berkeley.edu.


Changes from the last release:

I'm not sure if I can remember them all.  The biggest one is that I've
changed the way the gdbm file restrictions work so that they are the
same as the restrictions that gdbm applies.  Previously I had some
hack that made it look like you could have a gdbm file open for both
reading and writing.  Now you can have a file open for reading many
times but if you have it open for writing you can't have it open more
than once.  The modes to gdbm_open now match the underlying modes
supported by gdbm; read, write, write create, and create new db; "r",
"w", "wc", "n".

Added the tcl command tolower which returns its args converted to
lower-case.

Added tcl commands file_open, file_close, file_read, file_readl, and
file_write; routines for reading and writing text files.  They do what
their names imply.  file_open has the same restrictions as gdbm_open;
a file can apparently be opened many times for reading (you just get
the same file descriptor), but if it's opened for writing it can only
be opened once.  For text files files the restrictions aren't as bad
since they can be opened for reading and writing simultaneously.
file_read reads the entire file and returns it as a list with each
line as a list element.  file_readl reads and returns one line at a
time.  Both file_read and file_readl strip the newline at the end of
the lines and skip over (ignore) empty lines.  A call to file_read can
follow calls to file_readl.

Plus some bug fixes and the usual raft of new bugs.

Improved the documentation (aka README files) somewhat.
--

	rusty c. wright
	rusty@garnet.berkeley.edu ucbvax!rusty