gpt4 book ai didi

discord.js - 如何通过机器人离开带有公会ID的服务器

转载 作者:行者123 更新时间:2023-12-04 08:21:24 24 4
gpt4 key购买 nike

我希望我的机器人使用 ;leave <GuildID> 离开不和谐服务器.
下面的代码不起作用:

if (message.guild.id.size < 1)
return message.reply("You must supply a Guild ID");
if (!message.author.id == 740603220279164939)
return;

message.guild.leave()
.then(g => console.log(`I left ${g}`))
.catch(console.error);

最佳答案

你很可能不应该看 message.guild.id , 因为这会返回您发送消息的公会 ID。如果您想从 ;leave (guild id) 获取公会 ID ,您必须使用 .split() 之类的内容来删除第二部分.

// When split, the result is [";leave", "guild-id"]. You can access the
// guild ID with [1] (the second item in the array).
var targetGuild = message.content.split(" ")[1];
!message.author.id会将作者 ID(在本例中为您的机器人 ID)转换为 bool 值,结果为 false (因为 ID 已设置并且不是 falsy 值)。我假设您的意思是仅当作者不是机器人本身时才运行此操作,在这种情况下,您最有可能的目标是:
// You're supposed to use strings for snowflakes. Don't use numbers.
if (message.author.id == "740603220279164939") return;
现在,您只需使用从消息内容中获得的公会 ID 并使用它离开公会。为此,只需捕获 Guild 来自您的 bot cache ,然后调用 .leave() .总而言之,您的代码现在应该如下所示:
// Get the guild ID
var targetGuild = message.content.split(" ")[1];
if (!targetGuild) // targetGuild is undefined if an ID was not supplied
return message.reply("You must supply a Guild ID");

if (message.author.id == "740603220279164939") // Don't listen to self.
return;

client.guilds.cache.get(targetGuild) // Grab the guild
.leave() // Leave
.then(g => console.log(`I left ${g}`)) // Give confirmation after leaving
.catch(console.error);

关于discord.js - 如何通过机器人离开带有公会ID的服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65481982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com