interactions.py
interactions.py copied to clipboard
[META] 6.0 Breaking Changes wishlist
While we're not quite at the point of making breaking changes yet, this tracker serves to list things that we want to change when we decide to pull the trigger.
Most of these will be things are important enough to justify a breaking change on their own.
- Change voice state cache to index as
(guild_id, id)(See discussion in #1533) - Rename
GuildTextand co to beGuildTextChannel - Make Prefixed and Hybrid commands core library features. (The tech debt of hacking in hybrid commands justifies this)
I'd like to add making Snowflake.__int__ actually return an int to the list, as it seems like some users are getting warnings that making __int__ return subclasses of int may be removed in future versions.
More things:
- #1508 and #1517.
- For autocomplete, make
ctx.kwargs/argsarguments resolve to the correct type (currently, a channel inctx.kwargs/argswill just return the string snowflake ID of said channel). - Reduce (and maybe eliminate)
fetch_guildfrom processors and replace it withget_guildand properNonehandling, as fetch is often overkill (and might cache things a person doesn't want to cache).
I go away for 2 weeks... and you make a breaking version /j
Change voice state cache to index as (guild_id, id) (See discussion in https://github.com/interactions-py/interactions.py/pull/1533)
Agreed - the entire voice cache needs a rethink - its design is very... naive and its creator should be shamed.... oh wait thats me
Rename GuildText and co to be GuildTextChannel
What's the rationale here?
Make Prefixed and Hybrid commands core library features. (The tech debt of hacking in hybrid commands justifies this)
That is very contentious as im sure you know. Has this been voted on?
I'd like to add making Snowflake.int actually return an int to the list, as it seems like some users are getting warnings that making int return subclasses of int may be removed in future versions.
Can you show me these warnings? I don't believe i've come across them
https://github.com/interactions-py/interactions.py/issues/1508
Agreed
For autocomplete, make ctx.kwargs/args arguments resolve to the correct type (currently, a channel in ctx.kwargs/args will just return the string snowflake ID of said channel).
Agreed
Reduce (and maybe eliminate) fetch_guild from processors and replace it with get_guild and proper None handling, as fetch is often overkill (and might cache things a person doesn't want to cache).
Agreed... under the proviso we need to determine where fetch is actually required, and document this
cc @silasary @AstreaTSS
RE the Snowflake issue:
At the very least, even if I can't make it appear myself, I agree with the fact that __int__ should return int.
I'm intrigued by #1508 being here, I believe we agreed this was not a 6.x pressing issue with Discord writing multi attachment data to embeds itself. What's the reason here – because we don't have a property setter function to pretty up the deserialisation process?
I'm intrigued by #1508 being here, I believe we agreed this was not a 6.x pressing issue with Discord writing multi attachment data to embeds itself. What's the reason here – because we don't have a property setter function to pretty up the deserialisation process?
...did we? I don't think we ever said that - the most we said is that we couldn't do it in 5.X because of its nature. Having something to make the deserialization of embeds with those embeds would be nice, IMO.
The 4 AutoMod events should be renamed to follow the standard set by the library (maybe some other events too, haven't checked all of them)