Inspiration

We wanted to make a scuffed way to do something in Discord, and this was the result.

What it does

It allows you to play games (emulators games) inside of Discord, at a rate of 60FPM (frames per minute).

How we built it

We used Python along with Discord.py to launch Retroarch, and used libraries like PyDirectInput and pywin32 to send screenshots and take commands to send to the emulator.

Challenges we ran into

Discord rate limits limited us to approximately 1 FPS or 60FPM, even when we tried to implement a performance mode using ASCII. Sending keyboard stokes to the emulator required us to use a different library as Retroarch uses DirectX, and DirectX doens't like emulated keystrokes.

Accomplishments that we're proud of

The bot actually works and is very playable! (Note: Playability is subject to the observer.)

What we learned

How to use Discord.py to create a bot, and interface with programs (specifically games) using Python.

What's next for 60FPM Discord Emu Bot

Possibly figuring out how to implement the bot to use Discord screen sharing and maybe voice commands.

Built With

  • discord
  • discord.py
  • python
  • retroarch
Share this project:

Updates