So, 37.3 minutes later the alias finishes, eh? Are you playing the game or running on automatic while you go shopping?
You can do that with a bit of scripting. This is one way, see below.
<aliases>
<alias
match="test"
enabled="y"
send_to="12"
sequence="100"
>
<send>
require "wait"
things_I_want_to_do = {
"strut self",
"dance",
"groan ; smile ; boggle",
"look",
-- and so on
} -- end of things to do
wait.make (function ()
stop = false
for _, item in ipairs (things_I_want_to_do) do
if stop then
break
end -- if stopping wanted
Execute (item)
wait.time (1.8)
end -- for
end) -- end of anonymous function
</send>
</alias>
</aliases>
For advice on how to copy the above, and paste it into MUSHclient, please see
Pasting XML.
That has a table of the things you want to send (so put your 800 lines there).
It also checks for a "stop" variable, in case you happen to want to stop doing whatever-it-is you are doing before the 37 minutes are up.
A "stop" alias sets that variable:
<aliases>
<alias
match="stop"
enabled="y"
send_to="12"
sequence="100"
>
<send>
stop = true
</send>
</alias>
</aliases>
If you don't want to convert your 800 lines into a table you could put a long string into the script and read it line by line, like this:
<aliases>
<alias
match="test"
enabled="y"
send_to="12"
sequence="100"
>
<send>
require "wait"
require "getlines"
-- big string of things to be sent, use command stacking if necessary
things_I_want_to_do = [[
strut self
dance
groan ; smile ; boggle
look
]] -- end of things to do
-- function to do pauses in scripts
wait.make (function ()
stop = false
for line in getlines (things_I_want_to_do) do
if stop then
break
end -- if stopping wanted
Execute (line)
wait.time (1.8) -- wait 1.8 seconds
end -- for
end) -- end of anonymous function
</send>
</alias>
</aliases>
Sending to "Execute" invokes the command processor, which therefore does command stacking.
See
http://www.gammon.com.au/forum/?id=4956 for the background about building pauses into scripts.