***************************************************************************** * * * BLTCAP V1.0 - Bulletin Capture Program For Use With Intellicom 1.0 and * * Higher (possibly lower!) * * * ***************************************************************************** Copyright (c) 1992 by Thunder Lizard Ltd.. All Rights Reserved. Disclaimer You are free to use and distribute Bltcap as long as: * No fee is charged for use, copying, or distribution. * The files are not modified in any way. * All files are distributed together. This software is distributed "AS IS". THUNDER LIZARD LIMITED DISCLAIMS ALL WARRANTIES OF THIS SOFTWARE, WHETHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, FUNCTIONALITY OR DATA INTEGRITY OR PROTECTION. IN NO EVENT SHALL THUNDER LIZARD LIMITED BE LIABLE FOR ANY DAMAGES ARISING OUT OF THE USE, OR INABILITY TO USE, THIS SOFTWARE. Intellicomm is a registered trademark of Liberation Enterprises. The QWK format is Copyright 1987 by Sparkware. Canada Remote Systems is a registered trademark of 884097 Ontario Limited. Overview Bltcap is a FREEWARE add-on for use with Intellicomm V1.0 or higher. It is designed to capture bulletins from a BBS and incorporate them into a QWK compatible mail packet. Bltcap has the unique feature of generating a customized Intellicomm script each time it is run. Unlike generic script-based alternatives, bltcap's custom script captures ONLY the bulletins that have changed. It doesn't have to test every download combination possible. This makes it extremely fast, saving precious on-line time for other tasks. In addition, bltcap provides the ability to always include or exclude specific bulletins. This way, you receive only the bulletins that are of interest to you. Bltcap also handles conference specific bulletins. Finally, bltcap was designed to be as generic as possible. It generates its custom script based on information stored in an initialization file. You can specify a different initialization file for each BBS that you want to run bltcap on. In addition, creation of these initialization files is done "automagically", since bltcap derives most of its information from your ICOM.INI and BIF files. If you've correctly set up Intellicom, configuring bltcap should be a breeze. - 1 - Installing Bltcap If you only intend to capture bulletins from one BBS, just copy the contents of this archive into your Intellicomm directory (e.g. C:\ICOM). It also GREATLY simplifies the configuration and running of the program. If you intend to customize bltcap for a number of BBS's and don't want to mix your Intellicomm files with the ones created by bltcap, I would recommend making a sub-directory under your Intellicom directory (e.g. C:\ICOM\BLTCAP). Configuring Bltcap If you want to get started without reading anything, just type "bltcap /h" and figure things out from there. Otherwise... In order to configure bltcap for a specific BBS, it needs access to the Intellicomm initialization file, ICOM.INI (or it's equivalent if you use a different one), and the BIF file for the desired BBS. Before I walk through a couple of examples, here's the full syntax of the setup option of bltcap: bltcap /s bif_file [bltcap_ini_name] [icom_ini_name] Where: /s is the setup option bif_file is the name of the Intellicomm BIF file that corresponds to the desired BBS. blt_cap will default to looking in the BIF sub-directory if it can find it. Otherwise, type the full path name for the BIF file. bltcap_ini_name is the optional name of the initialization file that will be created. The default name is "bltcap.ini". icom_ini_name is the optional name of the Intellicomm initialization file that you use. Bltcap will look for the default "icom.ini" in the current directory. Otherwise, type the full path name for your Intellicomm initialization file. A Simple Example Unless you've made life miserable for yourself by changing all you Intellicomm default directory names, initialization file names etc... here's an example of a simple setup. Assuming you have Intellicomm installed in it's default location (C:\ICOM), and bltcap.exe is located in C:\ICOM, in order to set up the BIF CRS.BIF, you would type: bltcap /s crs.bif. That's all there is too it! After bltcap creates it's initialization file (bltcap.ini), it will prompt you and ask if you want to modify your "postmail.bat" file. This is a file which is executed by Intellicomm after a mail packet has been downloaded. All modifications are added to the end of the file. You're now set up to use bltcap in your Intellicomm jobs. - 2 - In order to capture bulletins, your Intellicomm job should look something like the following: Call CRS DOS: bltcap.exe <- Option 13 on the Intellicomm Job menu CC: @bltcap <- Option 12 on the Intellicomm Job menu ... ... Get all new mail ... ... Exit to DOS When the job runs, bltcap will create a custom script called bltcap.scr and places it in your script directory. The next line in the job then executes that script. At some point in the job, you should download your mail packet. When the job completes, Intellicomm will run postmail.bat which will add the captured bulletins into your mail packet. After your job has run, you should check your ICOM.USE file (located in the CAP sub-directory). Bltcap will place a comment in the file indicating how many bulletins it captured. A Complex Example If you want to run bltcap on a number of different BBS's, you'll need to create a custom initialization file for each BIF. As an example, say you made a sub-directory under Intellicomm called C:\ICOM\BLTCAP and copied this package into it. In order to create a custom initialization file for CRS.BIF (located in C:\ICOM\BIF), you would type the following: bltcap /s c:\icom\bif\crs.bif crs.ini c:\icom\icom.ini This will create an initialization file for bltcap called crs.ini and store it in C:\ICOM\BLTCAP. You can create initialization files for other BIF's in a similar manner. In order to capture bulletins, your Intellicomm job should look something like the following: Call CRS DOS: c:\icom\bltcap\bltcap.exe /i c:\icom\bltcap\crs.ini CC: @bltcap ... ... Get all new mail ... ... Exit to DOS In this job, bltcap is run with the /i option which tells it to use an initialization file other than the default, bltcap.ini. Apart from this, its operation is the same as described in the simple example above. - 3 - Customizing Bltcap Hopefully, I've made bltcap robust enough to create a custom script based only on the information stored in its initialization file. So if your job bombs, it "should" just be a matter of tweaking your initialization file. As such, here's an example initialization file and a complete breakdown of each entry: Sample contents of bltcap.ini: BLTCAP1 - Initialization file header version="1.5" - Bltcap version number capfile="C:\ICOM\CAP\ICOM.CAP" - Icom session capture file to look at scrdir="C:\ICOM\SCR" - Icom script directory to store bltcap.scr desc="Canada Remote System" - BIF description of the system you're on scac="N" - BBS scan messages response pauc=" " - BBS pause message response nomc="N" - BBS more prompt response (set to Y for Win 3.x) scap="last read" - BBS scan message paup="er) to continue" - BBS pause message morp="More? " - BBS more prompt mnap="Board Command? " - Main board prompt mnbp="rence Command? " - Secondary (conference) board prompt lnbc="A" - Leave secondary board prompt command lmmc="Q" - Leave mail door command mmnp="Qmail Command? " - Mail door prompt facc="J % Q" - Change area command lbmc="Q" - Leave bank door command bmnp="] Command? " - Bank door prompt srch="New Bulletin(s):" - Search string for new bulletins (in icom.cap) bcmd="B Q" - Access bulletin area command bltp="List Command?" - Bulletin area prompt lcmd="% NS" - List bulletin command (set to "%" for Windows) include="5 13:5 13:1" - Always include these bulletins exclude="2 4" - Always exclude these bulletins delay="20" - More loop delay time (in 10th's of a second) timeout="600" - General timeout time (in seconds) N.B. Each line should have no leading spaces and the parameters should be enclosed in quotes. Unlike version 1.0 which had only a few parameters, there's just too many parameters in version 1.5 to explain in detail. If you want to see what each does, change a parameter and run bltcap. Take a look at bltcap.scr to see what changed. Only the include and exclude parameter are of real use. Read the whats.new file for details on some of the new features and how to tweak some of the above parameters to implement the new features. The Custom Script File, BLTCAP.SCR If you are interested in writing Intellicomm scripts, or want to try and debug the one created by bltcap.exe, you should look at BLTCAP.SCR located in your SCR (script) directory. Each time bltcap.exe is run, it will create a custom commented script. Since every line in the script is commented, it makes it very easy to see what the script does. Now if you only could figure out how it gets created... - 5 - Limitations Although I've tried to make the package as easy to use and customize as possible, there are a couple of obvious limitations/features. First, and foremost, it only works with QWK mail packets. I haven't got a clue (or interest) about other types of mail packets. Also, because of the simplistic naming convention for QWK bulletin files (BLT-x.y where x is the conference area and y is the bulletin number), there's no way to distinguish which BBS the bulletins came from. As a result, if you try to run a job like: Call BBS1 DOS: bltcap /i bbs1.ini CC: @bltcap Get all new mail Call BBS2 DOS: bltcap /i bbs2.ini CC: @bltcap Get all new mail ... ... Bltcap will successfully capture bulletins for each board, but will overwrite bulletins captured from previous BBS's. Also, when postmail.bat runs, it will stuff ALL bulletins it finds into the first QWK mail packet it comes across. The work around for this is simple, but requires a little effort. First, copy your postmail.bat file to a file that is unique for each BIF. For the above example, you'd copy postmail.bat to bbs1.bat and bbs2.bat. Then, edit each batch file to remove all references to mail packets other than the desired one (bltcap will create a unique entry for each BIF so this should be easy to find). Finally, modify your job to look like the following: Call BBS1 DOS: bltcap /i bbs1.ini CC: @bltcap Get all new mail DOS: bbs1.bat Call BBS2 DOS: bltcap /i bbs2.ini CC: @bltcap Get all new mail DOS: bbs2.bat ... ... This will ensure that the captured bulletins for BBS1 get added to the proper QWK mail packet BEFORE BBS2 gets called. If you need detailed help on this, send me an E-mail or write. - 6 - Getting Additional Help Since I monitor the Icom conference on Canada Remote Systems fairly regularly, you can send mail to "MICHAEL LIVSEY". I'm particularly interested in finding out what's required, if anything, to get bltcap to successfully run on other BBS's. As I have indicated, I have only tested the program on Canada Remote Systems so my logic might be flawed for generic cases. You can also send regular mail to: Michael Livsey F4-1667 Nash Road, Box 94 Courtice, Ontario L1E 1S8 In the event that I've really missed the boat and no one can get the program to do what I can, don't bother chewing out my ear. I'll just hang up my programming hat and go back to making home-brew! Cheers! Mike. - 7 -