Tomato6966 / erela.js

An up to date Lavalink Wrapper, which makes it easy to use Lavalink within your Discord Bot!
Apache License 2.0
50 stars 25 forks source link

How to reduce Memory Usage? #29

Closed Tomato6966 closed 1 year ago

Tomato6966 commented 1 year ago

I created a branche, just for users who aim for low-memory usage, yet still want the high features from erela.js!

https://github.com/Tomato6966/erela.js/tree/slim

Honestly, if you look for most extreme low memory usage possible, use a different wrapper, or adjust it yourself. but the slim branche will allow you to save around 15-25% of memory usage (due to track + queue is trimmed a ton)

Also if you want to save memory usage for tracks, here is something you can also do: the #requester which you provide by (message.author / interaction.user for example or interaction.member) can be anything you want, it's local for the client, so you know who requested what track, do something like that:

export function transformRequester(requester) {
    if(!requester) return null;
    return {
        id: requester.id,
        username: requester.username,
        avatar: requester.displayAvatarURL(),
    } 
    // example Use: 
    //      embed.addFields([ { name: `Requester`, value: `${track.requester.username} | Mention: <@${track.requester.id}>` } ])
    //           .setFooter({ text: `Requester-Id: ${track.requester.id}`, iconUrl: track.requester.avatar })
}