【问题标题】:Why my channel message send code isn't working?为什么我的频道消息发送代码不起作用?
【发布时间】:2020-12-02 11:00:45
【问题描述】:

我试图在我的不和谐机器人上的特定时间发送消息,但我的代码无法正常工作。 我收到“无法读取未定义的属性‘发送’”错误。 发送部分不起作用,我不知道为什么。我在其他地方使用了相同的发送代码,但它在那里工作。我正在使用的代码是这样的。在我在函数中写“消息”之前,它说消息是未知的,所以我就这样解决了。我是初学者,所以放轻松!请帮忙,谢谢!

    var schedule = require('node-schedule');

var scheduleFunction = schedule.scheduleJob('00 19 * * *', function(message) {
    message.channel.send('test!');
});

【问题讨论】:

  • 您希望代码向哪个频道发送消息?您似乎希望它发送到与message 相同的频道,但message 是什么? 应该是哪个 Discord 消息?您需要能够准确地描述机器人的行为方式,而不会像这里那样模棱两可。
  • 我希望它只发送“测试!”时机成熟时向通用频道发送消息
  • “一般渠道”同样是模棱两可的。 bot如何选择通用渠道?在编程中,它不会只是猜测并选择一个随机频道,或者知道选择一个名为“general”的频道,而无需您告诉它这样做。您必须选择一个特定的频道来接收消息,获取它的 ID,并告诉机器人专门在 那里发送消息,如下面的 Lioness 回答。
  • 我按照母狮所说的做了,但仍然显示“无法读取未定义的属性‘发送’”

标签: node.js discord discord.js


【解决方案1】:

似乎message 没有引用特定消息,因此返回未定义。相反,使用

var channel = <ID of channel you want the message to be sent to>
client.channels.cache.get(channel).send('test!'):

【讨论】:

  • 仍然显示“无法读取未定义的属性‘发送’”
  • @blur 你把channel设置成什么了?
  • 哦,成功了,谢谢!!!我只是忘记了一些反引号
  • 很高兴我能帮忙?
猜你喜欢
  • 2020-01-28
  • 1970-01-01
  • 2021-09-30
  • 1970-01-01
  • 2020-09-19
  • 2014-01-17
  • 2023-03-12
  • 2021-04-21
  • 2021-09-11
相关资源
最近更新 更多