So I've exhausted every alteration to this code I can think of, changing where and when sendChat is called, changing and tweaking all the arguments for sendChat, commenting things in and out, trying both inline and /r rolls, etc, etc, etc..... I must've been through 30 different versions of this simple little code trying to get it to roll 3d dice, but no matter what I do, it just results in a text-only roll. I give up. Please help. I can confirm that the 3d dice work perfectly fine when I just type /r 1d20+9 or something in chat directly. I just don't understand why the 3d dice don't work when a roll is made with the API. I thought that the option argument {use3d: true} was supposed to enable it. Is it broken? or am I using it incorrectly. on('ready',()=>{ const diceTest = ()=>{ sendChat('myFunc','diceTest was called! [[2d6]]', null, {use3d:true}); sendChat("Name", "Rolling [[3d6]]", null, {use3d: true}); }; on('chat:message',msg=>{ if('api'===msg.type && /^!diceTest(\b\s|$)/i.test(msg.content)){ //diceTest(); sendChat("player|" + msg.playerid, "/roll 3d6 yay", null, {use3d: true}); } }); });