aiko-chan-ai / discord.js-selfbot-v13

An unofficial discord.js fork for creating selfbots
https://discordjs-self-v13.netlify.app
GNU General Public License v3.0
777 stars 165 forks source link

.banner, .bannerURL() not working #1022

Closed aaronmansfield5 closed 3 months ago

aaronmansfield5 commented 8 months ago

Which package has the bugs?

The core library

Issue description

After fetching the mentioned user from the guild by their user id, using { force: true}, .banner always returns undefined and .bannerURL() throws "You must fetch this user's banner before trying to generate its URL!"

Code sample

if (message.content.startsWith(".banner")) {
            const mentioned = message.mentions.users?.first();

            if (mentioned) {
                try {
                    const member = await message.guild.members.fetch(mentioned.id, { force: true });
                    const user = member.user;
                    const bannerUrl = user.bannerURL({
                        size: 1024
                    });

                    if (bannerUrl) {
                        message = await edit(message, `\`\`\`ansi\n> ✓  Fetched ${user.tag}'s Profile Banner \`\`\`\n${bannerUrl}`);
                    } else {
                        message = await edit(message, `\`\`\`ansi\n> ⨯  User Banner Not Available \`\`\``);
                    }
                } catch (error) {
                    message = await edit(message, `\`\`\`ansi\n> ⨯  Error Fetching User Data | Error message : ${error.message} \`\`\``);
                }
            } else {
                message = await edit(message, `\`\`\`ansi\n> ⨯  No User Mentioned \`\`\``);
            }
        }
    }

Package version

v3.1.3

Node.js version

v21.1.0

Operating system

Windows 11

Priority this issue should have

Medium (should be fixed soon)

Checklist

Additional Information

No response

aiko-chan-ai commented 8 months ago

I'll check it later (it's midnight now)

aiko-chan-ai commented 8 months ago
if (message.content.startsWith(".banner")) {
            const mentioned = message.mentions.users?.first();

            if (mentioned) {
                try {
                    const member = await message.guild.members.fetch(mentioned.id);
                    const user = await member.user.fetch();
                    const bannerUrl = user.bannerURL({
                        size: 1024
                    });

                    if (bannerUrl) {
                        message = await edit(message, `\`\`\`ansi\n> �[1;2m�[2;37m✓ �[0m �[1;2m�[2;32mFetched ${user.tag}'s Profile Banner �[0m\`\`\`\n${bannerUrl}`);
                    } else {
                        message = await edit(message, `\`\`\`ansi\n> �[1;2m�[2;37m⨯ �[0m �[1;2m�[2;31mUser Banner Not Available �[0m\`\`\``);
                    }
                } catch (error) {
                    message = await edit(message, `\`\`\`ansi\n> �[1;2m�[2;37m⨯ �[0m �[1;2m�[2;31mError Fetching User Data | Error message : ${error.message} �[0m\`\`\``);
                }
            } else {
                message = await edit(message, `\`\`\`ansi\n> �[1;2m�[2;37m⨯ �[0m �[1;2m�[2;31mNo User Mentioned �[0m\`\`\``);
            }
        }
    }