在 JavaScript Discord Bot 中,为什么 message.react() 是 "not a function"
In a JavaScript Discord Bot, how come message.react() is "not a function"
我正在 运行我的服务器上安装一个 discord 机器人。我想让机器人 message.react()
收到我刚收到的消息。当我 运行 它工作正常,直到我发送一条消息。
我收到这个错误:
/Users/*****/Projects/Discord/DiscordBot/bot.js:22
.react("")
^
TypeError: message.react is not a function
at DiscordClient.bot.on (/Users/revel/Projects/Discord/DiscordBot/bot.js:22:6)
at DiscordClient.emit (events.js:189:13)
at DiscordClient.handleWSMessage (/Users/revel/Projects/Discord/DiscordBot/node_modules/discord.io/lib/index.js:1854:11)
at WebSocket.emit (events.js:189:13)
at Receiver.ontext (/Users/revel/Projects/Discord/DiscordBot/node_modules/ws/lib/WebSocket.js:841:10)
at /Users/revel/Projects/Discord/DiscordBot/node_modules/ws/lib/Receiver.js:536:18
at Receiver.applyExtensions (/Users/revel/Projects/Discord/DiscordBot/node_modules/ws/lib/Receiver.js:371:5)
at /Users/revel/Projects/Discord/DiscordBot/node_modules/ws/lib/Receiver.js:508:14
at Receiver.flush (/Users/revel/Projects/Discord/DiscordBot/node_modules/ws/lib/Receiver.js:347:3)
at Receiver.finish (/Users/revel/Projects/Discord/DiscordBot/node_modules/ws/lib/Receiver.js:541:12)
这是我的代码:
var Discord = require("discord.io");
var logger = require("winston");
var auth = require("./auth.json");
// Configure logger settings
logger.remove(logger.transports.Console);
logger.add(new logger.transports.Console(), {
colorize: true,
});
logger.level = "debug";
// Initialize Discord Bot
var bot = new Discord.Client({
token: auth.token,
autorun: true,
});
bot.on("ready", function (evt) {
logger.info("Connected");
logger.info("Logged in as: ");
logger.info(bot.username + " - (" + bot.id + ")");
});
bot.on("message", (message) => {
message.react("");
});
我是运行宁discord.js
版12.2.0
你能帮忙吗?
刚刚快速浏览了 discord.io's docs,
您应该将 message
事件的参数替换为正确的参数,如 link :
中所述
client.on('message', function(user, userID, channelID, message, event) { });
您正在使用 discord.io,而不是 discord.js。
如果你想添加一个反应,你需要用这个替换你的消息事件监听器:
bot.on("message", (user, userID, channelID, message, event) => {
bot.addReaction({
channelID,
messageID: event.d.id,
reaction: ""
});
});
参考文献:
我正在 运行我的服务器上安装一个 discord 机器人。我想让机器人 message.react()
收到我刚收到的消息。当我 运行 它工作正常,直到我发送一条消息。
我收到这个错误:
/Users/*****/Projects/Discord/DiscordBot/bot.js:22
.react("")
^
TypeError: message.react is not a function
at DiscordClient.bot.on (/Users/revel/Projects/Discord/DiscordBot/bot.js:22:6)
at DiscordClient.emit (events.js:189:13)
at DiscordClient.handleWSMessage (/Users/revel/Projects/Discord/DiscordBot/node_modules/discord.io/lib/index.js:1854:11)
at WebSocket.emit (events.js:189:13)
at Receiver.ontext (/Users/revel/Projects/Discord/DiscordBot/node_modules/ws/lib/WebSocket.js:841:10)
at /Users/revel/Projects/Discord/DiscordBot/node_modules/ws/lib/Receiver.js:536:18
at Receiver.applyExtensions (/Users/revel/Projects/Discord/DiscordBot/node_modules/ws/lib/Receiver.js:371:5)
at /Users/revel/Projects/Discord/DiscordBot/node_modules/ws/lib/Receiver.js:508:14
at Receiver.flush (/Users/revel/Projects/Discord/DiscordBot/node_modules/ws/lib/Receiver.js:347:3)
at Receiver.finish (/Users/revel/Projects/Discord/DiscordBot/node_modules/ws/lib/Receiver.js:541:12)
这是我的代码:
var Discord = require("discord.io");
var logger = require("winston");
var auth = require("./auth.json");
// Configure logger settings
logger.remove(logger.transports.Console);
logger.add(new logger.transports.Console(), {
colorize: true,
});
logger.level = "debug";
// Initialize Discord Bot
var bot = new Discord.Client({
token: auth.token,
autorun: true,
});
bot.on("ready", function (evt) {
logger.info("Connected");
logger.info("Logged in as: ");
logger.info(bot.username + " - (" + bot.id + ")");
});
bot.on("message", (message) => {
message.react("");
});
我是运行宁discord.js
版12.2.0
你能帮忙吗?
刚刚快速浏览了 discord.io's docs,
您应该将 message
事件的参数替换为正确的参数,如 link :
client.on('message', function(user, userID, channelID, message, event) { });
您正在使用 discord.io,而不是 discord.js。
如果你想添加一个反应,你需要用这个替换你的消息事件监听器:
bot.on("message", (user, userID, channelID, message, event) => {
bot.addReaction({
channelID,
messageID: event.d.id,
reaction: ""
});
});
参考文献: