说消息只给我一个短语的第一个单词,JavaScript - Discord.js

Posted

技术标签:

【中文标题】说消息只给我一个短语的第一个单词,JavaScript - Discord.js【英文标题】:say message Only send me the first word of a phrase, JavaScript - Discord.js 【发布时间】:2021-04-28 05:10:28 【问题描述】:

这是代码:

const args = msg.content.trim().split(/ +/);
const cmd = args.shift().toLowerCase();

if (cmd === 'dm') 
  (await client.users.fetch(args[0]))
  .send(args[1])
    .catch(() => 
      console.log('Error while sending message.')
    )

我想要什么:dm

我做什么:dm test testing test 123 我收到了什么:测试

谁能解释我如何解决这个问题?机器人只发送我信息的第一个字:/ 欢迎任何帮助!

【问题讨论】:

【参考方案1】:

这应该可以完成工作。

const args = msg.content.trim().split(" ");
const cmd = args.shift().toLowerCase();

if (cmd === 'dm') 
  // Clone the args array in case you need it later
  const argsClone = args.slice()
  // Fetch user while removing their id from the list
  const user = await client.users.fetch(argsClone.shift())
  // Send the remaining of the list as a DM.
  user.send(argsClone.join(" "))
    .catch(() => 
      console.log('Error while sending message.')
    )

【讨论】:

很高兴看到我的帮助。您能否检查答案是否有效,如果您喜欢,请点赞?谢谢。

以上是关于说消息只给我一个短语的第一个单词,JavaScript - Discord.js的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Netty 从 UDP 消息中只给我 768 个字节

如何使用批处理搜索 .txt 文件中的特定短语

正则表达式删除第一个单词并使用 c# 将第二个单词的第一个字符大写

红包英文怎么写

正则表达式 URL 帮助:单词或短语

函数允许单词但不允许短语c ++ [重复]