【问题标题】:I am trying to make a guild add message我正在尝试制作公会添加消息
【发布时间】:2020-10-13 03:27:57
【问题描述】:

我正在努力做到这一点,所以当我的机器人被添加到另一台服务器时,它会发送一个嵌入信息,说明它现在有多少台服务器以及公会名称和公会所有者。我也在尝试制作另一个嵌入,以便它告诉我它何时离开服务器并告诉我它何时首先加入服务器,然后何时被移除以及公会名称和公会所有者。我使用 discord.js。有人可以帮忙吗?这是我当前的脚本:

bot.on("guildCreate", guild => {
    const joinserverembed = new Discord.MessageEmbed()
        .setTitle("Joined a server!")
        .addField("Guild name:", `${guild.name}`)
        .addField("Time of join:", `${Discord.Guild.createdTimestamp()}`)
        .setColor("GREEN")
        .setThumbnail(guild.displayAvatarURL())
    if (guilds.channel.id = 740121026683207760) {
        channel.send(joinserverembed)
    }
    guild.channel.send("Thank you for inviting Ultra Bot Premium! Please use up!introduction and up!help for the new perks and more!")
})

bot.on("guildDelete", guild => {
    const leftserverembed = new Discord.MessageEmbed()
        .setTitle("Left a server!")
        .addField("Guild name:", `${guild.name}`)
        .addField("Time of removal:", `${createdTimestamp()}`)
        .setColor("RED")
        .setThumbnail(guild.displayAvatarURL())
    if (guilds.channel.id = 740121026683207760) {
        channel.send(leftserverembed)
    }
})

【问题讨论】:

    标签: javascript node.js discord discord.js


    【解决方案1】:

    我已经在下面的代码中为你解决了你的第一个问题。

    • 您在使用 guild.channel.send(),在这种情况下,guild 代表 Discord.Guild,但是您使用它时就像它代表 Message 的实例一样,但事实并非如此。

    您可以使用guild.channels.cache.find(x => x.name == 'general').send("Thanks for inviting me to this server¬!") 将消息发送到该服务器中名为general 的频道。

    bot.on("guildCreate", (guild) => {
      const joinserverembed = new Discord.MessageEmbed()
        .setTitle("Joined a server!")
        .addField("Guild name:", guild.name)
        .addField("Time of join:", Date.now())
        .setColor("GREEN")
        .setThumbnail(guild.iconURL({ dynamic: true }));
      bot.channels.cache.get("740121026683207760").send(joinserverembed);
      guild.channels.cache
        .filter((c) => c.type === "text")
        .random()
        .send(
          "Thank you for inviting Ultra Bot Premium! Please use up!introduction and up!help for the new perks and more!"
        );
    });
    

    我在公会中过滤频道,确保它们不是类别或语音频道,然后将欢迎消息发送给随机的。

    至于您的第二个查询,您需要使用数据库,存储添加时间的 Date.now 时间戳,然后一旦机器人离开公会,它必须获取值并显示其时间。我没有为你做这件事,但我已经修复了你的代码:

    bot.on("guildDelete", (guild) => {
      const leftserverembed = new Discord.MessageEmbed()
        .setTitle("Left a server!")
        .addField("Guild name:", guild.name)
        .addField("Time of removal:", Date.now())
        .setColor("RED")
        .setThumbnail(guild.iconURL({ dynamic: true }));
      bot.channels.cache.get("740121026683207760").send(leftserverembed);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-30
      • 1970-01-01
      • 2020-08-03
      • 1970-01-01
      • 2014-02-16
      • 1970-01-01
      相关资源
      最近更新 更多