============================================================================
            $VER: CNet Amiga Pager, v4.0 (31-Oct-94) by Dotoran!
============================================================================

What Is It?
~~~~~~~~~~~
    A NEW Chat function for Cnet Amiga, v3.05c. It operates similarly to the
built in chat function, in that it will come up asking the user to type a
reason to chat and then play a sound, but that's where the similarities end.

    Version 4.0 of the Pager now allows for Multiple SysOps, so after the
Pager has been set up, the user will be asked WHICH SysOp they wish to Page.

    After the reason has been entered, a requestor will pop up on the FRONT
MOST screen shortly after the specified SOUND file has been played, and
the specified SPEECH has been orated. This requestor tells you which port
requested the chat, the date and time the chat request was made, any SysOp
Comment on file, the handle and real name of the user, and the reason why
they wish to chat.

    As of v3.5a, there is now the option to have CNet use the CC command to
send a "Chat Request OLM" if a SysOp happens to be somewhere online, instead
of being disturbed by an annoying requestor. This will ONLY be done if the
requesting user has ACCESS to use the CC command. If they do NOT have access
to use CC, then a regular page will be attempted.

    If you are NOT available, Pager will display your custom "SysOp OUT"
reason for that HOUR of that DAY. All 24 hours of all 7 days can receive a
unique "SysOp OUT" reason. (Using MCI Commands, you could even have the
reason display a TEXT file if you feel a more lengthy reason is needed at
times.)

    Within this requestor are eight buttons, described below:

"Chat" - [ Uses "C" as an alternative to the mouse! ]
 ~~~~
    - Will alert the user you are coming to chat with them.



"OLM" - [ Uses "O" as an alternative to the mouse! ]
 ~~~
    - Allows you to send a customized System OLM to the user, instead of
      actually having to chat with them. After selecting this button, you'll
      be given another requestor with three buttons: (Use the RAMIGA key in
      conjunction to the alternative key to activate these buttons).

            "Send" - [ Use RAMIGA - S as an alternative to the mouse! ]
             ~~~~
                - The text entered in the string gadget will be sent to the
                  user as a System OLM Message. Normally, you'd simply press
                  RETURN to send the text, but you CAN press SEND instead.

                - Pressing RETURN with NO text in the string gadget will
                  activate the IGNORE button, which functions the EXACT same
                  way as the main IGNORE button, described below.

            "Cancel" - [ Use RAMIGA - C as an alternative to the mouse! ]
             ~~~~~~
                - This will abort the sending of the OLM Message, and return
                  you to the main Pager Requestor.

            "Ignore" - [ Uses RAMIGA - I as an alternative to the mouse! ]
             ~~~~~~
                - Acts the same as the IGNORE button described below.

                - This button will also be activated if you press RETURN
                  with NO text in the string gadget!

    - While you're sitting in the String Gadget, you can activate any of the
      buttons by pressing RAMIGA-Hot Key, as defined above.



