我正在尝试让一个公会添加消息



我正在尝试这样做,当我的机器人被添加到另一台服务器时,它会发送一个嵌入,说明它现在在多少台服务器中,以及公会名称和公会所有者。我也在尝试制作另一个嵌入,这样它就告诉我它何时离开服务器,告诉我它何时首先加入服务器,然后何时被删除,以及公会名称和公会所有者。我用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)
}
})

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

  • 您正在执行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);
});

相关内容