Built a fake Discord so I could properly test discord.py bots

I’m working on a Discord bot and I realised that it’s still really quite manual. You make the commands and then go over to Discord, type the commands, give it a look over blah blah blah

It gets repetitive and also there’s no way for the AI to see if it made a mistake in the code, until you manually interact with the bot. To help fix this, I built SimCord.

Here’s an example code snippet:

async def test_ping(simcord_env):
    channel = simcord_env.create_guild().create_text_channel("general")
    alice = simcord_env.guild.add_member(simcord_env.create_user("alice"))

    await alice.send(channel, "!ping")          # full gateway round trip

    assert channel.last_message.content == "Pong!"

It’s a testing framework that simulates a Discord backend for discord.py (sorry other languages). You can just drop it into your existing bot. It intercepts the outgoing Discord API requests, handles them against an in-memory backend, then sends realistic gateway events back. All your actual bot code runs exactly the same, without self-botting or even any network connection.

I thought this was a fairly straightforward task for an AI since it’s repetitive and the goals are well-defined. There’s a few things left to support like sharding but the majority is largely done.

Hope this might be of help to anyone else vibe coding Discord bots!

Posted Jul 10, 2026, 6:02 PM UTC

10
Loading comments…