Botisimo Importer

Since they are shutting down the end of the year, it would be great to be able to import “Audience” (users, gold, level, etc) and at least some of the commands

I can’t login to see that chabot information. Is there a way to export the information to CSV?

Not that I have found so far. There is a GraphQL API though. GraphQL API — Botisimo documentation

So there is a few problems here using the API. If they are shutting down the bot I imagine the API would be part of that. That would give a user less than 2 months to get their data imported over and then it’s gone. That’s saying the importer existed now. The way any of the conversion/import scripts I’ve done work is they require Streamer.bot to have seen a user before it will import the data. This is not a script limitation, this is how it has to work for data to not possibly get corrupted trying to create new users. It’s just not a good idea to try to create that user.

So you would have 2 months to run against the API and hope you can get all your data moved over. With a CSV you’d have all that data saved and if the API was removed it wouldn’t matter because you could still run the script off the CSV data until all your users were ported over. So if there is a way that data could be dumped to a CSV that would be the best way to go about it that I’m aware of. And that wouldn’t take much to make some conversions over from the other bot import scripts that exist.

What fields would be required for the CSV? Ideally, I’d be able to import Twitch and Discord info. Youtube would be good as well.

Just depends tbh. Like we built custom things for a points system and watchtime. So Streamlabs import takes User, Points, and Hours CSV headers and imports those. So any data can be imported from a CSV with a little shuffle of some code. Just depends exactly what one wants to import and then being able to use that relevant data in Streamer.bot. It’s entirely possible I’m just trying to better explain what would work best and better understand the data imported and usecase.

Not sure what you mean by this. What info from Twitch, YouTube, and Discord are you referring to? Cause Discord info may not be possible depending on the info you mean. Sorry if I’m not fully understanding. I’ve never used Botisimo and I have no idea what data it tracks and not being able to login to it is making it hard to see realtime how it works and see the data firsthand.

In Botisimo users/viewers have a “global” account. Usually created from whichever platform (Twitch, Youtube, Discord) the bot first sees them in. From there, they can connect their accounts from other platforms. That way the bot can can track interactions (points, hours watched, etc) no matter what platform they are active on.

Ideally, the import/export process would maintain those sorts of connect. But, it’s not a hard requirement.

I think I’ve figured out a way to export most of the relevant data from the Botisimo API. Just have to work on the mechanics of collecting and formatting the data. So, I guess I just need a clean way of importing the fields that make sense for Streamer.bot

Oh the data import wouldn’t be an issue. Could take the Streamlabs Chatbot importer and repurpose that to import the information needed. That’s what I did for someone who had asked for Phantom bot import. The base code is already there it just has to be shuffled around for the specific CSV file to be used. That’s why I had to make a SLCB and Streamelements version as the exported CSV’s were different but the code to import the data is essentially the same.

I’ve got a script that does the export. But, when I import it, the user’s are not getting credited or create. No errors.

Is there something special about the username to get this to link up or is it just the twitch username?

I explained the issue in the prior post. Streamer.bot HAS to have seen the user in order to add any data to them. To create a user manually in SB is a really bad idea so the idea behind my import scripts is the conversion takes place on seen users. But every user that data is imported on the script sets a user variable. If that variable is True then it will not import data to that user again as it knows it’s seen that user. So you can keep running the script every so often until all your users have been imported. It’s a time consuming process I know but it’s the only way of doing it that’s not going to create headaches down the line.

I think I have a working solution now.

Thanks

Ok, my point was I needed to lay eyes on a CSV file export from it in order to fix the code for import from that bot. Something I’d add for others to use as well if the bot is shutting down. But I’m glad you got it figured out.

Thanks. I threw it together and put it up at GitHub - shawnbutts/botisimo-exporter: Import Botisimo points into to Streamer.bot.