我正在尝试获取这样一条新创建的消息的消息 ID。
我会用什么来代替 message.channel.fetch(id)
来获取消息 ID?我好像找不到:
async function messageSend() {
let messageId = await message.channel.send('Test');
let { id } = messageId;
const emojiCheck = '✅';
const emojiNo = '❌';
const nebzlaID = '569860318608490496';
message.channel.messages.fetch(id).react(emojiCheck);
message.channel.messages.fetch(id).react(emojiNo);
const suggestionDM = new Discord.MessageEmbed()
.setColor('#fffff')
.setTitle('There is a new suggestion in abc!').setDescription(`
User: ${suggestUser}
\n\nSuggestion: ${suggestion}
`);
// ...
答案 0 :(得分:2)
channel.messages.fetch()
返回一个 promise,这意味着您需要先解决它才能获得可以响应的消息。您可以使用 await
:
async function messageSend() {
const { id } = await message.channel.send('Test');
const emojiCheck = '✅';
const emojiNo = '❌';
const nebzlaID = '569860318608490496';
const messageToReact = await message.channel.messages.fetch(id);
messageToReact.react(emojiCheck);
messageToReact.react(emojiNo);
// ...
虽然没有必要再次获取它,但您可以简单地对返回的消息做出反应:
async function messageSend() {
const sentMessage = await message.channel.send('Test');
const emojiCheck = '✅';
const emojiNo = '❌';
const nebzlaID = '569860318608490496';
sendMessage.react(emojiCheck);
sendMessage.react(emojiNo);
// ...