INFO_SEARCH HELP ---------------- 10 May 1993 PLEASE NOTE: Any text mark with a vertical bar on the left, means that, ----------- that particular function or command is not yet available! WHAT IS INFO_SEARCH? -------------------- In short, it is a database, which will later grow to several databases, where information can be requested via FidoNet netmail or echomail. At the moment, only one database is active and available, and is based on several BBS filelistings nationwide, including descriptions, etc. This enables you to search for specific files, using your search argument, and immagination! Your requests will be honoured, either by entering requests via the INFO_SEARCH echo, or NETMAIL addressed directly to INFO_SEARCH currently running on node 5:7101/3. Direct netmail responses are also possible, using commands like ATTach and NETDirect. Please look further down this file, for more info on these and similar commands. GENERAL FORMAT: -------------- To search for info, you have to start the whole search argument with an open square bracket ([) and terminate it with a closed sqaure bracket (]). This may appear anywhere in your message body. Have a look further down for syntax. You may enter your requests, either using the INFO_SEARCH echo, or direct addressed NetMail. The basic syntax will be the same for either methods, with the execption of the actual addressing to INFO_SEARCH via netmail. NETMAIL METHOD: -------------- If you want to use netmail, and have access to it on your nearest BBS, you have to create a netmail message, and address it to node 5:7101/3. You MUST address your message to INFO_SEARCH, using the TO field in your message, and it MUST be as follows, otherwise, INFO_SEARCH will not honour your request! From:...........You the user To:.............Info (...or Info_search...or Infosearch...or search, etc.) Address:........5:7101/3 Message text:...Enter your request, according to the rules and syntax, etc Regarding the TO field. Only the first 4 characters are recognised by INFO_SEARCH, so INFO or SEAR will be ok as well ECHOMAIL METHOD: --------------- This now refers to using the INFO_SEARCH echo, running on FidoNet zone 5. There are no special requirements for echomail, and you basicly just enter a normal echomail message in the INFO_SEARCH echo, which, when it reaches the INFO_SEARCH system, will be processed as soon as possible. You, however, have the facility, of selecting your request to be send netmail. Have a look at all the commands further down. There are, however some of the pre-argument commands, that will be send by netmail, by default. Have a look at the ECHO pre-argument command further down. FEATURES AND SYNTAX: ------------------- 1. Maximum arguments per search are: 6 Example: ["arg1" & "arg2" | "arg3" & "arg4" | "arg5" & "arg6"] 2.| If the Distributive Law is used, then the maximum arguments per search | are reduced to 5 arguments, and only ONE set of brackets may be used! | Example: ["arg1" & ("arg2" | "arg3") | "arg4" & "arg5"] 3. Maximum logic AND and OR symbols: 5 (& and |) Example: Have a look at point 1 4.| Again, if the Distributive Law is used, the maximum number of Logic | symbols, will be reduced to 4! | Example: Have a look at point 2 5. Maximum logic NOT symbols: 5 (!) In other words, you may have up to 5 logic AND/OR symbols, AND up to an additional amount of 5 NOT logic symbols. Example: ["arg1" ! "arg2" ! "arg3" ! "arg4" ! "arg5" ! "arg6" & "arg7"] 6. If any syntax error is found, you will get 0 (Zero) records found! You would, however, get a response message back, telling you where you made a mistake, etc. 7. All search arguments are case insensitive! Example: [ "ArG1" ] is the same as [ "aRg1" ] 8. Total Search string should not be longer than 100 characters, including all symbols and spaces. Spaces are anyway stripped, except, inside the double quoted keywords! Example: [ "arg1" ] is not the same as [ " arg1" ] Note the space! 9. The pre-argument field is optional, and doesn't matter where it is written, within the main argument field. It MUST be enclosed with curly brackets! Example: [ {pre-argument field} "search-argument" ] 10. Any three dashes (---), will stop Info_search from scanning your message further. This is handy, when you want to explain something about the search arguments, and you don't want Info_Search, to think you are serious! 11. File size limits, to search for, can now be specified, or even ranges of file size, etc. Also, your arguments MUST be in double quotes, if you want to use this feature! Example: ["arg1" & "arg2" >100k <200k] Logic AND implied on size range ["arg1" & "arg2" <50k >400k] Logic OR implied on size range ["arg1" & "arg2" <100k] Report files, smaller than 100k only! 12. The node number can be included in the pre-argument field, if only certain BBS's, listing whishes to be scanned. The node: command MUST be used in the pre-argument field! Example: [{node:7101/1} "arg1"] 13. The BBS name and location, telephone, or even sysop name field, may be scanned, using the commands in the pre-argument field! Example: [{Phone: 011-975} "arg1"] [{Bbs: Golden City} "arg1"] [{Sysop: Niel} "arg1"], etc 14. The above methods may be combined as well, seperated by semi-colon's (;) Example: [{Bbs: Jhb;Phone: 011-979} "arg1"] etc... 15. There are also commands to modify the behaviour of Info_Search. You may request this help file, or request a listing of BBS's taking part in the database, etc. 16. Adding to the above, you may ask Info_Search to send your request via netmail, private or normal when using the ECHOMAIL METHOD. See the ECHO pre-argument command for response messages, that gets send netmail by default. 17. Info_Search, now also accepts netmail requests addressed to it. Have a look at the NETMAIL METHOD option, discussed earlier! 18. The file ATTach command finally works. Please see the command further down. DETAIL DESCRIPTIONS AND EXPLAINATIONS: ------------------------------------- Argument fields: --------------- The following, are all valid search methods, and an explaination is given, on the symbols and arguments itself: [SPliT] <----------------------+------Single argument, with no double quotes ["SpliT"] +------And no other commands or fields! ["SpliT" & "Print"] [{Node:7101;Phone:-021}"Games" &"arcade"|"Games" & "VGA" >10k <50.5k ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ | | | | | | | | | | | | | +---+--+ +---+----+ | | | | | | | +----+-> Size | | | | | | | | | command | | | | | | | | | Fields | | +---------+-------+--------+----------> Argument | | | | | fields | | +--------+--------+--------------> Logic | | symbol | +---------> 2nd Pre-argument command \ fields | (There can be many!) >---------> Pre- +-------------------> 1st Pre-argument command / Argument Field First, single arguments, with no logic symbols: Arguments, are search for, exactly as you enter it. In other words ["SEArch"] and ["seaRCH"] and [Search], would give the same results! ["Search "] and [ Search] would NOT! (Note spaces before and after, respectively! Second, with logic symbols.... & = AND | = OR ! = NOT ["SpliT" & "Screen" | "Game" & "Good" ! "bad" ], which will mean, search the database for records, containing the words: Split AND Screen OR Game AND Good, but NOT Bad! For the Boolean or Logic circuit fanatics, it will be something like this:... +----+ Bad -----+---O \ Split ---|---| AND >---------+ Screen --|---| / | +-----+ | +----+ +---------\ \ | > OR >------RECORD FOUND | +----+ +---------/ / +---O \ | +-----+ Game --------| AND >---------+ Good --------| / +----+ So, use & or | or !, if you want to use complex search methods, or the file base. ["Split" & "Screen"] would produce records, only containing the words, SPLIT AND SCREEN! ["Split" |"screen"], would produce all records, containing the words, SPLIT or Screen! (Be carefull, as this produces more records, than the AND function! ["Split" ! "Good" | "Screen"], would produce all records, containing the words, Split or Screen, but NOT the word Good! Have a vey careful look at the example, as the NOT function can be anywhere in the search argument! (So beware!) You would always, "see" your search argument, enclosed between square brackets, as you entered it! This refers to your return message, of course! Just as a precaution, the following are NOT valid, and will cause zero found records plus a nasty message from Info_Search! ["Search] - Argument was not terminated with ASCII character 34 (") [Search"] - As the above ["Search""Good"] - No logic symbol! ["Search Good"] - Will be searched for, but more than likely, not found! ["Search - A no-no, that will really bark at you! Diagnostic checking is also done to "see", that the logic functions are correct, and return messages will be sent, if not. Pre-Argument and greater/smaller than fields -------------------------------------------- 1. File sizes limits, to search for, can now be specified, or even ranges of file sizes, etc 2. Information, like node numbers/telephone numbers, or even BBS names can be included in the pre-argument field! If only certain BBS's, listing wants to be scanned, full or partial names/numbes can be specified, etc Here is an example: [{node:7101/22 ; BBS: Preto } "Pak" < 110k > 90k ] ^^ ^^-----^ ^ ^ ^ ^---^ ^ ^---^ ^----^ ^---^ || | | | | | | | | | | Pre-argument command-|+---+----------+--+ | | | | | Field. | | | | | | | | | | | | | | | | | | | | | | | | Partial or full node number--+ | | | | | | | | | | | | | Partial or full name/location---------------+ | | | | | | | | | | Pre-argument command seperator(;)--+ | | | | | | | | | \------------------------/ | | | Pre-argument field {curly brackets}---^ | | | | | | Search argument in double quotes!-------------------+ | | | | Smaller than command field---------------------------------+ | (Terminated with 'k') | Greater than command field----------------------------------------+ (Terminated with 'k') I hope the above makes sense, and it actually means: Search for the occurence of the word PAK (upper/lower case), only on node 7101/22 (7101 would search the whole of net 7101!), having a name(partial in this case), of "Preto" (For Pretoria, or a BBS name, etc), but only report files, smaller than 110k AND files greater than 90k. Please note, that the k or K is mandatory to use for sizes, as the Info_search program will bark at you, if you don't. In other words, the k flag is used as terminator. Sizes smaller than 1k (1000bytes) can still be searched, but then you must specify 0.5k for 500 byte files, etc... Of course, if you use Greater than (>) and Smaller than (<), a logical AND or logical OR is performed, depending on how you specify your commands. For example: ["arg" <50k > 300k] Will search for files, smaller than 50k, OR greater than 300k, and will NOT report any file between the sizes of 50k and 300k! ["arg" >50k <300k ] Will search for files, having a size of between 50k AND 300k only, and will subsequintly, only report files, having a size between these two limits! Also, it doesn't really matter where you put the greater than/smaller than fileds, as long as they are not in double quotes, etc. So, [>50k "pak" <300k {node:7105} ], would also work... Pre-argument commands --------------------- All Pre-argument commands, MUST be enclosed within curly brakets { } and seperated by a semi-colon (;), if multiple commands are used! The commands are not case sensitive and listed in uppercase for clarity. When using the commands below, keep in mind, how the fields look like. There are four fields per BBS record! Here is an example: "5:7101/3","Goldfields CBCS - Wlk","011-393-3624/3626","Niel Uys" ^------^ ^-------------------^ ^---------------^ ^------^ | | | | FIELD 1 FIELD 2 FIELD 3 FIELD 4 | Node number |BBS name and location |Phone numbers | Sysop name | 1. Commands with extra data (Colon terminates command, data follows colon!) NODE: You may specify the BBS nodenumber or partial node number, if the BBS is part of FidoNet. A standard nodenumber consists of three parts. They are: Zone - Our zone for Africa is 5 Net - There are various net's, and Info_Search originates on net 7101 for instance Node - This is the actual BBS's node number. The format is Zone:Net/node, where Info_search's home number is 5:7101/3 Command format: [{NODE: full/partial node numbe as described above}] ----- PHONE: A full or partial telephone number may be specified, with either dashes or not! Command format: [{PHONE: full/partial phone numbe of the bbs}] (Dashes ------ are ignored) BBS: A BBS name or location, or partial name or location, may be specified with this command. A special feature is now installed to enhance the the search of this field. In fact, extra data, which can not be accessed normally, are now used to make the search in this field easier! Here is an extract of the Database, the way a particular node/bbs's information is stored: "5:7102/3","Capricorn ][ Fido - CT","021-790-4551","Ralph Colyn",378, 874,"Houtbay Houtbaai Cape Town Province" As you can see, the data is field-delimited, and in sequential format. Fields 2 and 7, are combined, before the search takes place. In other words, the data will actually be searched, using the following string! "Capricorn ][ Fido - CT"+" "+"Houtbay Houtbaai Cape Town Province" OR "Capricorn ][ Fido - CT Houtbay Houtbaai Cape Town Province" So if [{BBS:hout}] is used, only listings, with the the word "HOUT" will be searched! Command Format: [{BBS: Full or partial name/location}] ---- SYSOP: The sysop name field may, of course, also be search, if ever you need to do that...which I can not see any reason for, but it's there :-) Command format: [{SYSOP: Full/partial sysop name}] ------ !NODE: or !PHONE: or !BBS: or !SYSOP: The above four pre-argument command can be preceded as shown, with an exclamation mark, which means logicly NOT. This is useful, if you do NOT want to search a particular BBS listing. It is basicly the opposite of the previous commands. Command format: [{!NODE: Full/partial node number}] ------ or [{!PHONE: full/partial phone numbe of the bbs}] (Dashes ------ are ignored) or [{!BBS: Full or partial name/location}] ----- or [{!SYSOP: Full/partial sysop name}] ------- So [{!NODE:7101/1}...] means...Do NOT search nodes which has nodenumbers 7101/1. [{!BBS:Goldfields}...] means...Don't search the Goldfields BBS listing! Combinations can also be used...like this: [{!node:7101/1;node:7103/1}"test"|"play"] The above means: Do NOT search listings, with nodenumbers "7101/1", but DO search listings, only with nodenumbers "7103/1" VERY IMPORTANT: NEVER use commands of the same type twice in the same argument!!! [{BBS:Gold;BBS:fields}...] will produce nothing but, [{BBS:Gold;!BBS:fields}...] will... Please note: A change has been made, to cater for possible forgetfulness from you the user :-) 1. The above commands do not have to be terminated by a colon anymore. 2. Data fields after the above commands, may be enclosed in double quotes and are optional. So, the following are perfectly valid: [{BBS:Gold;!Node:7103}....] or [{BBSGold;!NODE7103}....] or [{BBS"Gold";!NODE"7103"....] or [{BBS:"Gold";!NODE:"7103"....] The above are ALL the same.... Don't forget the semi-colon, but colon's and double quotes are optional...in the PRE-ARGUMENT field only! If you are confused, don't worry, Info_search can handle most errors, and is normally very forgiving :-) DETAIL: This command will send you a DETAILED list of BBS/Node's listed in the Info_search filefind database. By default, your request will always be send via netmail. See the ECHO command, if you want it otherwise. Command format: [{Detail: full/partial argument}] ------ The above command can be used in several ways. If NO full/partial argument is given, the FULL DETAILED list will be send. Full/partial means, you may use any info, that is contained in the following fields: Sysop, BBS name, Telephone number and Node number. Here is a couple of examples to help enhance the DETAIL command! [{Detail:}] or [{Detail}] or [{Detail:All}] will give you ALL listings contained in the database! [{Detail:7101/22}] will only give you Node 7101/22's info [{Detail:011}] will give ALL BBS's with phone numbers of "011" [{Detail:Gold}] will give ALL BBS's containing the name "Gold" as a BBS name! [{Detail:Niel Uys}] will give "Niel Uys"'s details...etc. Please note: All fields are added, so only one argument of a kind can be used at a time! The following will most probably bark at you: [{Detail:7101/3 Niel Uys Gold}] ADDRESS: This command automaticly sets the NETMAIL flag, so response messages will be sent NETMAIL, but that is not all. It allows you to override the NETMAIL return ADDRESS of the reponse message. This is particularly useful, when you want to send a reply response message, generated by Info_search, to another address, than your own! This means, if you enter a request from node 5:7101/10.5, but want the reply response from Info_search to go netmail to address 3:371/22 (Yes, International mail will also work), then use the ADDRESS command. Also note, that you have to use the NAME: command in conjunction with the ADDRESS: command! The reason is simple, unless you have a nodenumber where you yourself, will be at for response messages. If you therefore want to send a friend of yours, a response message from Info_search, and re-address the message, it would be silly, if your own name were used in the To: field of the response message...so you have to use the NAME: command to put your friend's name in for the responses, etc... Command format: [{Address: full address - zone:net/node.point}] -------- Note: The address must be a 2, 3 or 4 dimensional address, so the following node addresses are valid, anything else...NOT: 5:7105/1.1 (4-D) 5:7105/1 (3-D) 7105/1 (2-D) PLEASE NOTE: The ADDRESS: command does not work without the NAME: command!!! NAME: This command is usually used in conjuction with the above ADDRESS: command and overides the name used by Info_search (Normally YOUR name), to send it's responses to. If you therefore want to send a special response from Info_search, to a friend, at another FidoNet location, use the NAME: command to overide your name, unless you actually want to be the recipient on the new address (Overidden by the ADDRESS: command) Also see the ADDRESS: command for more info Command format: [{Name: FirstName Lastname}] ----- 2. Commands to modify the behaviour of Info_Search (Only the uppercase part of the command is important!) INTernational This tells Info_search, to only search the international file listings, National listings excluded, in other words! Command format: [{Internat;netprivate} "arg1" & "arg2" ] -------- ALL This tells Info_search, to search ALL records, regardless, unless some of the above commands, like {phone:} or {bbs:}, etc, are used. Remember, that the default, is to search local, NATIONAL records only! Command format: [{All;netmail} "arg1" | "arg2" ] --- The folowing commands are used to tell Info_Search, what you want it to do with the return responses, like sending it private netmail, etc. NETMail This tells Info_search to rather send the reply message back to you as netmail, instead of in the echo! Command format: [{Netmail;Phone:011} "arg1" & "arg2"] ------- NETPrivate This tells Info_search to rather send the reply message back to you as PRIVATE netmail, instead of in the echo! Command format: [{Netprivate;Phone:011} "arg1" & "arg2"] ---------- NETDirect This is the same as NETMail above, but instead of routing the netmail reply message, via other systems, which normally takes longer, the reply netmail message from Info_search, will be PACKED and put on HOLD for the system address, that was contained in the original echomail or netmail message, that your request came from. This is really only of use to sysops and/or Point operators, sending their requests directly to node 7101/3, or via normal netmail/Info_search echomail. Normal users should bear in mind that, if they use this command, without knowing how it works, they will not get a response, as it will probably stay on hold forever on node 7101/3. This means, the NODE ADDRESS, contained in your requesting message, will be use for the HOLD address, and THIS node, will have to poll node 7101/3 (Info_search's home address) to pick up the packed message packet. Use NETPrivate in conjunction with NETDirect, to keep the message private, if you so wish. Command format: [{Netdirect;Phone:011} "arg1" & "arg2"] --------- ECHOmail This tells Info_search to respond with reply messages in the Info_search echo, instead of sending it via netmail. By Default, all search argument responses, will be placed in the Info_search echo, if originating from the echo. Exceptions are as follows: Pre-argument commands: 1. HELP 2. DETAIL: 3. LIST 4. RULES The above pre-argument command responses, will always cause the NETMail flag to turn ON, thereby sending help, rules, listing and detailed listing responses via netmail, by default. The ECHO command, can therefore be used to turn the netmail flag OFF! Please note, that {echo;netp} or {netm;echo}, etc... will void the NETP and/or NETM flag. Be careful with this... Command format: [{ECHO;Phone:011} "arg1" & "arg2"] ---- ATTach If you expect to get a rather large response, 800 records and more, I would advise you to use this command, as your response message, will be archived with PKZIP, and put on hold for you to poll for. You must ensure that your netmail address is valid, otherwise, you won't be able to pick up the file, when polled. All you then have to do, is poll for it with your mailer, or you may ask your friendly BOSS to do it on your behalf :-) Also note that only FidoNet LISTED nodenumbers will be honoured. If you are a point, and want to be known to Info_search's host node, so that the attach command will work, please apply to Niel Uys @ 5:7101/3, giving your details, etc. Node 7101/3 is running a netmail mail robot, that compares nodenumbers to the latest nodelist, so if your node is not listed, especially a point system, you have to contact the moderator to include your node number on his system. For security reasons, the robot can not be turned off for this function. Command format: [{Attach;Bbs:Gold; Sysop: Dave} "arg1" | "arg2" < 200k] ------ PLEASE NOTE: Pre-argument commands like HELP, DETAIL, RULES and LIST, will not be send ATTACHED, but NETDIRECT will be assumed, and packed as normal archived netmail messages. See NETDirect command for info on this. 3. Commands without extra data (Plain commands with one function only!) These commands will NOT scan the database, but merely return information requested, like help, or information about Info_Search itself! HELP To get Help, just enter it in the pre-argument field, as follows. Everything else, in your main argument, will be ignored, and THIS file will be send to you! By default, your request will always be send via netmail. See the ECHO command, if you want it otherwise. Command format: [{Help}] or [ { H e l p !!!} ], etc ---- ------- LIST This command will send you a list of BBS/Node's listed in the Info_search filefind database. By default, your request will always be send via netmail. See the ECHO command, if you want it otherwise. Command format: [{List}] ---- RULES This command will send you the Info_search echo rules and regulations, as well as information on how a sysop may include his/her file listing into the Info_search database. By default, your request will always be send via netmail. See the ECHO command, if you want it otherwise. Command format: [{Rules}] ----- --------------ooooooooooooooOOOOOOOOOOOOOOooooooooooooooo----------------- Don't worry, if you make a mistake, the program should inform you about syntax errors. If you have a problem, please let me know... (Niel Uys) @ 5:7101/3 Keep well, Info_Search