Today on "Phloxy uses their training to do something for their hobby".
A bit of context:
I am running a decently sized discord roleplay group. This, obviously, brings some maintenance work with it. While I do have a mod team, we're all just adults with either a time consuming degree in the works or working full time. Therefore, we do not have time to fully manage several masterlists.
Now, I imagine some - especially those not familiar with roleplay groups - might ask "Why would you have several lists to begin with?"
That one is easy to answer in comparison to the rest of the questions I ran into today. Simply: We are advertising our server on several platforms and to keep the traffic in our server low (to not be flagged for spam), and also save time for others, we have a link to a masterlist in all of our social medias. However, I truly disliked the way our previous "masterlist hosting" page looked. I also did not want to subject people inside of the server to always having to open a link just to view our masterlist, especially since I know quite a few of them are on mobile.
Therefore, I began todays task:
Creating one source that needs to be updated that then will update every other page and populate them with data.
My initial idea - since my first attempts at creating my own themes on tumblr did leave some knowledge - was to create an iFrame that would display the google docs file. This is where I already ran into my first issue. It would not update properly (that, or I was too impatient).
"Well shit", I thought bitterly as I scratched my nose about this situation. Not to mention, it wouldn't solve my problem that members in discord still had to open a link just to see which characters are reserved, taken or who is most wanted at the moment. Back to the drawing board I went. Well, at least the iFrame looked nice, so I shifted my attention back to discord for now, especially when one member pinged me, asking me when their reservation is due.
So there was the situation with discord. We had previously maintained our list with Sapphire's embedding options. However, that grew a bit tedious to maintain, considering you had to log into the app, go to the right template, etc.... All mods have ADHD; That's a nightmare in the long run even when we set up reminders to do server maintenance - I kid you not, one of my lovely mods did that.
Then we just posted a link but we realised people never looked at it. Sigh.
But it was in that moment that I remembered the webhook function! It was perfect, except... That the webhook could only be used with google sheets instead of docs. So much for my beautiful formatting I spent hours on earlier this morning. Sigh.
Nonetheless, then came my next challenge: Working with AppScripts. I do have some experience with JavaScript and TypeScript, so getting the hang of it wasn't the worst, per se. I still dislike it. A lot. But that might as well just be my personal hatred towards JavaScript. But hooray! After a lot of fiddling, I managed to set up a webhook that now automatically posts the masterlist anew whenever we make changes to the sheet! Hooray, one problem solved.
Then came my attempt at automating it on tumblr too.
I will summarise my pain as follows: Whoever cursed about discord's API should try getting tumblr's API to work. After three cups of coffee, one puppy cuddle break and one attempt to smack my head against my wall, I gave up. Tumblr, why do you still mostly use OAuth1 a? F- you.
Anyway. I then ended up simply linking the lists in my sheet to my doc that is now visible on my tumblr page.
Am I fully satisfied? Not quite. I would have loved to wrestle Tumblr's API into submission but I only have so many grey hairs I could pluck before I go bald.
At the very least, it's working. My members are excited about the in-server masterlist, my mods are ecstatic about the custom theme alongside the embedded masterlist and I am now going to take a nap.