【问题标题】:How to make partnerships counting?如何使伙伴关系计数?
【发布时间】:2022-11-26 23:36:24
【问题描述】:

这实际上是我的代码

const inviteLink = await message.content.match(/discord\.(gg|com)\/.+|discordapp\.(gg|com)\/.+|discordapp\.(gg|com)\/invite\/.+/)?.[0];

if (inviteLink) {
    setTimeout(async () => {
        try {
            let inviteL
            if (inviteLink.includes("discord.gg/") || inviteLink.includes("discord.com/")) {
                inviteL = inviteLink.slice(11)

            } else if (inviteLink.includes("discord.gg/invite") || inviteLink.includes("discord.com/invite")) { // && inviteLink.includes("discord.com/invite")) {
                inviteL = inviteLink.slice(18)

            } else if (inviteLink.includes("discordapp.gg/") || inviteLink.includes("discordapp.com/")) {
                inviteL = inviteLink.slice(14)

            } else if (inviteLink.includes("discordapp.gg/invite") || inviteLink.includes("discordapp.com/invite")) {
                inviteL = inviteLink.slice(21)

            } else {
                console.log("invalid")
            }

            console.log(`inviteLink: ${inviteLink} | inviteL: ${inviteL} `)

            const fetch = require('node-fetch');
            const response = await fetch(`https://discordapp.com/api/invites/${inviteL}`,);
            const dataLink = await response.json();

            if (dataLink.message === 'Unknown Invite') {
                return
            }

            await client.fetchInvite(dataLink.code)
                .then(async (invite) => {

                    // Code to add 1 to the database (Ignore that)

                    const embed = new Discord.MessageEmbed()
                        .setAuthor({ name: `${message.author.tag} | ${message.author.id}`, iconURL: message.author.displayAvatarURL({ size: 512, dynamic: true, format: 'png' }) })
                        .setDescription(message.translate(`${data.config.cat.b5}/partnercount:SETDESCRIPTION`, {
                            guild: `${invite.guild.name} | ${invite.guild.id}`,
                            amount: user.partnerInfo.partnersCount
                        }))

                    return message.reply({ embeds: [embed] })

                })
        } catch (err) {
            return
        }
    }, 500)

}

我希望它与例如 Luminous 机器人中的相同

目前,该机器人处理以 discord.gg/.com 或 discordapp.gg/.com 等开头的所有内容。

我只希望它只接受代码,这样它就不会继续往下走一行或几行

示例:discord.gg/codecode dasdsad(只接受 codecode 而不是继续)

【问题讨论】:

    标签: node.js discord.js


    【解决方案1】:

    答案是

    if (/(discord.gg/.+|discord.com/invite/.+|discordapp.com/invite/.+)/i.test(message.content)) {
    
        const inviteLink = await message.content.match(/discord.gg/.+|discord.com/invite/.+|discordapp.com/invite/.+/)?.[0];
    
        let userCode
        if (message.content.includes("discord.gg/")) {
            userCode = message.content.split("discord.gg/")[1].split(" ")[0].split("
    ")[0];
    
        } else if (message.content.includes("discord.com/invite/")) {
            userCode = message.content.split("discord.com/invite/")[1].split(" ")[0].split("
    ")[0];
    
        } else if (message.content.includes("discordapp.com/invite/")) {
            userCode = message.content.split("discordapp.com/invite/")[1].split(" ")[0].split("
    ")[0];
        };
    
        if (inviteLink) {
            try {
                await client.fetchInvite(userCode)
                    .then(async (invite) => {
                        // code
                    }).catch(() => {
                        // error
                    });
    
            } catch (err) {
                // error
            };
        };
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-26
      • 2013-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-20
      • 1970-01-01
      相关资源
      最近更新 更多