[英]Responding to a message in discord.js
我想向有人发送以 s# 开头的消息的频道发送消息“E”。 我有两个问题:
function read(msg)
{
if(msg[0] === "s" && msg[1] === "#") console.log("E");
}
而且我不知道如何使用某人作为“msg”发送的消息来调用此函数。
channel.send("E");
,但我不知道如何获取消息发送到的频道的 id。client.on('message', message => {
if(message.content.startsWith('s#')) console.log('s#');//check if the message starts with s#
});
message.channel.send('this is a reply to the message sent in this channel');
见文档: https : //discord.js.org/#/docs/main/stable/class/Client? scrollTo = e- message
编辑(带有读取功能的整个代码):
const Discord = require('discord.js');
const client = new Discord.Client();
client.on('message', message => {
read(message);
});
function read(message){
if(message.content.startsWith('s#')) console.log('s#');
}
client.login('your-token-here');
如果你想使用 read 函数有两种方法
正如@SickBoy 所说,
function read(msg){
if(msg.content.startsWith('s#'){
return true;
}
else{
return false;
}
}
要不然,
function read(msg){
const data = msg.content.split('')
if(data[0] === 's' && data[1] === '#'){
return true;
}
else{
return false;
}
}
要调用此函数,只需添加一个消息事件。
client.on('message' , message=> {
const res = read(message)
if(res){
//The message starts with s#
}
else{
//It doesn't start with s#
}
})
每当有人在服务器中发送message
,就会发出一个名为message
的事件。 此事件返回一个message
对象,其中包含有关该消息的所有信息,如内容、作者、频道、成员等。因此,要将某些内容作为回复发回,您可以执行以下操作:
client.on('message', message => {
if (message.content.startsWith('s#')) {
message.channel.send('E');
}
}
另外,我看到您在ready
函数中执行此操作: msg[0]
。 这不是您访问message
对象内容的方式。 它不是一个数组。 您可以使用let text = message.content
获取消息的内容。 此文本为字符串类型并存储消息文本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.