如何提及使用 Chat Discord.JS 发送消息的用户?
Posted
技术标签:
【中文标题】如何提及使用 Chat Discord.JS 发送消息的用户?【英文标题】:How can I mention a user who sent a message using Chat Discord.JS? 【发布时间】:2021-02-09 06:47:31 【问题描述】:抱歉,英语不是我的母语,我是 JS 新手。 我正在让我的机器人不和谐,我需要它在一段时间内在聊天中发送随机消息,这部分我有下面的代码。 但是我还需要机器人提及最后一个在聊天中发送消息的用户 而且我不知道如何将其添加到我的代码中
async function notifLoop()
while(true)
client.channels.cache.get('764266751734054953').send("test text");
await Sleep(10000)
function Sleep(milliseconds)
return new Promise(resolve => setTimeout(resolve, milliseconds));
client.on('ready', function()
notifLoop();
console.log("Ready");
);
【问题讨论】:
【参考方案1】:我需要它在一段时间内在聊天中发送随机消息
Somanypeoplehavealreadyaskedthisquestion; pleasedosomeresearchbeforeasking
我还需要机器人提及最后一个在聊天中发送消息的用户
您可以使用MessageManager.fetch()
和Collection.prototype.first()
的组合。首先,您必须使用MessageManager.fetch()
来获取频道中的最后一条消息。此函数返回一个消息集合,您只需要其中的第一个(因为您正在获取频道中的第一条消息)。
您可以在this answer 的第一部分中的 User/GuildMember 对象中找到提及用户的方法列表
async function notifLoop()
const channel = client.channels.cache.get('764266751734054953');
while (true)
const user = channel.messages
.fetch( limit: 1 )
.then((msg) => channel.send(`The user was <@$msg.author.id>`));
await Sleep(10000);
【讨论】:
【参考方案2】:你可以用它来提及用户:
message.reply(`$message.author`);
你也可以使用它:
message.reply(`<@$message.author.id>`);
【讨论】:
message.reply(`$message.author`)
实际上会返回 @E3saR, @E3saR
以上是关于如何提及使用 Chat Discord.JS 发送消息的用户?的主要内容,如果未能解决你的问题,请参考以下文章