Before we continue, we'll reiterate what we said on the home page: we're not fans of AI in general. We think it's not only unnecessary, but an affont to human creatives everywhere. Despite that, we are actively trying to use the AI in the least inappropriate way possible, not infringing on the creative community.
When we were investigating this, we quickly realized that the use of the ChatGPT API would come with a cost. At first that bothered us; we didn't want to be actively funding a system that is infringing on the rights and livelyhood of our fellow creatives.
But we did the math and it's actually stupid cheap. In the last five days, since the project's inception, we've spent a grand total of TWO CENTS. Yes, you read that correctly... two whole cents. At that rate, the $1 we funded our account with will last us for years.
We are C# .NET developers by trade, so we decided to use the official .NET library for the OpenAI API as our interface to quer ChatGPT. It took five minutes to get it to work; it was remarkable easy, especially compared to the likes of the Twitter API (which is a horrible mess).
I wish I could say the social media integrations went as well...
For BlueSky, we had to write a lot of the integration with their "AtProto"-based API ourselves, so as it stands right now all we can do is post. We've considered the possibility of making the bot a listener so you can send requests to it, but that will take considerable effort to integrate and we're not quite sure it's worth it.
Integration with the Twitter API was surprisingly simple, especially considering there are multiple API libraries out there we could use... we're using TweetSharp for the majority of our integration.
The problem with Twitter is that, if you want to use it for real, it's not free... and by no means cheap. The basic fee is $100 a month, and there's no way we're paying that to... well... that guy, ya know?
So we're using the free API, which I'm not entirely sure how it's working. In fact, our previous bot - the "Spurt the Kobold" bot (from Critical Role) shouldn't be working because all the API tokens it's using have been REVOKED. But, nonetheless, we got the free version working... but it has one major limitation: you can only make about 17 requests in a 24 hour period (don't ask me why it's such a goofball number). So, in order to not hit that hard limit and keep the Twitter and BlueSky accounts in sync, we're posting once every two hours. We've only hit the limit once, but that was why we were doing active development so our count was higher than normal.
Facebook is, well, weird.
We've been trying to integrate with it and have our bot post to a Facebook page, but we can't seem to figure out even the authentication aspect of it. We're supposed to get a user token (which we have), enumerate a user's pages to get the page tokens, then use the page token to post... but when we enumerate the user pages we get none (and we have at least four pages on Facebook). All it says is that I need to grant the account admin access (which I have), but I don't know what's the deal. So, at this rate, Facebook is not likely to happen.
We are currently hosting the InTenWords bot on AWS, on an EC3 instance alongside our other online services and websites. This is currently our only real expense to speak of, and it's costing us about $30 a month to maintain so it's kind of manageable.