home *** CD-ROM | disk | FTP | other *** search
- THIS RELEASE v1.19
- ============
- Major historical changes:
- v1.13 DCC Chat works safely
- v1.14 DCC Send seems to work safely, and has filetype added on end
- v1.15 Restructured the Magrathea directories
- v1.16 Dependancy checking added
- v1.17 Restructured the Scripts directory to be /just/ Magrathea
- Released to Dave Thomas and Matthew Godbolt
- v1.18 Additional overloads to make 'hooks' easier.
- Examples.AutoGreet sent out to Stuart Bruce, Vince Hodd, and
- Stuart Winter. FTP added.
- Released to Dave Thomas, Alex Howarth and Chris Johns for
- testing and comments. COMPLETE release, including IRClient 0.27.
- v1.19 Work done whilst Matt and over the intermediate weeks :
- Memory leaks fixed, indirected procedure calls added, menus made
- script definable. Internal directory now required as Internal.Boot
- is now the initial script. Internal.Menus defines the main menus,
- overloadable to add new entries at relevant points.
- Wimp messages added and made use of with ExtEdit library (simple
- controller - no saves, no returns). Wildcards fixed.
- DCC ditched and started from scratch using indirected functions
- and a simpler programming interface (new structure too).
- Scheduler made redundant.
-
-
- Structure of directory :
-
- Scripts :
- |
- +-Internal :
- | Contains many internal routines for providing 'base' facilities
- | The majority of these should be veneers for the main script functions
- |
- +-Default :
- | Scripts and resources which are explicitly loaded by Magrathea on startup.
- | Mostly these are required routines and support for simple things
- |
- +-Docs :
- | | Documentation for the complete release of Magrathea.
- | |
- | +-Disclaimer :
- | | Disclaimers for the various extension modules and resources
- | | This may be moved to their respective directories in future
- | |
- | +-Prog :
- | Programming hints, guides and reminders for myself and others
- | This is NOT guarenteed to be up to date. Not yet anyhow.
- |
- |
- +-Examples :
- | Any example code that people have put together along with a description
- | of how it works.
- |
- +-Magrathea :
- | The main engine for Magrathea.
- | This script will load each of the Default scripts and initailise them,
- | before scanning the Modules directory for extensions. The bulk of IRC
- | proper is processed here.
- |
- +-Modules :
- | Extension scripts reside in here, either as a single basic file with
- | the script name, or as a directory with the script name and basic file
- | with the name !Module. Resources should only be stored in these
- | directories. A means will eventually be provided for generating help
- | from within these. Files which require others to be loaded previously
- | should include a !Depend file in their directory containing the names
- | of those modules which it depends on. These should be modules whose
- | functions it uses, or overloads.
- |
- +-Obsolete :
- | Scripts which are no longer required, or are no longer being supported
- | will reside in here. Their use is not recommended. The retention is for
- | posterity and... well... you never know :-)
- |
- +-User :
- The user specific directory.
- This contains two types of file, those which are user editable, and
- those which are generated by the scripts to describe the users
- preferences. Currently there is no distinction between these; this
- may change in a future release.
- Basically, this directory should be able to be left static from one
- update to the next.
-
-
- The Scripts themselves are described below :
-
-
- *******************************************************************************
- ** Internal Modules **
- *******************************************************************************
-
-
- Boot
- ----
- Author : Matthew Godbolt
- Version : v1.00 (04 Jan 1997)
- Synopsis : Initial script to be loaded. This should start the internal modules
- and then call the main script.
- Commands : none
- Overloads : none
- ToDo : none
- Bugs : None
-
-
- Constants
- ---------
- Author : Matthew Godbolt
- Version : v1.00 (04 Jan 1997)
- Synopsis : Provides values which will be passed between IRClient and the
- scripts.
- Commands : none
- Overloads : none
- ToDo : none
- Bugs : None
-
-
- Menus
- -----
- Author : Matthew Godbolt & Justin Fletcher
- Version : v1.04 (18 Jan 1997)
- Synopsis : Provides framework for providing menus and adding to existing menus
- Commands : none
- Overloads : PROCOverload_AddMenuEntries(menu$)
- FNOverload_UnknownWindowMenu(display$,menu$)
- PROCOverload_InputBoxMenu(display$)
- PROCOberload_UnknownMenu(menu$)
- ToDo : Incorporate stuff from Matts 0.32
- Bugs : None
-
-
- *******************************************************************************
- ** Default Modules **
- *******************************************************************************
-
- Config
- ------
- Author : Justin Fletcher
- Version : v1.01 (26 Sep 1996)
- Synopsis : Provides configuration support via /config and configures the
- standard stuff.
- Commands : /config [<module> [<option> [<value]]]
- Overloads : PROCOverload_ConfigCommand
- FNOverload_ConfigModName
- PROCOverload_ConfigOptions
- ToDo : Needs removing and all configuration moving directly to Config+
- Bugs : None
-
-
- Dependency
- ----------
- Author : Justin Fletcher
- Version : v1.06 (27 Dec 1996)
- Synopsis : Provides dependancy checking and module loading for the extension
- modules.
- Commands : none
- Overloads : none
- ToDo : Nothing I can think of
- Bugs : None
-
-
- GDBM
- ----
- Author : Justin Fletcher
- Version : v1.02 (20 Aug 1996)
- Synopsis : Provides simple databasing mechanism which is easier to use than
- direct file access. Stores configuration options.
- Commands : none
- Overloads : none
- ToDo : Add routines to list current members of db
- Bugs : If <IRClient$Dir> changes then the DB can't be found and will
- always return "" or "**NOFILE**"
-
-
- Magrathea
- ---------
- Author : Various, mostly Justin Fletcher, Matthew Godbolt and Alex Howarth
- Version : N/A (See above for Magrathea release)
- Synopsis : The main engine behind IRClient. Provides most / commands and
- ctcp's and gives support via Overload_ routines for easier hooks.
- Commands : lots !
- Overloads : PROCInitialiseModule
- PROCShutdownModule
- PROCConnecting
- FNOverload_ScriptInfo
- PROCOverload_DisplaySelected
- PROCOverload_UserLine
- PROCOverload_UnknownCommand
- PROCOverload_UnknownCTCPReply
- PROCOverload_UnknownCTCPRequest
- FNOverload_ListCTCP
- PROCOverload_On_Kick
- PROCOverload_On_Part
- PROCOverload_On_Nick
- PROCOverload_On_Quit
- PROCOverload_On_Join
- PROCOverload_On_Say
- PROCOverload_On_Notice
- PROCOverload_ServerResponse
- FNOverload_AboutToSay
- ToDo : God only knows...
- Bugs : I'm not sure if notify from bots works
-
-
- Utils
- -----
- Synopsis : Provides utilities which may be relied on by all modules
- Commands : none
- Overloads : none
- To Do : nothing
- Bugs : none
-
-
- *******************************************************************************
- ** Extension Modules **
- *******************************************************************************
-
- AutoGreet
- ---------
- Author : Justin Fletcher
- Version : v1.03 (30 Dec 1996)
- Synopsis : Example script to show how to do simple automated greets
- Commands : none
- Overloads : none
- Depends : Scheduler
- ToDo : nothing
- Bugs : none known
-
-
- Colours
- -------
- Author : Justin Fletcher, based on an idea by Stuart Bruce
- Version : v1.00 (24 Dec 1996)
- Synopsis : Provides a means of introducing some colour into conversations
- Commands : none
- Overloads : none
- Depends : none
- ToDo : nothing
- Bugs : none known
-
-
- DCC
- ---
- Author : Justin Fletcher
- Version : v1.10 (18 Jan 1997)
- Synopsis : Provides simple interface to DCC operations, including listing
- connections, closing them and managing the list.
- Commands : /dcc List|Close <number>
- Overloads : PROCOverload_UnknownDCCCommand
- PROCOverload_UnknownDCCRequest
- PROC<base>_Connected(handle,private)
- PROC<base>_Incoming(handle,private,bytes)
- PROC<base>_Closed(handle,private)
- PROC<base>_Error(handle,private)
- FN<base>_Status(handle,private,flags)
- Depends : none
- ToDo : Write some support modules !
- Bugs : none known
-
-
- Email
- -----
- Author : Justin Fletcher
- Version : v1.00 (20 Aug 1996)
- Synopsis : Provides a simple email database
- Commands : none
- Overloads : none
- Depends : none
- ToDo : Re-write it completely - it's only a temporary measure
- Bugs : You can't list who is in the database
-
-
- ExtEdit
- -------
- Author : Justin Fletcher
- Version : v1.01 (07 Jan 1997)
- Synopsis : Provides a means of handling External edit sessions
- Commands : none
- Overloads : none
- Depends : none
- ToDo : implement 'save-to' and other such calls.
- Bugs : not known - still experimental
-
-
- FloodProt
- ---------
- Author : Justin Fletcher
- Version : v1.03 (27 Sep 1996)
- Synopsis : Provides flood protection for messages sent from IRC
- Commands : none
- Overloads : none
- Depends : none
- ToDo : not sure really... ideas ?
- Bugs : none known - try it live ?
-
-
- FTP
- ---
- Author : Justin Fletcher
- Version : v1.05 (03 Jan 1997)
- Synopsis : Provides a means of FTPing files to and from remote sites
- Commands : /ftp [Close|<host> [<user> [<password>|- [<directory>]]]]
- Overloads : PROCOverload_UnknownFTPCommand
- PROCOverload_FTPResponse
- PROCOverload_UnknownFTPResponse
- PROCOverload_FTPDataConnection
- PROCOverload_FTPDataError
- PROCOverload_FTPDataIncoming
- Depends : none
- ToDo : ensure that it works 'live'
- Bugs : seems ok live, but loses connection sometime with 'can't connect
- to port'.
-
-
- Headlines
- ---------
- Author : John Wright, with modifications by Justin Fletcher
- Version : v1.02 (11 Sep 1996)
- Synopsis : Provides a means of seeing news headlines from Press Association
- Commands : /headlines
- Overloads : none
- Depends : none
- To Do : colours maybe ? Reformat some of it a bit ?
- Seems to work ok though
- Bugs : none
-
-
- Help
- ----
- Author : Justin Fletcher
- Version : 1.01 (28 Sep 1996)
- Synopsis : Provides simple help interface within IRClient.
- Commands : /help <filename>
- Overloads : none
- Depends : none
- ToDo : Write loads of help
- Get rid of the :END kludge
- Add some more useful : commands
- Bugs : The programming section looks a mess
- You can't go up directories from filenames
- Most of the main IRC commands haven't been updated
-
-
- HTTP
- ----
- Author : Justin Fletcher
- Version : v1.10 (27 Dec 1996)
- Synopsis : Provides a means of reading HTML whilst online using IRClient.
- Commands : /http <page>|<number>|links|back
- Overloads : none as yet
- Depends : none
- To Do : Add <pre> tag support (HTML level 1, I think)
- Add support for display of files which are not text/html, plus
- recognition of such files
- Support for multiple authentication realms over sessions.
- Bugs : Links longer than 512 chars will crash the program, as will text
- of that length.
- Menus can be unstable if they are being build whilst the page is
- coming in.
-
- Identd
- ------
- Author : Matthew Godbolt
- Version : v1.00 (unknown)
- Synopsis : Provides Identd support for IRClient
- Commands : none
- Overloads : none
- Depend : none
- To Do : Nothing
- Bugs : none known
-
-
- List
- ----
- Author : Justin Fletcher
- Version : v1.00 (13 Aug 1996)
- Synopsis : Provides additional facility to list the channels by using a
- seperate connection.
- Commands : /list [<wildcards>] [-min <number>] [-max <number>]
- Overloads : none
- Depends : none
- To Do : Check that it actually does work
- Bugs : none
-
-
- Logs
- ----
- Author : Justin Fletcher
- Version : v1.04 (28 Sep 1996)
- Synopsis : Provides the facility to log channel and chats to files
- Commands : none
- Overloads : none
- Depends : none
- To Do : not sure
- Bugs : if directories get deleted things mess up...
-
-
- Motd
- ----
- Author : Matthew Godbolt
- Version : v1.01 (24 Dec 1996)
- Synopsis : Provides the nice IRClient MOTD as supplied by TheMoog's webpage.
- Commands : none
- Overloads : none
- Depends : none
- To Do : nothing
- Bugs : none
-
-
- Notify
- ------
- Author : Alex Howarth, with modification by Justin Fletcher
- Version : v0.06 (28 Sep 1996)
- Synopsis : Provides notification of users presence on IRC.
- Commands : /notify [[+|-]<user>|*|?]
- Overloads : none
- Depends : none
- To Do : Find a way of making it check every so often, using CallBacks.
- Bugs : none
-
-
- OnTV
- ----
- Author : Justin Fletcher
- Version : v1.01 (02 Sep 1996)
- Synopsis : Provides a nice interface to the OnTVNow daemon I've got.
- Commands : /ontv
- Overloads : none
- Depends : none
- To Do : Nothing
- Bugs : none
-
-
- QOTD
- ----
- Author : Justin Fletcher
- Version : v1.00 (27 Dec 1996)
- Synopsis : Fetches Quote Of The Day messages from servers
- Commands : /qotd <host>
- Overloads : none
- Depends : OnTV
- To Do : find out which servers actually support this feature, other than
- just my TelnetD.
- Bugs : none
-
-
- Samples
- -------
- Author : Justin Fletcher
- Version : v1.02 (28 Sep 1996)
- Synopsis : Provides facility for sound samples to be played using David
- Radfords SamplePlayer module, on particular event
- Commands : none
- Overloads : none
- Depends : none
- To Do : Tie in functions other than just start up, beep and pinging
- Bugs : seems to kill RiscPC's if the built in player is used...
-
-
- SMTP
- ----
- Author : Justin Fletcher
- Version : v1.07 (26 Dec 1996)
- Synopsis : Provides a means of sending email (and currently my only means)
- whilst online.
- Commands : /mail [Resend]
- Overloads : none
- Depends : Email
- To Do : Add line editing, deletion
- External edits when finished
- Bugs : Failures which require re-coding mean that the message is lost.
-
-
- *******************************************************************************
- ** Obsolete Modules **
- *******************************************************************************
-
- Scheduler
- ---------
- Author : Justin Fletcher
- Version : v1.03 (28 Sep 1996)
- Synopsis : Simple scheduling using overloads on IRCLine and UserLine.
- Will sort schedule list.
- Commands : None
- Overloads : PROCOverload_CallBack
- ToDo : Fix the CallEvery code !
- Bugs : This really needs to be replaced by code directly callable in
- IRClient. However, this is actually quite nice :-)
- Reason : Scheduler functions are now handled by IRBasic much more
- efficiently.
-
-
- DCC
- ---
- Author : Justin Fletcher, based on original code by Matthew Godbolt
- Version : v1.04 (01 Jan 1997)
- Synopsis : Provides simple interface to DCC operations, including listing
- connections, closing them and managing the list.
- Commands : /dcc List|Chat <nick>|Close <number>
- /me whilst in =windows
- Overloads : PROCOverload_UnknownDCCCommand
- PROCOverload_UnknownDCCRequest
- FNOverload_DCCStatus
- FNOverload_DCCClose
- Depends : none
- ToDo : none
- Bugs : Shouldn't really send |M at end of lines
- Reason : Becoming too awkward to develop due to the way the structure has
- grown and the fact that DCC Send failed most of the time when
- 'live' for no adequately explained reason even though it works
- fine locally.
-
-
- DCCSend
- -------
- Author : Justin Fletcher
- Version : v1.05 (28 Sep 1996)
- Synopsis : Provides facility to DCC Send files to other users.
- Commands : /dcc Send <nick> <file>
- /dcc Get <number>
- Overloads : none
- Depends : DCC
- ToDo : Add DCC Close for GET's
- Bugs : Seems to fail by sending the ip address wrongly...
- Reason : See DCC.
-