You know since you are are a mentor, you could create a simple API command that atakes the marco name as a parameter. When that API is called, it basically just uses sendChat() to call the macro. Something like the following  on("chat:message", function(msg) {     var msgTxt = msg.content;     var cmd = msgTxt.split(/\s+/);     var lcmd = cmd[0];     log(cmd);     if(lcmd=="!apimacro"){     var mycmd = msg.content.replace("!apimacro ",'');     sendChat(msg.who,mycmd);     //sendChat(msg.who,"#test");     } });   Then in the chat window you could the following.  [Attack](!apimacro #attack_1)