Inspiration

We wanted to make a Discord bot that would allow people to just have fun and look up info on their favorite Pokemon and play games with them.

What it does

The bot has two main Pokemon-related functionalities: !dex (or !dt/!data), and !wtp. !dex gives you the information related to your favorite Pokemon, taken from Pokemon Showdown's Data. This allows people to quickly search up any info on any Pokemon they want! !wtp is a guessing game in which the bot gives you the picture of a Pokemon, and you have to identify what it is by saying its name in chat! More info is on our GitHub repo, and a presentation is in the README.

How we built it

We built this bot using Discord.js, which is a JavaScript wrapper for the Discord API. We additionally used the TypeScript compiler to turn Pokemon Showdown's TypeScript data into JavaScript, which is usable by the bot. We also used PatheticMustan's Discord Bot Quickstart to get our bot going.

Challenges we ran into

At first, it was hard for us to get the command handler and event handler working. Eventually, though, we figured it out, and it allowed us to code the rest of the bot a lot easier. Another challenge for us was figuring out how to best do the leaderboard for Who's That Pokemon. It took us a while to figure out how we could sort our parallel arrays and get everything working in the right order!

Accomplishments that I'm proud of

We're proud of the fact that we actually got a working, finished product. At first, we didn't really know what to do, but using Discord.js's Bot Guide, we got the bot working with everything properly set up!

What we learned

We learned how a Discord bot works, and also how to deal with data from another source (Pokemon Showdown) and incorporate it into our own bot.

What's next for DarkShinyGirabot

The next thing we want to do for this bot is pretty up in the air, but generally we want to touch it up by fixing any leftover bugs and adding more commands, such as letting the user store a team/list of their 6 favorite Pokemon for easy access.

Built With

Share this project:

Updates