home *** CD-ROM | disk | FTP | other *** search
- ╔══════════════════════╗
- ║ Welcome to Otto! ║
- ║ Ver 1.1 2/12/92 ║
- ║ (c) 1992 RSE Inc ║
- ╚══════════════════════╝
-
- Otto lets you automate a wide variety of tasks. I created it to help me
- take advantage of Compuserve's new basic features but it can be used for
- virtually anything.
-
- If you use "Autosig" as your communications program you can see for
- yourself what Otto can do. Use any ASCII editor to edit the first few
- lines of "DOALL" to reflect what subdirectory AUTOSIG.EXE resides in.
- Then enter "otto doall" at the DOS prompt. (If for any reason you want
- to abort the process press both shift keys at the same time) Otto will
- send out your e-mail (if you have any), gather your e-mail, get some
- stock quotes, get the latest news and sport scores, download some weather
- maps, and get the latest weather forecast. And Otto can do all this
- unattended at 5 AM so its all waiting for you when you wake up!
-
- Although this "DOALL" script only works for users of "Autosig", later on
- we will discuss how you can modify "DOALL" to work with your
- communications program. And of course we will discuss how you can create
- your own scripts thereby automating virtually any task!
-
- The bad news is Otto uses scripts. If you've tried writing scripts
- before you know what a pain it can be. The *good* news is that Otto has
- just a few simple script commands making it very easy to learn and use.
- The *GREAT* news is that Otto also has a script recorder that creates
- scripts on the fly as you go about doing the task you want to automate!
- It records what you're doing as you're doing it. Once Otto creates the
- script you can go back and edit it to make any desired changes. Sure
- beats trying to create scripts from scratch.
-
- Some of you may be familiar with our "Playback" program which is also a
- task automator. Playback records your keystrokes with the delays intact
- and lets you turn these "keyfiles" into small .COM programs. You can
- playback they keyfiles via hot key, from the DOS prompt, from the MENU
- program or at some specified times. The MENU program also lets you add
- notes to your keyfiles, adjust their playback, edit them and much more.
- But the point is Playback makes it's decisions on when to stuff
- keystrokes based on the delays between keystrokes.
-
- On the other hand, Otto bases its decisions primarily on what appears on
- the screen. This is good for situations where the delays between
- keyboard inputs may vary from use to use (like using your modem). On the
- other hand, since you can only read text from a text screen, Otto works
- best when the application you're using is text based and not graphics
- based. On the plus side, Otto can incorporate decision making whereas
- Playback can't. For example if you try to log-on but the line is busy,
- Otto can have the program re-dial instead of pressing ahead as tho the
- connection had been made. If Otto doesn't fit your needs chances are
- Playback will. You can find Playback in Library 3 of Compuserve's IBMSYS
- forum with the name PB??.EXE with ?? being the latest version number.
-
- == How Much? ==
-
- Otto is shareware. As such you are given the program without obligation
- in order to evaluate it. If after a 3 week evaluation you decide to
- continue using it then you are obligated to become a registered user.
- You register by sending $19.95 + $1 shipping (add $1 for 3.5 disk,
- $5 for overseas orders) to:
-
- RSE Otto Registration | Visa or Mastercard
- 1157 57th Drive SE | Call or FAX (206) 939-4105
- Auburn, WA 98002 | Compuserve: 72371,1557
-
- As a registered user you'll get the following additional benefits:
-
- 1. Technical support and the latest version of Otto.
-
- 2. The unregistered versions of some of our other shareware
- programs including Playback, Nabbit, FileNotes, Remind Me!,
- Trash-It, BriteLine, and others.
-
- 3. No more "please register" messages.
-
- Because Otto is shareware you're encouraged to give copies of it to
- others as long as you don't modify the program or these instructions and
- you don't charge for the copies. The only exception to the last rule is
- for shareware vendors who may charge a reasonable distribution fee.
-
- == Getting Started ==
-
- * Put OTTO.COM in one of the subdirectories listed in the PATH statement in
- your AUTOEXEC.BAT file.
-
- === Creating your own scripts ===
-
- == Definitions: ===
-
- The following symbols are used in the format description of the various
- commands:
-
- [message] specifies data that appears on the screen. Must be
- enclosed quotes.
-
- [delay] delay in seconds
-
- [evaluator] must be either "=" or "<>"
-
- [label] specifies a location in the script. Must be less than
- eight characters long and be enclosed within "*"s. For
- example: *GetMail*
-
- [location] You tell Otto where on the screen to look for a message
- in a variety of ways. If you specify "cursor" then Otto
- looks for the message directly in front of the cursor. For example if
- your screen looks like this:
-
- Enter Name: _
-
- then the cursor message could be "Enter Name: ", "Name: ", ": ", or even
- " ". Notice I always included the space right in front of the cursor.
- Therefore the command:
-
- waitfor cursor "Name: "
-
- would wait until "name: "appears directly before the cursor. The
- uppercase/lowercase status of the message is irrelevant as the "message"
- comparison is case insensitive.
-
- You can also specify the message location by screen location. Enclose
- the coordinates in ROW,COLUMN format within (). For example:
-
- waitfor (4,0) "City: "
-
- would wait until "City: " appears at row 4, column 0.
-
- Both rows and columns begin at 0, therefore the upper left corner of the
- screen would be (0,0). If you're more comfortable using COLUMN, ROW
- than ROW, COLUMN then use DEBUG to change byte 0F hex of OTTO.COM to a
- value of 1.
-
- You can also specify message location in offsets from the cursor
- location. You do this by specifying + or - for values that are to be
- cursor offsets. For example:
-
- waitfor (-1,+2) "message"
-
- would wait until "message" appeared at cursor row -1 and cursor column
- +2. You MUST use a + or - to signify an offset. Let's say you want to
- specify the message location as the same column as the cursor but two
- rows up. You would use (-2,+0). If you used (-2,0) then Otto would look
- two rows up but at column 0 since the lack of a + or - on the 0
- signifies the 0 is an absolute location. Make sure you understand the
- following examples:
-
- (3,1) Row 3, Column 1
- (0,-3) Row 0, Cursor column-3
- (+0,-3) Cursor row, Cursor column-3
- (-1,-2) Cursor row-1, Cursor column-2
- (+2,3) Cursor row+2, Column 3
-
- == Some ground rules ==
-
- * Otto only looks at the first letter of each command. Therefore the
- command: waitfor cursor "message"
- could be abbreviated to: w c "message"
-
- * You must leave a space between each component of the message:
-
- w c "message" ;would be correct
- wc "message" ;would generate an error.
-
- * Use only one command per line, except for " ; " which allows you to add
- comments to your scripts.
-
- The following are the script commands. Hopefully between the
- explanations, examples, and sample scripts you can figure out what's
- going on.
-
- } WAITFOR Format: waitfor [location] [message]
- waitfor [delay]
-
- Waits for a condition to be met. The condition can be either a delay
- (specified in seconds) or a "message" match.
-
- Examples:
-
- waitfor cursor "message" ;wait until "message" appears directly
- ;before cursor
- waitfor (0,3) "message" ;wait until "message" appears at Row 0, Col 3
- waitfor (-2,+0) "message" ;wait until "message" appears at cursor row-2
- ;and cursor column
- waitfor 2.5 ;wait for 2.5 seconds
-
-
- } IF/THEN Format: if [location] [evaluator] [message] then *label*
-
- If the conditions are met Otto jumps to the line after *label*.
- The "then" portion is optional. "<>" means not equal.
-
- Examples:
-
- if cursor = "message" then *GetMail*
- if (0,3) = "message" then *GetStock*
- if (-2,+0) <> "message" then *GetNews*
-
-
- } JUMP Format: jmp *label*
-
- Jumps to the line following *label*.
-
- Example: jmp *GetMail* ;jumps to line after *GetMail* line
-
-
- } GOSUB Format: gosub *label*
-
- Goes to *label* but returns when "return" is encountered.
-
- Example: gosub *getmail*
-
-
- } RETURN Format: return
-
- Returns from a gosub routine. In other words, returns to the line after
- the line that "gosub"ed to this routine.
-
-
- } CALL Format: call "script"
-
- Runs the script file specified. When that script ends then Otto returns
- to the next line of this (the calling) script.
-
-
- } END Format: End
-
- MUST be used to signal the end of a script.
-
-
- } ; Format: ;
-
- Used to add comments to your scripts. Otto ignores everything after the
- semicolon.
-
-
- } Stuffing keystrokes Format: "keystrokes"
-
- Takes the keystrokes enclosed within quotes and stuffs them into the
- keyboard. Use | to specify a carriage return. Characters after the |
- (carriage return) will be ignored so put them on a new line.
-
- Examples:
-
- "scott chaney" stuffs "scott chaney" with no carriage return
- "go mail|" stuffs "go mail" and follows with carriage return
- "Φ14 helloΦ15 Φ15 world|" PgDn "hello" RtArw RtArw "world" carriage
- return. See below.
-
- You can add special keys like Escape, the function keys, the cursor
- keys, and others, into your scripts by using a special notation. The
- process for inserting a special key is:
-
- * Hold down the Alt Key
- * enter 232 on the numeric keypad
- * release the Alt key
- * enter the number of the special key as indicated in the following table
- * follow your input with a space
-
- == Special Character Table ==
-
- To enter a special character: Enter Alt-232, enter the character # (as
- derived from this table) and follow the input with a space.
-
- Examples: Alt-F3 = Φ43 Ctrl-PgDn = Φ34 Alt-J = Φ92 Esc = Φ53
-
- Normal Ctrl Alt Shift │ Alt Alt Alt
- F1 1 21 41 61 │ 1 71 A 83 N 96
- F2 2 22 42 62 │ 2 72 B 84 O 97
- F3 3 23 43 63 │ 3 73 C 85 P 98
- F4 4 24 44 64 │ 4 74 D 86 Q 99
- F5 5 25 45 65 │ 5 75 E 87 R 100
- F6 6 26 46 66 │ 6 76 F 88 S 101
- F7 7 27 47 67 │ 7 77 G 89 T 102
- F8 8 28 48 68 │ 8 78 H 90 U 103
- F9 9 29 49 69 │ 9 79 I 91 V 104
- F10 10 30 50 70 │ 0 80 J 92 W 105
- │ - 81 K 93 X 106
- Home 11 31 │ = 82 L 94 Y 107
- End 12 32 │ M 95 Z 108
- PgUp 13 33
- PgDn 14 34
- RtArw 15 35
- LfArw 16 36
- UpArw 17
- DnArw 18
- Ins 19
- Del 20
- Tab 51 60
- BS 52 ;try non-special character: (alt 8) first
- Esc 53 ;try non-special character: (Alt 27) first
-
- == Shift States ==
-
- There may be times when special keys are not enough. Some programs don't
- look for the special keys when looking for Ctrl and/or Alt key
- combinations. Instead they examine a "shift status" byte in memory that
- tells them if the Ctrl and/or Alt keys are being pressed. Then they look
- in the buffer to see which key has been pressed with it. In these cases
- they won't act on the special keys unless the "shift status" byte signals
- that Ctrl and/or Alt have been pressed. Therefore Otto lets you change
- this "shift status" byte. To change the shift status byte:
-
- 1. Press Alt and while holding it down enter 212 on the numeric keypad.
- This produces the character: ╘
-
- 2. Then enter 1 for Alt, 2 for Ctrl, and 3 for Ctrl and Alt. Use 0 to
- set things back to normal.
-
- 3. Follow your input with a space.
-
- IMPORTANT: Make sure you always reset the "shift status" byte back to 0
- when you're done by using: ╘0 (alt-212 zero)
-
- Example: "╘3 D╘0" would simulate Ctrl-Alt-D being pressed.
-
- In the above example "╘3 " signals Ctrl and Alt both being pressed, then
- the D key is entered, then the shift state is reset using "╘0 ".
-
-
- === Recording a script ===
-
- You could create your own scripts from scratch, but it's a lot easier to
- have Otto record a script for you. Then you need only go in and massage
- a few items in order to get it to run correctly.
-
- * To record a script run Otto using the "/r" command line switch.
-
- Example: Otto new1 /r
-
- * To start recording press Ctrl-LShft-RShft. You'll hear an ascending
- series of tones which indicate the recording has begun.
-
- * To stop recording press either LShft-RShft or Ctrl-LShft-RShft again.
- You'll hear a descending series of tones indicating the recording has
- stopped.
-
- You may stop a recording and then start it again. If you do, the new
- recording will be appended to the end of the previous recording.
-
- A new line is created in the script file every time the Enter key is
- pressed -or- whenever a delay between keystrokes exceeds 3 seconds.
- Therefore on single key inputs (like pressing Y or N for a Yes/No
- response) it's best to wait three seconds before pressing the key.
-
- Chances are your recorded scripts won't run correctly until you "massage"
- them a little. The reason is that Otto doesn't know what's important and
- what isn't. He always assumes that the cursor message is the critical
- item. Often it's not. In addition, at times there are critical delays
- that are important. Otto won't pick up on those either. Here are some
- hints for getting your scripts to run correctly:
-
- * Before you do anything print out your script so you can follow along as
- it replays and you can see where it is hanging up.
-
- * Check the "waitfor cursor" messages to see if they are what Otto should
- be waiting for. It may well be that Otto should be waiting for a message
- that appears elsewhere on the screen.
-
- * Otto doesn't record delays between inputs, so check the script to see
- if there are any delays you need to insert between keystrokes or inputs.
-
- * If your Escapes and/or Backspaces aren't working correctly then you may
- want to subsitute "Φ53 " for "" (Escape) or "Φ52 " for "" (backspace).
-
- * And lastly, make sure a new "waitfor" line is created whenever you need
- one. Remember, a new "waitfor" line is only created when you press the
- Enter key or the delay between keystrokes exceeds 3 seconds. That's why
- for those single key inputs (function keys, cursor keys, Y/N responses,
- etc..) where you want "waitfor" lines generated you need to wait three
- seconds before pushing the key.
-
- === Running a script ===
-
- To begin running a script:
-
- * Move to the subdirectory where the script file is located
-
- * enter "OTTO filename" where "filename" is the name of the script file
- you want to run.
-
- You MUST move to the subdirectory where the script file is located when
- you enter the "OTTO ..." command. DO NOT specify the full pathname of
- the script file.
-
- == Aborting the running of a script ==
-
- You can abort the running of a script by pressing the Left Shift key and
- the Right Shift key at the same time.
-
- == Hot key activation ==
-
- There may be times when you don't want the script to begin immediately
- but would like it to start when you press a hot key. You do this by
- using the "/h" command line option when you start the program. For
- example, entering "otto store /h" tells Otto not to begin stuffing the
- STORE file until you press the hot key. The hot key is: Ctrl-LShift-
- RShift. In other words, if you use the "/h" (h for "h"ot key activation)
- command line option you initiate the running of the script by pressing
- the Ctrl key and both shift keys all at the same time.
-
- == Time activated scripts ==
-
- If you'd like the running of your script to begin automatically at some
- later time you use the command line option "/####" where #### is a four
- digit number designating the time you want the stuffing to begin. The
- #### must be in 24 hour military time (3am = 0300, 11:30pm = 2330) and
- MUST be 4 digits long. For example, entering "otto doall /0200" would
- cause the "DOALL" script to begin activating automatically at 2am.
-
- == Key stuffing speed ==
-
- Normally Otto stuffs keys at the rather slow pace of 18 characters a
- second. The reason is that some programs take keystrokes out of the
- buffer faster that they can use them (go figure?) and this "slow" speed
- may give them time to catch up before the next keystroke comes.
-
- However, if you live on the wild side you might want to stuff the
- keystrokes in faster. You do this by using the "/f" (f for fast) command
- line option. Otto will then stuff the keystokes in at about 145
- characters a second.
-
- == Uninstalling Otto ==
-
- Otto is a small TSR that uses only about 7K of RAM. Once you run it,
- this 7K portion of the program remains in memory until you re-boot or
- uninstall it using the "/u" command line option. In other words, to
- uninstall Otto enter "otto /u" at the DOS prompt. You MUST remove TSR's
- in the reverse order in which they were loaded or you may lock up your
- computer, thus requiring a re-boot.
-
- == The script display line ==
-
- You'll notice that when you run your scripts Otto often displays the
- current script line in the upper right corner of the screen. This can be
- invaluable when it comes time for you to check out your scripts. Only
- "waitfor" commands are displayed. Otto acts upon all the other commands
- so fast that you wouldn't see them even if they were displayed. Because
- many programs use the top row of the display for menu selections we
- elected to have Otto display the script lines on the second row.
-
- You can turn off the script display by using the "/w" command line
- option.
-
- === Sample Scripts ===
-
- The following sample scripts have been supplied for your use: DOALL,
- GETNEWS, GETSTOCK, GETMAP, and WEATHER. Users of "Autosig" will only
- have to make small changes to get them to work correctly. If you use
- another communications program then you'll need to make some more
- changes, primarily concerning how downloads are initiated and concluded.
- I've put notes in the script files indicating what sections are "Autosig"
- unique and will need changing.
-
- By the way, "Autosig" is a great program that excels in handling e-mail
- and forum message traffic. If your communications program doesn't
- automate e-mail operations then you'll definitely want to get your hands
- on "Autosig". You can find it in the "AUTOSIG" library of the IMBCOM
- forum on Compuserve. And the best part? The program is free, therefore
- your only cost will be the cost of downloading it.
-
- The script files can be a real aid in learning how to use the script
- commands. You might want to evaluate them until you can understand
- exactly what is going on.
-
- == Help ==
-
- If you forget any of Otto's command line options, just enter "otto /?" at
- the DOS prompt and Otto will provide you with a summary.
-
- == Problems ==
-
- "Your scripts don't run on my computer" The scripts are designed for
- users of "Autosig" and even then will need some minor modifications to
- run correctly. However, all these differences are specified within the
- scripts themselves, making it easy for you to make the changes necessary
- to have them run with your communications program.
-
- "I just recorded a script and it doesn't run correctly." Several things
- to try: first try running the script with the /s command line option in
- order to slow it down. Secondly, you might want to try replacing the
- Escape and/or backspace characters with their special character
- equivalents (Esc:change to Φ53 ,BS:change to Φ52 ).
-
- "My scripts still don't work" Check the ground rules mentioned at the
- start of the script command descriptions. In addition, triple check all
- your syntax and make sure everything is in accordance with the rules
- specified. For programmers it is often habit to use commands or command
- syntax that is not correct for Otto. For example, there is a tendency to
- end an IF/THEN command with another command instead of a label. Big no
- no.
-
- == Technical Support ==
-
- Registered users can call (206) 939-4105 for technical support or contact
- us on CIS: 72371,1557
-
- Software design is an evolutionary process. A good program is always
- being updated to correct bugs and add new features. If you'd like to
- tell us how we could make Otto better please send us a letter or e-mail.
- Although we can't respond personally to your letters I do guarantee your
- suggestions will be seriously considered.
-
- == Thanks ==
-
- Thank you for your time. I hope you find Otto helpful and worthy of your
- support.
-
- == Legal ==
-
- Otto is copyrighted 1992 by RSE Inc. "Otto" is an unregistered
- trademark of RSE Inc.
-
- RSE Inc. specifically disclaims all warranties pertaining to this
- software. The software is released "as is".
-
-