A highly experimental fake Discord server, intended to enable bot testing without calling the real Discord API, analogous to LocalStack.
Once completed, fakediscord
will enable you to:
- Test offline, without interacting with the real Discord API
- Test with multiple simulated users, bot and non-bot
- Trigger server-side events to test commands etc., outside the 'official' bot flow
- Spin up a test instance with guilds and users preconfigured with YAML
Of course, you should also test your bot manually before releasing to the public, as there's a few things fakediscord
doesn't intend to implement, including:
- Authorization - any action is allowed
As we develop fakediscord
we will be aiming to implement each of the documented events along with their corresponding API interactions:
- Hello
- Ready
- Resumed
- Reconnect
- Invalid Session
- Application Command Permissions Update
- Auto Moderation Rule Create
- Auto Moderation Rule Update
- Auto Moderation Rule Delete
- Auto Moderation Action Execution
- Channel Create
- Channel Update
- Channel Delete
- Channel Pins Update
- Thread Create
- Thread Update
- Thread Delete
- Thread List Sync
- Thread Member Update
- Thread Members Update
- Guild Create
- Guild Update
- Guild Delete
- Guild Ban Add
- Guild Ban Remove
- Guild Emojis Update
- Guild Stickers Update
- Guild Integrations Update
- Guild Member Add
- Guild Member Remove
- Guild Member Update
- Guild Members Chunk
- Guild Role Create
- Guild Role Update
- Guild Role Delete
- Guild Scheduled Event Create
- Guild Scheduled Event Update
- Guild Scheduled Event Delete
- Guild Scheduled Event User Add
- Guild Scheduled Event User Remove
- Integration Create
- Integration Update
- Integration Delete
- Interaction Create
- Invite Create
- Invite Delete
- Message Create
- Basic (via HTTP)
- Embeds
- Multipart
- Message Update
- Message Delete
- Message Delete Bulk
- Message Reaction Add
- Message Reaction Remove
- Message Reaction Remove All
- Message Reaction Remove Emoji
- Presence Update
- Stage Instance Create
- Stage Instance Delete
- Stage Instance Update
- Typing Start
- User Update
- Voice State Update
- Voice Server Update
- Webhooks Update