Inspiration

As avid users of discord, our team is always looking for ways to use discord data and do something fun and useful. We were inspired by this codeforces blog: link, attempting to improve on the idea as well as making the impersonating accessible to anyone.

What it does

The impersonator bot allows you to train a model based on your own discord messages using a chrome extension. Once the model is trained, the model is capable of having a somewhat cohesive conversation.

How we built it

The website description of the bot is made with CSS. We made the chrome extension using Node.js, along with python to achieve some functionalities. This python code is used to scrape data - using get requests and cookies to scrape a user's dms, process the data - format the output of the get requests into a tagged dataset, and the actual model training - which is a modified version of the DialoGPT model.

Challenges we ran into

We ran into many challenges throughout the process. First, the discord API has no function to download your own messages, so we had to write a python script to do that. Furthermore, only 50 requests are allowed a second, so multiple requests would have to be made. This led to the issue of which messages to get - which we were able to solve using the IDs of each message.

Furthermore, as our team is relatively inexperience with machine learning, that part of our project can definitely be largely improved - some responses are incohesive. We suspect this might be due to a lack of data.

Accomplishments that we're proud of

We are proud of the fact that

What we learned

What's next for Impersonator Bot

Impersonator Bot can be hosted onto a full-fledged discord bot which any user can invite to a server. This will allow the model to communicate with multiple people at once throughout different servers, while being accessible on discord.

Built With

Share this project:

Updates