• We're competing for Best Beginner Hack!

Inspiration

We thought it would be funny to make AI text to speech available in a Discord chat. We've never seen anything quite like this done before, so we wanted to make it ourselves.

What it does

Ditto is a Discord bot that does just that! Have it join the voice channel you're in, then just tell it what to say and with what voice. Ditto has the result ready in seconds.

How we built it

Ditto runs on discord.py, a library for controlling Discord bots through Python. My teammates and I worked on it together through repl.it, which let us collaborate on this coding project like it was a Google Doc. We could see what each other was working on and edit the same files in real time. It helped us help each other!

Challenges we ran into

For some of us, this was the first time they had used Python or discord.py, so everything we had in front of us was new. We had to write and debug a functioning Discord bot doing something that, to our knowledge at least, had never been done before. We had to learn a lot, and because this was a Hackathon, the time we had to do all of it was just 24 hours. In the time that it took to make it, we're proud of what we accomplished.

Accomplishments we're proud of

We reverse-engineered vo.codes's web interface, including the network traffic your browser sends to vo.codes and what it gets back, to allow Ditto to replicate this traffic and send its own requests without any person operating the site or even a web browser of its own.

What we learned

For at least one of our teammates, this was a first time coding experience. For most of us, it was our first time working on a Discord bot. We all learned more about how the bots we use all the time on Discord work, and about one way that we can program one ourselves.

What's next for Ditto

I think it'd be cool to implement functionality into Ditto that lets it expand out to other servers by itself. Right now, it isn't as stable as we'd like it to be in every area, but if we can clean it up a little and add code for setting it up in new servers, anybody who wants Ditto's features can have it in their own Discord server. If we do this, we'll also need to come up with long-term hosting for it, because that is something repl.it is not.

Built With

Share this project:

Updates