bot.sendMessage不是函数

时间:2019-07-16 04:00:48

标签: javascript discord discord.js

我目前正在制作一个不和谐的机器人,它将发出消息。不幸的是,消息接收到错误,例如bot.sendMessage不是函数。我对编码还很陌生,所以这让我很困惑。甚至任何Google搜索都无法帮助我达到我能理解的程度。

我尝试过bot.send,因为.sendMessage可能已经过时了,我在一个我相信的地方读书了。

var exampleSocket = new WebSocket(dataUrl);
    bot.send({to: flowChannel,message: 'Websocket connected'});
exampleSocket.onopen = function (event) {
logger.info('got to here');

输出应在我的频道中发布websocket连接的

3 个答案:

答案 0 :(得分:0)

#sendMessage已过时。

您需要通过'message'并使用message.channel.send()

频道也可以是DM。

答案 1 :(得分:0)

不推荐使用

TextChannel.sendMessage(和DMchannel.sendMessage)以及所有类型的sendXX函数。

如果您要传递的不仅仅是文本,函数TextBasedChannel.sendMessageOptions值(或者直接是AttachmentRichEmbed)作为参数。

要访问send功能,您需要获得一个TextChannelDMchannel

  • 在像这样触发您的功能的消息中:client.on('messages', (msg) => {msg.channel.send('Hello')})
  • 如果您有Guild实例:guild.channels.get('channel id')guild.channels.find(d => d.name === '<channel name>)')请注意:您必须检查频道是否为TextChannel而不是语音频道
  • 使用Client.channels方法,该方法列出了客户端当前正在处理的所有频道,并通过其ID进行映射-只要不使用分片,这将是每个频道中的每个频道公会和所有DM频道

答案 2 :(得分:0)

  
bot.send({to: flowChannel,message: 'Websocket connected'});

Client.sendMessage()于2016年在Discord.js 9.0中被删除。

  

我尝试过bot.send,因为.sendMessage可能已经过时了,我在一个我相信的地方读书了。

TextBasedChannel.sendMessage()TextBasedChannel.sendCode()TextBasedChannel.sendEmbed()TextBasedChannel.sendFile()TextBasedChannel.sendFiles()已弃用。


今天相当于您的代码如下...

flowChannel.send('Websocket connected')
  .catch(console.error); // Catch the rejected promise in the event of an error.

Discord.js Docs (Stable)