@Vic: Could we have the following command separate from others that whispers to the calling player/ dm only and is titled "Show Current Status" Rather than "Next Player Up"? Maybe, !cmaster --show,selfcheck ? I could see this as a lot of clutter and confusion while my PCs check their current conditions during combat. Being whispered only to the caller will highlight it so they can discern the output - and will not be shown to others, so they do not get confused as to who the next player is in combat, and will also not result in cluttering chat, thereby adding to the DM task of monitoring relative things, like rolls, during combat. TheAaron wrote an API that may have relevant parts in it you may be able to extract for the how-tos and what nots, albeit it is over my head. This allows !me to be placed at the beginning of a chat entry and have it only whisper to whomever called it. Very useful with chat menus. on('ready', () => { const processInlinerolls = (msg) => { if(_.has(msg,'inlinerolls')){ return _.chain(msg.inlinerolls) .reduce(function(m,v,k){ let ti=_.reduce(v.results.rolls,function(m2,v2){ if(_.has(v2,'table')){ m2.push(_.reduce(v2.results,function(m3,v3){ m3.push(v3.tableItem.name); return m3; },[]).join(', ')); } return m2; },[]).join(', '); m['$[['+k+']]']= (ti.length && ti) || v.results.total || 0; return m; },{}) .reduce(function(m,v,k){ return m.replace(k,v); },msg.content) .value(); } else { return msg.content; } }; let lastPlayerId; on('chat:message', (msg) => { if('api' !== msg.type ){ return; } let args = processInlinerolls(msg).split(/\s+/); switch(args.shift()){ case '!me': { const who=(getObj('player',('API'===msg.playerid ? lastPlayerId : msg.playerid))||{get:()=>'API'}).get('_displayname'); let content = args.join(' '); if(_.has(msg,'rolltemplate') && _.isString(msg.rolltemplate) && msg.rolltemplate.length){ content = content.replace(/\{\{/,'&{template:'+msg.rolltemplate+'} {{'); } sendChat(msg.who,`/w "${who}" ${content}`); } break; default: if(/\s!me\b/.test(msg.content)){ lastPlayerId = msg.playerid; } break; } }); });