Wavelink
Wavelink copied to clipboard
Rewrite: Node
This issue is for discussing and collating the issues and wanted improvements of Wavelink's Node for the rewrite project.
If any particular point gets a lot of attention, consider creating a dedicated issue ticket to discuss it in further detail and to collate all the details specific to it there to ensure this issue is kept relatively clean and focused on the feature as a whole.
Improvements
- remove rest arg and use details from host/port
- add default port of 2333
- force region arg to be
discord.VoiceRegionenum - is the identifier necessary?
- node pools
- change initialise_node to add_node
- have a default pool
- allow non-default pools to have predicate callable with channel arg
- enhance get_node to determine best node based on shard, region, player count
- get_node supports shard_id, region and guild_id as specifiers, combining old methods
- fallback to other nodes in pool on disconnection while original node attempts to re-establish ws in bg
- secure arg forces both rest https and wss
- getting nodes could be discouraged over letting Player handle it, treating this as lower-level
- add_node could be not a coro, support for node error events