I'd give users several megabytes of command storage, which features LRU forgetting: least recently used command is erased when a new command is remembered, and the storage is full.
Store shit in that, if that floats your boat.
Rate limiting is obviously applicable here; a normal user doesn't generate large numbers of commands in a short period.