say

The say command is used to send characters to the remote system from command mode, without having to enter talk mode. This is especially useful in scripts, when you may need to send the remote system commands or input that normally would be typed by a user while in talk mode.

The format of the say command is
 

say "string"

where string is the characters you want to send to the remote system, surrounded by a pair of double quotes " ".

You can use ^ (or the current meta character) to say control characters: ^M is control-M, or carriage return. You can send non-ASCII characters (characters with the high or eighth bit on) by using the ^ or meta character plus the decimal value of that character: ^129 is control-A with the high bit on [1 (control-A) + 128 (high bit on)].

You can say the contents of one of Autolog's macros. For example, if $1 contains "MY PASSWORD", you could use this say command:
 

say "$1^M"

to send your password and a carriage return.

In order to send a " (double quote) character, use "" (two double quotes in a row):
 

say "He said ""Hello""."

In order to send a $ (dollar sign) character, use $$ (two dollar signs):
 

say "$$1.99"

To see the remote system's response to what you sent using say, use the if, until, or peek commands. Here's a small example script file that sends a name and a password in response to prompts for this information from the remote system.

fold true                  ; disregard case
say "^M"                   ; send a carriage return
until "enter name:" 20     ; wait for name prompt
if err0 # 0 goto problem   ; check to see if we got expected prompt
say "my name^M"            ; give name & carriage return
until "enter password:" 10 ; wait for password prompt
if err0 # 0 goto problem   ; check to see if we got expected prompt
say "my password^M"        ; give password & carriage return
:X                         ; end here if everything okay
problem:
:<Sorry, couldn't sign on. Please try again later>