Users should be able to call user.join_guild(guild: Guild) and other discord events and the engine should fire the events to the client under test.
All events should only fire if correct intents are in place.
Most events listened to by discord.py should be supported (exceptions are raw WebSocket events). These are:
[ ] on_raw_app_command_permissions_update()
[ ] on_app_command_completion() - should not be fireable manually. Instead should only fire after app_command() is completed successfully for acceptance testing. This might work already?
[ ] on_error() - should not be fireable manually. Instead should fire after error. This might work already?
[x] on_ready() - already supported. Not fireable manually, runs on engine creation
[ ] on_resumed()
[ ] on_shard_ready() - should work like on_ready()
[ ] on_shard_resumed()
[ ] on_guild_available()
[ ] on_guild_unavailable()
[ ] on_guild_join()
[ ] on_guild_remove()
[ ] on_guild_update()
[ ] on_guild_emojis_update()
[ ] on_guild_stickers_update()
[ ] on_audit_log_entry_create()
[ ] on_invite_create()
[ ] on_invite_delete()
[ ] on_integration_create()
[ ] on_integration_update()
[ ] on_guild_integrations_update()
[ ] on_webhooks_update()
[ ] on_raw_integration_delete()
[ ] on_member_join()
[ ] on_member_remove()
[ ] on_raw_member_remove()
[ ] on_member_update()
[ ] on_user_update()
[ ] on_member_ban()
[ ] on_member_unban()
[ ] on_presence_update()
[ ] on_message()
[ ] on_message_edit()
[ ] on_message_delete()
[ ] on_bulk_message_delete()
[ ] on_raw_message_edit()
[ ] on_raw_message_delete()
[ ] on_raw_bulk_message_delete()
[ ] on_reaction_add()
[ ] on_reaction_remove()
[ ] on_reaction_clear()
[ ] on_reaction_clear_emoji()
[ ] on_raw_reaction_add()
[ ] on_raw_reaction_remove()
[ ] on_raw_reaction_clear()
[ ] on_raw_reaction_clear_emoji()
[ ] on_guild_role_create()
[ ] on_guild_role_delete()
[ ] on_guild_role_update()
[ ] on_scheduled_event_created()
[ ] on_scheduled_event_delete()
[ ] on_scheduled_event_update()
[ ] on_scheduled_event_user_add()
[ ] on_scheduled_event_user_remove()
[ ] on_stage_instance_create()
[ ] on_stage_instance_delete()
[ ] on_stage_instance_update()
[ ] on_thread_create()
[ ] on_thread_join()
[ ] on_thread_update()
[ ] on_thread_remove()
[ ] on_thread_delete()
[ ] on_raw_thread_update()
[ ] on_raw_thread_delete()
[ ] on_thread_member_join()
[ ] on_thread_member_remove()
[ ] on_raw_thread_member_remove()
[ ] on_voice_state_update()
Use own discretion to decide the best interface for firing each event. Strive for declarative, natural language like API. Events that are both rare and difficult to implement can be saved for later and marked as done with a note of "not implemented".
Users should be able to call
user.join_guild(guild: Guild)
and other discord events and the engine should fire the events to the client under test.All events should only fire if correct intents are in place.
Most events listened to by discord.py should be supported (exceptions are raw WebSocket events). These are:
[ ] on_voice_state_update()
Use own discretion to decide the best interface for firing each event. Strive for declarative, natural language like API. Events that are both rare and difficult to implement can be saved for later and marked as done with a note of "not implemented".