Try breaking the pieces down into smaller chunks just for testing.

on *:TEXT:test1*:?: { /privmsg $comchan($nick,1) Test1 $2- }

It also sometimes helps to add local echos for variables so YOU know what mIRC is actually seeing (I do this a lot while building new code). Also, at least while building the command you might want to put everything on it's own line in case you get an error message back.

on *:TEXT:test1*:?: {
echo -s comchan is $comchan($nick,1) nick is $nick 2- is $2-
privmsg $comchan($nick,1) Test1 $2-

Once you get that command working, then try adding in the op check.

On whisper response remote access commands, I always just fill another variable rather than use a direct comchan. This is so I can use whisper & main room response commands in the same command.

on *:TEXT:!kick*:*: { set %chan $comchan($nick,1) | kick %chan $2 $3- }

This command, for example, allows someone to type in the main room OR via whisper !kick user reason.

Of course, I wouldn't recommend that because that command has no access limitations. smile