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
- discord
- javascript
- node.js
- python
Log in or sign up for Devpost to join the conversation.