If this works as intended, then I've learned something:
if (currentlyIdle and millis() - lastAction > 20000L) {
. . .
}
Edit:
Well I found this, so I have learned something:
Operator Keyword for &&
The and operator is the text equivalent of &&. There are two ways to access the and operator in your programs: include the header file iso646.h, or compile with the /Za (Disable language extensions) compiler option.