OK... so it looks like you're trying to do a chat menu. There are a couple of things that are going to make that tricky, but nothing that should stop us, I don't think.
So, about buttons in general... a couple of things...
First, to have a button execute a script, you have to include the HTML replacement for a line break:
...after the initial bang. So the basic syntax would look like:
[Label](! !script-command --args)
But yours is a little more complex because you're doing a batch. The batch still requires different commands to be broken across lines -- which is fine, because breaking lines still works inside a button -- and if you don't like that we can do it with "new-line" metascript tags.
An example of one of your buttons including line breaks would look like:
[Label](! !{{
!Spawn --name|04-Red --tokenName|ClockTemporaryName --offset|1,0 --size|1,1 --order|front --layer|objects --fx|glow-blood
(^)!token-mod --set name|"?{New name}" tooltip|"?{New name}" --on show_tooltip showname {^&delay .2} {^&select ClockTemporaryName}
}})
And here is the same button without line breaks, using the metascript "new-line" tag:
[Label](! !{{!Spawn --name|04-Red --tokenName|ClockTemporaryName --offset|1,0 --size|1,1 --order|front --layer|objects --fx|glow-blood {&nl} (^)!token-mod --set name|"?{New name}" tooltip|"?{New name}" --on show_tooltip showname {^&delay .2} {^&select ClockTemporaryName} }})
Here are a couple of things to bear in mind as you replicate that across the rest of your buttons:
1) I used the label "Label" just because it looks like you used an emoji that didn't survive being pasted into the forums, so you can put your emoji back in without fear of breaking this syntax
2) The syntax for including a space in a Token-Mod command is to enclose it in quotation marks... however a quotation mark will prematurely terminate your button syntax and the command won't work. For this reason, you can see I replaced every " with "
3) Since we don't want the query to fire when we send the parent message (the chat menu) -- we want it to fire when you click a button for an individual command -- I replaced the question mark character with the HTML variation ?
4) Within a batch command, the syntax for deferring the resolution of a construction until an individual outbound command is dispatched (for instance, waiting until the specific command for TokenMod is sent) is to declare a character (or characters) you will use to "hide" the construction. Since something like:
{&delay .2}
...would be detected straightaway if it weren't deferred, it would be applied to the parent message (the batch). That isn't where we want it. We want to *specifically* delay the TokenMod command so that Spawn has time to add the token to the game board. Therefore, we have to "hide" it by adding text. The caret will work:
{^&delay .2}
...and the way we instruct the batch to remove that character is to declare it within parentheses at the beginning of the TokenMod line:
(^)!token-mod ...{^&delay .2}
Everywhere that character is found, it will be removed prior to sending the TokenMod message. That means when the TokenMod message is received, the DELAY tag will be recognized.
Hopefully that all made sense, but even if it didn't, this is the part that matters: the closing parentheses is *also* a character that will prematurely end your button syntax, so you have to perform an HTML replacement there, too... using )
That should get your buttons working. If you notice that you're getting Spawn to work but not TokenMod, it might be that you have to up that time in the DELAY tag (currently we're allowing .2 seconds... you could up that to .3 or .4 and probably still not notice the wait).
If you have trouble converting the rest of your buttons given this information, let me know... but this should get you working!