"FSend" - [Uses "F" as an alternative to the mouse! ]
 ~~~~~
    - Will give you a file requestor you can use to ADD files to the user's
      Select Buffer.
    - Use the MOUSE to select multiple files by holding down the SHIFT key,
      then selecting those files you wish to add.
    - Use the Up and Down arrows with RETURN if you'll only be adding ONE
      file, as an alternative to using the mouse.
    - Click the "Done" button(or press RAMIGA-D) to complete the procedure.
    - As many of the files will be added to the user's Select Buffer as are
      possible. This means if you have it set in your CNET CONFIG that users
      can only select 10 files at a time, and you specify you wish to add 20
      files to the user's Select Buffer, only the first 10 files would be
      added(provided the user's Select Buffer was EMPTY to start with). If
      this should ever occur, the OLM that is sent to the user will let them
      know what has occurred.
    - The user will be charged for the download, based on your setting in the
      Pager CONFIG file. (Defaults as making it a FREE Download).
    - The file will be killed after the download, also based on your setting
      in the Pager CONFIG file. (Defaults to NOT killing the file).



"Terminate" - [ Uses "T" as an alternative to the mouse! ]
 ~~~~~~~~~
    - Will immediately drop that user's time remaining to 0, then drop
      carrier. (For those users who continually hound you to Chat!)

    - This will happen for ANY user, INCLUDING those with INFINITE time!



"Gone In 5" - [ Uses "G" as an alternative to the mouse! ]
 ~~~~~~~~~
    - Similar to the above, but will allow the user 5 minutes to finish up
      anything they may have been doing(Posting, Responding, etc.)

    - This will happen for ANY user, INCLUDING those with INFINITE time!



"Unavailable" - [ Uses "U" as an alternative to the mouse! ]
 ~~~~~~~~~~~
    - Will inform the user you are no longer available to chat, and will
      perform a "SysOp port OUT" operation(Described more fully below).



"Busy" - [ Uses "B" as an alternative to the mouse! ]
 ~~~~
    - Similar to the above, but will simply tell the user you are too BUSY
      to chat, while still maintaining your "SysOp port IN" ability.



"Ignore" - [ Uses RETURN as an alternative to the mouse! ]
 ~~~~~~
    - Will deactivate the requestor, WITHOUT alerting the user you are doing
      so. (If you simply do NOT want to be bothered).



    Whenever any of the above buttons has been pressed, the requestor will
be removed from the screen, and the appropriate action(s) will be performed,
as well as the "Reason" for chatting being removed from CNet memory.

    The user is "told" of the action you've taken in the form of a colorized
System OLM that will be sent. When the "Ignore" option is used, NO OLM's are
sent to the user.



How Do I Install It?
~~~~~~~~~~~~~~~~~~~~
    NOTE1: If updating from v3.5a, please refer to the separate text file
           "Update.README!" for info on converting to this new version.

    NOTE2: If updating from a version BEFORE v3.5a, it will be necessary for
           you to DELETE any previous version files that may be residing in
           your PFILES: directory. The Pager has undergone so many changes
           since these versions that you will need to install it from
           scratch.

 1: Copy the "ScripIt" file into your C: directory.

    NOTE: ScripIt is a scipting language that allows you to create scripts
          to mimic intuitionized events, like opening windows, pressing
          buttons, selecting items from menus, etc. You can find v1.20 on
          Fred Fish Disk # 288 if you'd like to take a look at it.

 2: Copy the "rexxreqtools.library" file into your LIBS: directory.

    NOTE: The complete "rexxreqtools.library" package can be found in the
          AmiNet Collection for anyone interested in obtaining it for your
          own use.

    NOTE: You will also need the "reqtools.library" file, NOT included in
          this archive, as most Amiga users already have this library. If,
          however, you NEED the "reqtools.library", you can find it on most
          Quality Amiga BBS's, or v2.1a on Fred Fish Disk # 794.

    NOTE: I've made an interesting discovery, concerning filenames using the
          upper and lowercase letters for library names. If the ADDLIB()
          function does not exactly match the filename used for the library
          file as it appears in your LIBS: directory, you'll get an error
          message stating it can't find needed library file. All command
          files within the Pager, v4.0 now look for "rexxreqtools.library",
          and NOT "RexxReqTools.library", so please check the actual
          filename in your LIBS: directory and make sure it uses NO CAPITAL
          letters in it's filename.

 3: Copy the "CleanIBM/" directory and the "CleanIBM.font" file into your
    FONTS: directory if you don't already have them there. This is a great
    8-point IBM-ANSI font to have available for your BBS. I have it set as
    my default CNet System font.

 4: Copy the "Pager/" directory anywhere you wish. PFILES: is a recommended
    storage location, but the choice is yours.

 5: In your BBSMENU file, in Menu # 2, the Available Everywhere Menu, locate
    the "Chat" command and place a "2" in front of the word, so it will look
    like this: 2Chat. Then, at the bottom of Menu # 2, add this line:

        Chat    `1- | {#0pfiles:Pager/PagerChat}
                |     |  ~\|/~~~~~~~~~
                |     |    |
                |     |    `--> This path should MATCH the path you stored
                |     |         the "Pager/" directory in Step # 4 above...
                |     |
                |     `-----> A Control-Q character.
                |
                `---------> This states Access Groups 1 thru 31 can use the
                            Chat command. (Change this to suit your needs)

    NOTE: The built-in CNet CHAT command will still work, but the user will
          need to type "2C", instead of "C" to use it. Also, although the
          Pager is written to play the same Chat Sound as CNet uses, your
          BBSTEXT chat line is NOT what loads and plays the sound. Use the
          Pager CONFIG to modify the Sound that IS played.

 6: Also add the following command to your Menu # 2 (Available Everywhere).
    This command is used to enter the CONFIG, edit the SysOp-Out Reasons, as
    well as allowing you to change your Availability Status for ANY Port.

        SYSop   `31 | {#0pfiles:Pager/PagerMaint}
                |     |  ~\|/~~~~~~~~~
                |     |    |
                |     |    `--> This path should MATCH the path you stored
                |     |         the "Pager/" directory in # 4 above...
                |     |
                |     `-----> A Control-Q character.
                |
                `---------> This specifies it's a "SysOp Only" command.

    NOTE: We've added this command to Menu # 2, instead of Menu # 1, so
          that you can choose to give access to this command to other users,
          maybe Co-SysOps or something, simply by editing the `31 above...

 7: Load your BBSTEXT file and go to line number 920:

        \n1\c7**** System Message\n1\a1\@1

    In order for the colored OLM Messages to work correctly, you need to
    REMOVE the \@1 at the END of this line, so that the MCI Commands may be
    interpreted correctly. If you DON'T remove this command, all OLM's sent
    will look like the line above(with all MCI commands shown). I haven't
    seen/had any adverse effects by doing this, so it shouldn't pose any
    problems with other System Messages sent by CNet.

 8: While BBSTEXT is still loaded, go to line number 99:

        @ Logoff complete\n1

    At the END of this line, add the following MCI command:

        {#0pfiles:Pager/PagerCleanUp}
        ^  ~~~~~~^~~~~~~
        |        `--> This path should MATCH the one used in Step # 4 above.
        |
        `--> A Control-Q character.

    NOTE: There may be other MCI load commands added to this line for other
          programs, so you'll want to make sure the above command comes
          BEFORE any other MCI commands.

    NOTE: This step DIFFERS from previous versions. See the "UPDATE.README!"
          file for more information.

 9: Save your BBSTEXT and BBSMENU files, then use the RAMIGA-T key combo to
    reload your BBSTEXT and BBSMENU files into CNet Memory, then...

10: Enter your BBS and from a command prompt, type the following:

        SYS CONFIG

    The "CNet Pager Config" file should then be loaded. Edit the fields to
    hold the info you will be using, then press ESC to SAVE the info. The
    CONFIG file will be explained FULLY below.

11: Make sure you have your sound and/or speech players located SOMEWHERE
    in your valid PATH assignment. (Type "PATH" alone in a CLI to make sure
    you see the correct paths).


How to Use Pager's Config:
~~~~~~~~~~~~~~~~~~~~~~~~~~
   As mentioned in step # 10 above, typing "SYS CONFIG" will load the CNet
Pager Config file, which has 30 options. When editing values in any of the
string gadgets in the config program, remember that you can also use these
commands to help:

                   CTRL-B - go to Beginning of text.
                   CTRL-N - go to eNd of text.
                   CTRL-X - eXpell, or erase all text.
                   CTRL-K - Kill from cursor to end of line.
                BACKSPACE - Delete a character and move cursor left.
                   DELETE - Pull character to right of cursor INTO cursor.

    And now, the full descriptions for all Config options available:

Graphics
~~~~~~~~
    "Yes"
     ~~~
        * With graphics enabled, users with 80 Columns and IBM-Ansi term
          emulation will be shown a picture similar to the Requestor that
          will be displayed on your screen.

    "No"
     ~~
        * Users with less than 80 columns, or if you choose NOT to use the
          extended graphics will be shown text: "Paging SysOp...", etc.


Pass to CC?
~~~~~~~~~~~
    "Yes"
     ~~~
        * When a user wishes to PAGE a particular SysOp, the "SysOp Port(s)"
          defined below will be checked for their ID Number. If the SysOp is
          found to be online on one of those ports, the user's "C" command
          will be converted into the appropriate "CC" command instead,
          PROVIDED that the user has ACCESS to USE the "CC" command. If they
          do NOT have access to the "CC" command, then a regular PAGE will
          be attempted.

    "No"
     ~~
        * The "CC" command will NOT be used, and a regular PAGE will be
          attempted.


Allow ChatBacks
~~~~~~~~~~~~~~~
    "No"
     ~~
        * Set to NO and the user will ONLY be allowed to use the Pager
          ONCE per call. They'll be told they've reached the maximum number
          of times they may use the Pager if they attempt a second page.

    "Yes, ?"
     ~~~~~~
        * Where "?" is a 1, 2, or 3, which will allow the user to use the
          Pager ? additional times OVER their initial page, so a setting of
          "1" will allow the user to use the Pager TWICE(their first page,
          PLUS 1 additional page), etc. before being told they've reached
          the maximum amount.


ChatBack Access's
~~~~~~~~~~~~~~~~~
    * The Access Groups that can SKIP the above ChatBack restrictictions. In
      other words, users of these access groups may use the Pager ANY NUMBER
      OF TIMES!


Use 12/24
~~~~~~~~~
    * Set to YES, and all references to TIMES will be made in 12 Hour format
      when using the "PagerMaint"'s SYS command. Set to NO, and you'll be
      shown times in 24 Hour formats.


LogName
~~~~~~~
    * This is the FILENAME to be used to store the PAGER LOG entries when-
      ever a user pages you. The format of the log entry is as follows:

            Handle      Page Date       Reason For Paging       Paged?

    * The "Paged?" column can be one of the following three:

            "N" - You weren't available for chatting.
            "Y" - Available for chatting, and the requestor WAS sent.
            "M" - Not available for chatting, BUT user sent MAIL instead.

    * If multiple SysOps are specified, then this name will be used as the
      STEM of the filename, where the SysOp's ID Number will complete the
      full filename. For instance, ID # 225 would have "LogName225" as the
      name of it's chat log, etc.


Ask After Log View
~~~~~~~~~~~~~~~~~~
    "Query w/ Yes"
     ~~~~~~~~~~~~
        * After log is displayed, you'll be ASKED if you want the log to be
          deleted. The DEFAULT answer(one used when you press RETURN) will
          be YES.

    "Query w/ No"
     ~~~~~~~~~~~
        * Same as above, but default answer will be NO.

    "Answer w/ Yes"
     ~~~~~~~~~~~~~
        * The log will be displayed and then AUTOMATICALLY deleted!

    "Answer w/ No"
     ~~~~~~~~~~~~
        * The log will be displayed and left INTACT on the drive!

        NOTE: Use the new "SYS D" command to DELETE a log file when using
              this setting.


File Send Path
~~~~~~~~~~~~~~
    * This field stores the path that will be initially scanned when you
      choose the "FSend" button, although you can choose to modify this
      path from the requestor as well. Added as a hopeful means of speeding
      up finding a needed file, if you anticipate requests for files that
      are more often found in one particular path, etc. Note that the file
      requestor will ALSO be shown on the FRONT-MOST screen now!


Cost Percentage
~~~~~~~~~~~~~~~
    * Allows you to specify the File Credit cost the user will be charged
      when they download the file(s) you send. Options for 1, 2, and 3
      times the file credits are included. For example, if set to "2 X",
      then the file is charged as if TWO files were downloaded, etc.


Kill Type
~~~~~~~~~
    * This option allows you to specify the GLOBAL setting for what happens
      to the file(s) the user downloads. There are four settings:

        "Don't Kill Download"
         ~~~~~~~~~~~~~~~~~~~
            * File(s) will NOT be deleted after it has been downloaded.

        "Kill After Download"
         ~~~~~~~~~~~~~~~~~~~
            * The file(s) will be DELETED after they have been removed from
              the user's Select List(after being successfully downloaded).

        "After DL or UnSelect"
         ~~~~~~~~~~~~~~~~~~~~
            * We THINK this option means to DELETE the file, either AFTER it
              has been downloaded, OR after it has been UNSELECTED!

        "Kill After Unselected"
         ~~~~~~~~~~~~~~~~~~~~~
            * The file(s) will be DELETED when the user unselects them from
              their Select Buffer, EVEN IF THEY DON'T DOWNLOAD THEM!

    * Be VERY, VERY careful with this setting. If you choose "Kill After
      Download" and a user requests a copy of your BBSTEXT file(or one of
      the other IMPORTANT files), that file will be DELETED when the user
      finishes downloading it. Put mildly, this will come as an UNPLEASANT
      surprise the next time the system goes to use that file!


Font
~~~~
    * The FILENAME, minus the ".font", of the FONT you wish to be used when
      displaying the requestors. The name will be verified and one of the
      point settings will automatically be displayed below, under SIZE.


Size
~~~~
    * The POINT SIZE of the above font you wish used. Your FONTS: directory
      will be scanned to find the available point sizes for the chosen font
      and you can then swap between them by pressing RETURN. If the number
      does NOT change, then that's the only size available for that font!


TEST1
~~~~~
    * When you select this button(or press your "1" key), a requestor will
      pop up on your screen using the chosen font. This way, you can see how
      the chosen font looks in a requestor, before making a final decision.


Speech Options
~~~~~~~~~~~~~~
    * This line should contain the exact settings you would use if you were
      to launch this command from a CLI shell.

    * When you get to the point where the TEXT TO BE STATED should go,
      replace it with "<TXT>" (minus the quotes). The Pager will then use
      the supplied text on the next screen in place of the "<TXT>" given
      here.

    * Here are some examples of possible setups, ALL of which have been
      tested as "working" on my A=2000(2.04 Dos) system:

      Using "Say" program:

            dh0:utilities/say -f -s180 -p170 <TXT>

      Using "SPEAK:" handler: (first, make sure it's MOUNTED)

            echo "<TXT>" >speak:

      Anybody else using something different for speech? Let me know the
      proper parameters and I'll list them here. If there's a way to change
      the settings used with the SPEAK Handler, please let me know!

    * If you wish NOT to use SPEECH, then empty out the string gadget(either
      by deleting with backspace or CTRL-X), then pressing your ENTER key.
      You should see the text: <USE NO SPEECH> which will tell you if you've
      successfully disabled the speech or not.


TEST2
~~~~~
    * Selecting this button(or pressing your "2" key) will allow you to test
      the SPEECH operations of the Pager. This way, you will know if your
      options still need a bit of tweaking before it sounds satisfactory.


Sound Player
~~~~~~~~~~~~
    * This line should contain the exact path and filename of the program
      you will be using to play the SOUNDS specified below.

    * If you wish NOT to use SOUND, then empty out the string gadget(either
      by deleting with backspace or CTRL-X), then pressing your ENTER key.
      You should see the text: <USE NO SOUND> which will tell you if you've
      successfully disabled the sound or not.


TEST3
~~~~~
    * Selecting this button(or pressing your "3" key) will allow you to test
      the SOUND operations of the Pager. You'll then be able to change the
      settings if you find a problem.


SAVE
~~~~
    * Selecting this button(or pressing "S") will simply SAVE the currently
      displayed settings to the config file, WITHOUT exiting the config.


QUIT
~~~~
    * Selecting this button(or pressing "Q") will check to see if changes
      were made(and ask if you'd like them saved), then will exit the Config
      file.


Goto "SysOps" Screen
~~~~~~~~~~~~~~~~~~~~
    * Selecting this button(or pressing "G" or "P") will take you to the
      second screen of the Config Program that deals with the SysOps Info.


TEST PAGER
~~~~~~~~~~
    * Selecting this button(or pressing "T") will test your current Pager
      setup. The following will occur in this order:

        - The SOUND     will be played(if defined).
        - The SPEECH    will be stated(if defined).
        - The REQUESTOR will be shown(mock requestor/buttons do NOT work).


ESC
~~~
    * Pressing your ESCape key will attempt to EXIT the config file. If
      changes were made, you'll first be asked if you wish to SAVE them,
      before you actually leave the program.



On The "SysOps" Screen:
=======================

Multiple SysOps
~~~~~~~~~~~~~~~
    "Yes"
     ~~~
        * This option MUST be set to YES if you will be specifying MORE THAN
          ONE SysOp below.

    "No"
     ~~
        * Set to NO and the user will IMMEDIATELY be asked for a reason to
          CHAT, without being shown the listing of available SysOps.


How Many
~~~~~~~~
    * You should set this value equal to the number of SysOps you wish to be
      defined below. If you try to add a SysOp to a number HIGHER than this
      setting, you will be told to raise this setting.

    * Be VERY CARFUL when DECREASING this setting, as decreasing this setting
      will also DELETE any SysOps whose info comes ABOVE this number. For
      example, if four SysOps were defined below and you dropped this value
      to a 2, when you SAVE the Config, SysOps 3 and 4 will be DELETED from
      the Config File.


Group ?    SysOp(s)
~~~~~~~~~~~~~~~~~~~
    * These settings are used to create groupings of SysOps that can possibly
      be paged by your users. An example will probably be the easiest way to
      describe what these settings do. Let's take 6 SysOps:

            SysOp # 1: Joe Jones  (System SysOp)
            SysOp # 2: Joe Smith  (Message Bases)
            SysOp # 3: Joe Brown  (UD/File Bases)
            SysOp # 4: Joe Schmoe (Pfiles/Doors)
            SysOp # 5: Joe Mamma  (Paid Subscribers)
            SysOp # 6: Joe Belle  (Computer Club)

      In this example, you can see that there are a few SysOps whom you don't
      wish certain users to be able to page. For instance, non-subscribers
      shouldn't be allowed to Page SysOp # 5, non-club members shouldn't be
      allowed SysOp # 6, new users shouldn't be allowed 2 thru 6, etc.

      This is where the GROUPINGS come in. For "Groups", you specify which
      Access Groups should be allowed to Page SysOps stated in "SysOp(s)".

      You might do something like this:

            Group 1: 0          SysOp(s): 1
            Group 2: 1-10       SysOp(s): 1-4
            Group 3: 11-20      SysOp(s): 1-5
            Group 4: 21-        SysOp(s): 1-

      These settings would then mean:

            Users of Access Group 0 could only Page SysOp # 1, while
            users of Groups 1  thru 10 could Page SysOps 1 thru 4.
            Users in Groups 11 thru 20 could Page SysOps 1 thru 5, and
            users with Groups 21 or higher could Page ANY of the SysOps.

      Make sure to NOT include the SAME access group in MORE than one group,
      as the access group found FIRST will be the one used. (For instance,
      if Group 1 above was "0,21", then access group 21 would then ONLY be
      able to Page SysOp # 1, even though in Group 4 you stated they could
      page anyone.)

      If you create a group that has access to page only ONE SysOp, then the
      menu of SysOps will NOT be shown to the user. In other words, the user
      will not even KNOW other SysOps exist!

      You don't have to use all four groupings if you don't want to. If you
      wish not to use any groupings at all, then use these values:

            Group 1: 0-         SysOp(s): 0-

      Even if you will NOT be using multiple SysOps, you should still make
      sure the above is stated.


SysOp # ?
~~~~~~~~~
    * Enter the ID Number, Handle or Real Name for this SysOp. The info will
      be checked for validity and the user's HANDLE will be displayed in
      this area.


Sound to Play
~~~~~~~~~~~~~
    * This should contain the path and filename of the SOUND you wish played
      whenever this SysOp is paged.

    * Clear this field out(delete, backspace, ctrl-x) if you wish to NOT have
      a sound played for this SysOp. You'll see "<USE NO SOUND>" displayed
      if the sound was turned off for this SysOp.

    * You'll see "DISABLED" displayed here if you TOTALLY disabled sound
      for ANY of the SysOps on the first screen of the config, and you will
      NOT be allowed to edit this area until you RE-ENABLE Sound on the
      first screen.



Mail ID's
~~~~~~~~~
    * If a user tries to Page a SysOp, and the "SysOp In" menu item is NOT
      checkmarked, then the user will be asked if they wish to send the
      SysOp MAIL instead. This setting allows you to specify ALTERNATE
      mailboxes or FURTHER mailboxes if you wish the mail sent to another
      (or more than one) ID Number.


Port(s) Online
~~~~~~~~~~~~~~
    * These are the PORTS that this user will MOST LIKELY be calling in on.
      The Pager looks at these ports when a user tries to Page them in case
      the probability for using the "CC" command exists.


Speech
~~~~~~
    * This is the textual string that will replace the "<TXT>" tag given in
      the "Speech Options" on the first screen. Clear this value out if you
      wish to NOT have speech enabled for this SysOp. You'll see the text
      "<USE NO SPEECH>" displayed instead.

    * You'll see "DISABLED" displayed here if you TOTALLY disabled speech
      for ANY of the SysOps on the first screen of the config, and you will
      NOT be allowed to edit this area until you RE-ENABLE Speech on the
      first screen.


TEST SYSOP ?
~~~~~~~~~~~~
    * The above info, as well as the current date and time and the HANDLE
      and REAL NAME of the user using the Config will be used to display
      a test Pager Screen. The following events will occur in this order:

        - The SOUND     will be played(if defined).
        - The SPEECH    will be stated(if defined).
        - The REQUESTOR will be shown(mock requestor/buttons do NOT work).


Forward Two SysOps
~~~~~~~~~~~~~~~~~~
    * Selecting this button(or pressing any of these: F . > + =    ) will
      display the next two SysOps.

    * Note that you won't be able to edit higher SysOps unless your "How
      Many" setting is high enough.


Backwards Two SysOps
~~~~~~~~~~~~~~~~~~~~
    * Selecting this button(or pressing any of these: B , < -    ) will
      display the previous two SysOps.


Previous Screen
~~~~~~~~~~~~~~~
    * Selecting this button(or pressing "P" or "G") will take you back to
      the first config screen.


ReDraw Screen
~~~~~~~~~~~~~
    * Selecting this button(or pressing "R") will redraw the config screen.

    * This may come in handy in two instances:

        - You experience line noise when using the Config from Remote.
        - You enter a Handle or Real Name that was not found in your user
          data file(in which case, you'd be presented with the "Choose User"
          listing request, which will thoroughly destroy the look of your
          config screen).

    * The "R" command is also available from the first config screen, in
      case you experience line noise on that screen as well.


ESC
~~~
    * Pressing your ESCape key will attempt to EXIT the config file. If
      changes were made, you'll first be asked if you wish to SAVE them,
      before you actually leave the program.



How Does This File Work?
~~~~~~~~~~~~~~~~~~~~~~~~
    Please READ the following paragraphs for more IMPORTANT information!

    There is a Priviledge Flag in each user's EA screen that is called:

            "May page the sysop"

    It's located near the bottom of the third column when you enter the
    "Priviledge flags  >>" screen.

    This priviledge flag has three settings:

         No - User is ALWAYS told you  are NOT available for chatting.

        Yes - User is ALWAYS told that you ARE available for chatting.

        Def - User is ONLY told you are available for chatting IF the
              "SysOp Is In" setting from the Control Panel's Port Menu
              has a checkmark in it. (Note that individual ports can
              use different settings, so for example, you could state
              that you are IN on ports 1-3, but OUT on ports 4-12, etc)

    This program was written to look at the setting of this priviledge flag,
and proceed accordingly.

    Use the command "SYS" to change the settings for any of the Port Menus
you wish.

    You may also wish to define two function keys in your CNet CONFIG that
will easily toggle your status settings for ALL Ports. Here's how those keys
would be defined, if you so wished it:

        F1 Key:     SysOp * IN`       (The ` represents a carriage return!)

        F2 Key:     SysOp * OUT`      (The ` represents a carriage return!)


Using the SYS Command:
~~~~~~~~~~~~~~~~~~~~~~
    From a command prompt, type "SYS ?" (minus the quotes). You'll be shown
the help screen for the SYS command. Here's what it looks like in black and
white:

CNet Amiga Pager Maint, v4.0 by Dotoran

Format: <optional> [required]

SYS                                       - List Status for ALL Ports.
SYS <Port(s)>                             - List Specified  Port Status.
SYS <Port(s)> <[S]wap/[T]oggle/[F]lip>    - Swap    Availability Status.
SYS <Port(s)> <[Y]es/[I]n/[A]vailable>    - Enable  Availability Status.
SYS <Port(s)> <[N]o/[O]ut/[U]navailable>  - Disable Availability Status.

SYS <[A]ll>                               - List "OUT" Reasons ALL Days.
SYS <[MO]nday/[TU]esday/[WE]dnesday...>   - List "OUT" Reasons BY Day.
SYS <[MO]/[TU]...>  <[MO]/[TU]...>        - Copy One Day to Another Day.
SYS <[MO]/[TU]...>  <0-23/1a-9a/2p-8p>    - Edit Specific/Ranged Times.

SYS <[C]onfig>                            - Load Pager Config File.
SYS <[L]og/[V]iew>                        - Display Pager Log File.
SYS <[D]elete>                            - Delete  Pager Log File.
SYS <[H]elp/[?]/[/]>                      - Show This Help Menu Again.

Note: Time Ranges should NOT cross Midnight...

<Key>

As you can see, there are MANY different arguments that can be used with the
new SYS command. A brief description of each form follows.

The first five forms of the command deal with the "SysOp Is In" option, which
is located on the port's "Port X" menu:

SYS
~~~
    Typing the command with NO arguments will show you a listing of ALL your
    "SysOp Is In" statuses for all loaded ports.


SYS <Port(s)>
~~~~~~~~~~~~~
    You can optionally specify one or more port numbers if you only wish to
    check the status of specific ports. Use standard CNet Ranging techniques
    if multiple ports will be selected, like this:

        SYS 0-2,12   (List status of ports 0, 1, 2, and 12 only!)


SYS <Port(s)> <[S]wap/[T]oggle/[F]lip>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    By specifying one or more ports as the first argument, followed by the
    letter S (or T or F), you can invert the availability setting for these
    ports, as shown in this example:
                                        SYS 0-2 S

            Status Before Command       Status After Command
            =====================       ====================
            Port 0: UnAvailable         Port 0: Available
            Port 1: Available           Port 1: UnAvailable
            Port 2: Available           Port 2: UnAvailable

    You can type as much of the keyword as you wish, but only the first
    letter is required to activate the command.

    You may also specify a * to signify ALL LOADED PORTS, instead of 0-.


SYS <Port(s)> <[Y]es/[I]n/[A]vailable>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    By specifying one or more ports as the first argument, followed by the
    letter Y (or I or A), you can ENABLE the availability setting for these
    ports, REGARDLESS of the port's present setting. This means that ports
    that do NOT have the "SysOp Is In" option checkmarked WILL, and those
    that DO have it are left untouched.

    You can type as much of the keyword as you wish, but only the first
    letter is required to activate the command.

    You may also specify a * to signify ALL LOADED PORTS, instead of 0-.


SYS <Port(s)> <[N]o/[O]ut/[U]navailable>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    By specifying one or more ports as the first argument, followed by the
    letter N (or O or U), you can DISABLE the availability setting for these
    ports, REGARDLESS of the port's present setting. This means that ports
    that HAVE the "SysOp Is In" option checkmarked will have it's checkmark
    REMOVED, while those that DO NOT have it are left untouched.

    You can type as much of the keyword as you wish, but only the first
    letter is required to activate the command.

    You may also specify a * to signify ALL LOADED PORTS, instead of 0-.


The next four forms deal with viewing and editing the "SysOp OUT" reasons, a
new feature to the CNet Pager:

SYS <[A]ll>
~~~~~~~~~~~
    Typing SYS, followed by "A" (or All) will display the "SysOp OUT" reasons
    defined for ALL hours of ALL days. Whether they are shown in 12-Hour, or
    24-Hour format is adjustable through the CONFIG file.


SYS <[MO]nday/[TU]esday/[WE]dnesday...>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    If you specify the first two letters for a particular day of the week,
    you'll be shown the "SysOp OUT" reasons for JUST THAT DAY.

    You can choose to type the entire name of the day, but only the first
    TWO letters are absolutely required for this option.


SYS <[MO]/[TU]...>  <[MO]/[TU]...>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    If you specify TWO days after the SYS command, you'll be asked if you
    wish to COPY the reasons for the FIRST day as the SECOND day also. For
    example:
                SYS MO TU

    Would take all 24 of MONDAY's reasons, and make them TUESDAY's reasons
    as well. This way, you can take your time defining one day of the week,
    then have a quick way of "cloning" that day into other days, which can
    then be modified to suit.


SYS <[MO]/[TU]...>  <0-23/1a-9a/2p-8p>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Following a DAY parameter as the first argument, you can specify a
    NUMERIC second argument to edit that HOUR of that DAY. If you specify a
    RANGE of hours, then the reason you give will be used for the ENTIRE
    range of hours.

    I've tried to make this hourly ranging as powerful as possible to allow
    those that aren't very familiar with the "Military Style" of hours to
    fall back on a 12 hour standby.

    In Military time, 000 is Midnight, while 2300 is 11 PM. You can use the
    values 0 through 23 to signify the military hour needed. I also included
    the ability to enter 2400 hours as an equivalent to 000 hours.

    In 12 hour mode, you can use the values 1 through 12, followed by either
    an "a" for AM, or a "p" for PM. Use "12a" for Midnight, and "12p" for
    Noon.

    WARNING: You have to remember that you are talking about ONE DAY here.
             Do NOT attempt to CROSS the "MidNight" barrier in a range, as
             you'll discover it does NOT do what you want it to do.

    Here are some examples on correct range usages, which should answer any
    questions you might have concerning the hours:

    SYS mo 7a-3p        What's It Mean?: Monday from 7:00 AM until 3:00 PM.
                        Possible Reason: Working

    SYS tu 11p,12a-6a   What's It Mean?: Tuesday from 11:00 PM until 6:00 AM.
                        Possible Reason: Sleeping

                  NOTE: Notice how the COMMA is used to cross the Midnight
                        barrier, instead of using the "11p-6a" which would
                        NOT work for us!

    SYS sa 9a-12        What's It Mean?: Saturday from 9:00 AM until 12 Noon.
                        Possible Reason: Watching Cartoons!

                  NOTE: In this last example, if a range will END with Noon,
                        then don't include the "p". It's a quirk I haven't
                        been able to track down yet!

SYS <[C]onfig>
~~~~~~~~~~~~~~
    This one you already know about, but I'll mention here that you really
    only need to specify the "C" of CONFIG to enter the Pager Config file.


SYS <[L]og/[V]iew>
~~~~~~~~~~~~~~~~~~
    Typing "L" (or V) as the first parameter will show you the current PAGER
    log, provided there IS one. How you'll be asked to DELETE the log is
    configurable through the CONFIG file.

    If Multiple SysOps have been defined, and User ID # 1 uses this command,
    a listing of SysOps will be displayed. This SysOp can then view ANY of
    the defined Chat Logs.


SYS <[D]elete>
~~~~~~~~~~~~~~
    Typing "D" as the first parameter will ask if you'd like to DELETE the
    current PAGER log. This NEW command option was added in the event you
    chose the "Answer w/ Yes" option for the "Ask After Log View" item in
    the config.

    If Multiple SysOps have been defined, and User ID # 1 uses this command,
    a listing of SysOps will be displayed. This SysOp can then delete ANY of
    the defined Chat Logs.


SYS <[H]elp/[?]/[/]>
~~~~~~~~~~~~~~~~~~~~
    Another one you already know about, but now you'll know you can also
    use "H" or "/" (the unshifted question mark) to get help too!


Note: Time Ranges should NOT cross Midnight...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    One final reminder to NOT ATTEMPT to cross the MIDNIGHT barrier. Use the
    COMMA separator if this gap needs to be crossed in a range specification.


What Does "ScripIt" Do?
~~~~~~~~~~~~~~~~~~~~~~~
    This was the method I decided to go with for TERMINATING the Requestor
    without a SysOp's intervention. The "PagerKILL.sc" file in the "Pager/"
    directory is the script used to CLOSE the requestor. The ScripIt language
    was written for DOS 1.3, however this script works perfectly fine under
    DOS 2.04, however it has NOT been tested under WB 2.1 or 3.?, so you
    MAY or MAY NOT want to experiment to see if it works for you too.

    The ScripIt command file is only used when I need to CLOSE the requestor.
    It is NOT being loaded and stored in memory, so should not add any more
    overhead to your system.

    There are two times a requestor will be closed by ScripIt:

        - If the user who created the Page logs off your bbs.

        - If the requestor was displayed on the screen for LONGER than
          5 minutes and either the same user or another user requests to
          Page the SysOp.

    There should now NEVER be a time when MORE THAN ONE requestor is ever
    displayed on your screen. If you ever see MORE THAN ONE requestor on the
    screen at once, please contact me and tell me how you did it!



Closing Info & Acknowledgments!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Once again, this file was written for CNet Amiga, v3.05c, and MAY or MAY
NOT function on EARLIER versions of CNet. If running an earlier 3.0 version,
then I suggest you upgrade to the latest version, which is FREE for those of
you who REGISTERED your copy of CNet. Those SysOps using v2.63 will have to
continue using my older version of Pager, as THIS version will DEFINATELY
NOT run under v2.63, regardless of any changes that could be made to it.

    David Prothero was the original author of this program, back in the CNet
2.3+ days(before the new MCI system). His program acted as the framework for
this file. His requestor had three buttons, and did not include a way to
inform the user of the SysOp's choice, so I think OVER ALL, this file is even
BETTER than a simple CONVERSION. Thanks Dave for giving me the routines to
look at in order to make use of the "apig.library". Even though I am no longer
using the "apig.library", I still owe Dave thanks for giving me the gumption
to figure out ANY of these libraries!

    I'd like to also thank "Spaceman Spiff", aka Donald Knott, the SysOp who
uploaded Dave's original Pager program, asking if I could take a look at it.
He wanted to use it on his system, and as I was finishing it up, I liked it
so much, I decided to put it up on MY system. Alas, I've found that if a
program is something I like to use on MY system, there's BOUND to be someone
who'd also like it for THEIR system, so ENJOY!

    Thanks also go out to PMK (Peter M. Klein) for his insights as to how to
access the Port Menus of CNet, as well as giving me the SELFILE() routine,
which is how we can CHARGE and KILL the files we send to users using the new
FSEND button.

    Thanks to The Brazilian (Bob Maple) for writing a file called "TISNIUM",
(The Intelligent SysOp Not In User Message), which was the file that gave me
the idea to create the separate, individual "SysOp OUT" messages. His file
was written for the CNet, v2.3? version, so I thought we should ressurrect
this feature as well.

    Thanks to Stig Joergensen of SCALA BBS for his help in figuring out how
to access the FRONT-MOST screen through ARexx.

    And lastly, for v4.0, Thanks to Aunt Bea (Henry Priebe) for telling me
about the "ScripIt" language, which is how we can finally get rid of the
Pager Requestor if the user should log off(or after 5 minutes). He also let
me know the correct usage of the SPEAK handler, after numerous failed attempts
on my part using COPY and LIST, instead of ECHO. Dih!

    Enjoy this file, and if you find any bugs, or wish it had something it
presently does NOT have, then feel free to drop me some feedback!

                                                                 - Dotoran!
In the Future:
~~~~~~~~~~~~~
    I'd also like to make the ability, so that if you select the "CHAT"
button from the requestor, it will open that user's screen(if not already
open), bring that screen to the front, and then immediately enter CHAT
mode for you! I'd still like to do this, however we've discovered a bug
in the OPENDISPLAY ARexx command in CNet, so until this command is fixed,
this addition will be put on hold.
                                                                 - Dotoran!
============================================================================
                    Frontiers BBS (716)/823-9892!
============================================================================
