javascript - 给出此错误的原因是什么:无法读取未定义的属性“发送”
问题描述
我不明白出了什么问题。
注意:我是初学者。
我没有任何回报:client.channels.get
我的代码:
const client = new Discord.Client();
module.exports.run = async (bot, message, args) => {
message.delete().catch(O_o => {});
message.channel.send(`Olá <@&702918917588385858>`)
}
client.channels.get("780108435940835378").send();
解决方案
您好,欢迎来到 Stack Overflow。如果您真的介意用葡萄牙语回复,您可以随时使用葡萄牙语 Stack Overflow,尽管响应时间可能会有所不同。
无论如何,您的代码有两个主要问题。首先,您正在此命令文件中创建另一个 Discord 客户端实例,该实例与您的机器人在主/索引文件中运行的实例不同(您使用的那个client.login(token)
,您可以在此处获得更好的解释)其次,您的发送命令不在运行功能块中,它应该在里面。
为了解决这个问题,如果你的 run 函数中的 message 参数是一个Message
Object,你可以从 message 对象中的 client 属性中获取客户端。因此,您的命令可能如下所示:
module.exports.run = function(bot, message, args) {
const client = message.client;
// The channel you want to send the message in.
// If it always the one in which the message was
// sent you could use message.channel
const channel == client.channels.get('YOUR_CHANNEL_ID_HERE');
message.delete();
message.channel.send(`Olá, ${message.user.toString()}!`);
channel.send('Anything you want / Qualquer coisa.');
}
推荐阅读
- amazon-web-services - AWS Cognito 联合身份的会话撤销
- php - Yii2:嵌套动态表单 wbraganca 添加了更多字段
- javascript - setupDemo 中一系列概念的 Hyperledger Fabric 语法?
- python - Pygame Cass Function for creating platforms without manually creating every single platform
- mysql - MySQL Server 8.0.12 - 必须为新用户指定身份验证插件
- python - 为什么 python 命令在 py 工作时不会在 powershell 中调用 python 解释器
- node.js - 詹金斯不运行量角器测试
- node.js - 承诺多个 .then 当一个 then 指望另一个
- android - 使用 libjingle 在 android WebRTC 中自定义音频设备
- java - 带通配符的静态导入