我想更改我的机器人所在的特定公会的图标。为此,我需要使用guild.setIcon()
方法。我已经有了公会的ID,但我不知道如何把它变成我可以使用的对象。
guildId
常量作为字符串存储在config中。json。
这是我的index.js,我试图运行代码。
// Require the necessary discord.js classes
const { Client, Collection, Intents } = require("discord.js");
const { token, guildId } = require("./config.json");
const fs = require("fs");
// Create a new client instance
const client = new Client({ intents: [Intents.FLAGS.GUILDS] });
client.commands = new Collection();
const commandFiles = fs
.readdirSync("./commands")
.filter((file) => file.endsWith(".js"));
for (const file of commandFiles) {
const command = require(`./commands/${file}`);
client.commands.set(command.data.name, command);
}
const eventFiles = fs
.readdirSync("./events")
.filter((file) => file.endsWith(".js"));
for (const file of eventFiles) {
const event = require(`./events/${file}`);
if (event.once) {
client.once(event.name, (...args) => event.execute(...args));
} else {
client.on(event.name, (...args) => event.execute(...args));
}
}
client.on("interactionCreate", async (interaction) => {
if (!interaction.isCommand()) return;
const command = client.commands.get(interaction.commandName);
if (!command) return;
try {
await command.execute(interaction);
} catch (error) {
console.error(error);
await interaction.reply({
content: "There was an error while executing this command!",
ephemeral: true,
});
}
});
client.login(token);
const myGuild = client.guilds.cache.get(guildId)
myGuild.setIcon("./images/image.png");
我得到的错误是
myGuild.setIcon("./images/image.png");
^
TypeError: Cannot read properties of undefined (reading 'setIcon')
你的问题来自这样一个事实:你正试图从你的机器人缓存中获取公会,但他在它的缓存中没有
首先,你必须等待你的机器人成功连接
然后,你不应该直接从缓存中读取,使用GuildManager方法(这里你需要提取
)
总而言之,将您的index.js
的最后两行替换为
client.on("ready", async () => {
const myGuild = await client.guilds.fetch(guildId)
myGuild.setIcon("./images/image.png")
})
你需要在活动中这样做。在客户端准备就绪之前,不会缓存公会
client.on("ready", async () => {
const myGuild = client.guilds.cache.get(guildId)
await myGuild.setIcon("./images/image.png")
})
我正在尝试制作一个Minecraft客户端,但我不知道如何获取会话ID来启动游戏。我在google上搜索了一下,但无论如何都找不到从命令行启动Minecraft的答案——用户名和密码作为前缀不起作用。
所以用我的代码,如果当前公会id与特定公会id相同,我想打印一条消息到控制台。bot应该检查数据库中列出的每台服务器。 这就是我的代码: 错误是ctx.guild.id不起作用,因为他找不到“ctx”。有没有其他方法可以让bot从我的数据库中遍历每个guildid行,并检查当前的行id是否与数据库中的行id相同?
问题内容: 如何获取烧瓶上的复选框是否已选中我正在使用Flask开发服务器环境使用Flask,Gevent和Web套接字进行项目。我用过。这里 如何获得每个连接的唯一会话ID? 我想将其存储在数据库中,并在客户端断开连接后将其删除。 如何获得活动连接总数 问题答案: 没有会话ID。 Flask中的会话只是Cookie的包装。你保存在上面的内容经过数字签名,并以cookie的形式发送给客户端。当你发
问题内容: 如何使用python2.7获取公共IP?不是私有IP。 问题答案: 当前有几种选择: ip.42.pl jsonip.com httpbin.org ipify.org 以下是可以利用上述每种方法的确切方法。 ip.42.pl 这是我找到的第一个选项。对于脚本来说非常方便,您不需要在这里进行JSON解析。 jsonip.com 似乎该域的唯一目的是返回JSON中的IP地址。 httpb
问题内容: 我想在学习活动中构建一个简单的Web应用程序。如果遇到首次访问者,Webapp应该要求用户输入他们的email_id,否则它会通过cookie记住用户并自动登录以执行功能。 这是我第一次创建基于用户的Web应用程序。我心中有一个蓝图,但是我无法弄清楚如何实现它。首先,我对收集用户cookie的方式感到困惑。我研究了各种教程和flask_login,但是与flask_login所实现的相
问题内容: 我在与Express运行相同的端口上使用WebSockets 。 我想从刚刚建立并升级到WebSocket的HTTP连接中获取关联的“ sessionID”。 如何才能做到这一点? (我目前通过在页面中发送sessionID解决此问题,但这很丑陋。) 问题答案: 解析Cookie 获取会话ID 获取会话数据