Thanks for the explanation, that clears things up a lot.
For starters you should edit the shell script started by the cronjobs so that every bot-task gets its stdout and stderr redirected to a separate logfile. e.g.:
/home/botuser/useful-bot >> /var/log/useful-bot.log 2>&1
the user account the script runs under needs to have write access to the folder where the logs are stored.
If something throws, the backtraces should now go into the logfiles.
Then you should set up logrotate, hopefully that's installed on the system. This will keep the harddrive from filling up.
https://linuxconfig.org/logrotate
If the system doesn't have logrotate, it can be emulated by using the day of the month as part of the filename.
Rotating the logs daily and keeping a months worth of logs makes it easier to see if something crashed.
Now that logging is set up, all that remains is keeping an eye on them to look for problems. Grepping the logs for the word "Traceback" is one way to do that.
Feel free to send me some tracebacks. I'll see if I can make a fix and send back, but no guarantees.
It is possible that due to the lack of error checking some of the scripts that assumes well-formed wikitext such as the ones that deal with the property proposals might be vulnerable to locking up or produce bad output if you give them bad input. If this happens it might be useful to manually log which wikipage and revision is being parsed to make it possible to recreate the condition that led to the issue.