----------------------
UPDATE 2024-06-19
It seems I got it working. I've updated my .py files and added a script to call Botany and immediatly close it afterwards. This reads the visitors.json file and waters the plant.
----------------------
UPDATE 2024-06-12
It seems to work like a charm now. Not sure if it's because I changed something or not.
Anyway it's totally possible while tinkering with trying to call Botany from the watering script to force refresh the water status I caused it to stay open in the background and I'm not sure how to close it again - IF that is what happened...
-----------------------
UPDATE 2024-06-10
My scripts do not seem to work. I don't fully seem to understand how the watering works.
I'll keep the post as a reference :)
-------------------------


Since I'm new to this whole shared server thing I keep discovering new things.
One of the new things is Botany, a small game where you have to water a plant. It's also possible to visit and water someone else his plant.
I've seen gemlogs with a link to water the plant so obviously I wanted this too so my visitors can help keeping my plant alive. 
Finding documentation on how to do this was pretty hard and I don't have enough developer experience (or time) to go over the entire code in the Github repo. I started tinkering and found several JSON files in the .botany folder in my home folder.

visitors.json seems to be a log of who visited your plant. After some experimenting it seems that it gets cleared from time to time. I suspect that this is when the app checks and then waters the plant and clears the log.
username_plant_data.json seems to be the status of the plant. It also appears not to be live, but rather a snapshot of the plant status.
username_plant.dat seems like a data file with your plant's actual data but does not seem to be easily readable.

I read that we could write server side scripts on gemini so I started in python. My python is pretty rusty since it's about 4 years ago I did anything with it so please don't judge. I'm also not a developer but rather a sysadmin with some scripting experience.
These scripts seem to work, but not a 100% of the time. I'm not sure whether it's because of browser caching or my logic is failing me.

Since I don't know how to format scripts in Gopher (probably not possible) I just omitted them. Visit my gemlog if you want to see them :)