Programming help automating citizen slates


In an effort to automate the parts of the show that are recurring and unchanging, I’m hoping we have a programmer or two that may be able to help with the citizen slates from Patreon.

Right now it is a manual process to pull the slates and create photoshop files that we then play back in the show. I’m hoping someone would be able to hit the Patreon API and have a web page (or similar) auto generate the slate for us. Since we go from slate to slate in the system it would need to render cleanly as it loads. We use CasparCG as the play out system, so maybe. There is a clever way to tie in there.



I’ll take a look at the API tomorrow when I’m more awake … I hope.


This looks like a simple enough starting point for PHP.
It just dumps all the patron names and pledges. Add a bit of code to group them according to pledge amount (or some other characteristic, didn’t explore the API yet… ‘category’ maybe?) and create the patreon slate web page for each group. Know nothing about CasparCG… would css styling work with it?

Not sure how to test it though, as it needs OAuth authentication of the creator. Maybe they have a sandbox environment for developers somewhere…


A sandbox or setting up my own ‘Test’ system was what i had in mind. I did go through this code and you’re right it is an awesome starting point. I need to looking into CasperCG to see how easy it would be to pass this to it but @Bencredible has said that it can grab websites through a chrome plugin so if nothing else we can do a layout with some PHP,HTML & CSS to make the slides.


A quick delve into the web provided this so no out and out sandbox to play in. So I am thinking lets make a list of those willing to help on this project and as a group set up a fake pay per post no posting patreon account we can use as our sandbox. That way we can at least set the ‘pledeging’ up to mirror the TMRO system whilst sharing the keys cos its fake and dosn’t matter. Once we have it working we can lock the sandbox down by requesting new keys we don’t share and @Bencredible can drop the TMRO keys into the system on the TMRO server of his choice.


CasparCG uses an older version of chromium to render HTML so everything that is supported in that version of chromium will work.


the CSS is fairly simple. I grabbed a screenshot from a previous episode, and recreated it in html/css - F11 for fullscreen, it’s created for fullhd 1920x1080. Close enough, without knowing the fonts used for the title and subtitle.

@psn Cool, chromium usually ‘just works’ :slight_smile:


Awesome if no-one else is I’ll take a run at getting the info out of patreon after tonights show


Perfect, I’ll try to auto-resize the font / line height depending on the amount of text in the patrons text box. Will be playing with it over here.

Edit: Great success! It seems to be working well. Just hit refresh to load a random number of patrons onscreen.


Ok so a second read through the documention brings up This. As you only get 20 returns per ‘page’ and would need to loop through multiple times to get through all the data it maybe better to knock up a small mysql DB to hold the information to be pulled into the show. We can then use a page to trigger manual updateing of the DB and Webhooks to keep it up to date. Pulling the data from our own DB (well really 1 table should cut it) would be more realiable incase Patreon for some reason is in accessble and with webhooks will be just as last second updateable. Also with a little tinkering it would then be possible for us to add name overrides for pepole who would rather thier nick be used than thier real name on the slide so the overide would reamain whilst all the patreon details (i.e. level) can change and be updated automagically. Sorry this is a little more complex but I think it would be the best solution and will work nicely with the work done by @vto80.

On the other hand the API Docs also point towards Zapier I wonder if there might not be a possble soultion there.


Also patreon table could be part of the DB we are discussing for Creative Software Skills as this would fall under a similar banner and why create a whole DB just for 1 table.