So here's more or less what you'd need for the syntax for a dicebot:
X [dec] [tX] [Xa] [XsY] [[X]dY] [[X]rY] [[X]cY] [Xa[n]] [[X]eY] [XvY] [rnon[X]] [nX] [trips] [insp [und]]
tX - target number X
dec - decisive damage (doesn't have double 10s)
Xa - convert X dice directly into successes
XsY - add up to X of Y number to the result pool
[X]dY - for up to X dice, double Y; X defaults to infinite
[X]rY - for up to X dice, reroll Y; X defaults to infinite
[X]cY - for up to X of result Y, reroll non-successes, and if any come up as Y also reroll them; X defaults to infinite
[X]a[n] - for up to X dice, reroll non-successes (if n, except for any dice already rerolled by [X]rY), and for any of these that come up a success reroll another non-success; X defaults to infinite
[X]eY - for up to X dice, recur Y; X defaults to infinite
XvY - convert X non-successes into Y, starting from 1 up
rnon[X] - reroll non-successes up to X times (or 1 time default)
nX - convert up to X double successes to single successes
trips - apply the three of a kind rule from First Movement of the Demiurge
insp - apply the extra dice for three successes rule of Divine Inspiration of Craft
und - apply the extra extra dice for three successes rule of Holistic Miracle Understanding
The output would need to include at a minimum (for interaction with other Charm effects):
- the final dice pool
- the number of successes
- the number of successes with non-decisive double 10s but without charm doubles
- the number of successes that came from the [X]cY mechanic
- the total count of each number before rerolls
- the total count of each number having come up any time during the rolling
- the total count of doubled numbers having come up any time during rolling
Stuff that you don't actually need to display separately because it's in the final dice pool, but that at a minimum the player will have to keep track of include:
- the total final count of each number
- if the final roll includes exactly three sixes
Note that I'm probably missing at least some dice bullshit here.