feat: support `defer(with_message=False)` for modal interactions
Summary
It seems that deferred_message_update responses are allowed with modal interactions as well (in addition to deferred_channel_message), regardless of whether the modal was sent from a slash or component interaction.
The result is a silent deferral, i.e. no message is created, which can be useful at times even if it's not great for UX.
~~This is currently breaking as the default of with_message for modal interactions changed from (effectively) True to False, but it could be made into a non-breaking change by keeping the default True for modals (might be confusing though).
Would need some more discussion around all that, which is why I'm keeping this as a draft for now.~~
No longer breaking as of 26174def7340ed698b9b5da5a3891b5b4e1909a6, however the different default values could possibly be confusing.
Checklist
- [x] If code changes were made, then they have been tested
- [ ] I have updated the documentation to reflect the changes
- [x] I have formatted the code properly by running
task lint - [x] I have type-checked the code by running
task pyright
- [ ] This PR fixes an issue
- [x] This PR adds something new (e.g. new method or parameters)
- [ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
- [ ] This PR is not a code change (e.g. documentation, README, ...)