Discord Bot Say 命令编辑:有权限

Posted

技术标签:

【中文标题】Discord Bot Say 命令编辑:有权限【英文标题】:Discord Bot Say command Edit: With Permissions 【发布时间】:2020-09-29 16:11:01 【问题描述】:

我对 javascript (.js) 比较陌生,希望对我最新的 discord bot 有所帮助。 这是我使用的代码示例:

  if (command === "ping") 
    msg.channel.send(`Pong! <@$msg.author.id> my Ping is ` + bot.ping + `ms`);
  

感谢您阅读本文,希望您能回答我的问题???? 编辑: 我的问题取决于您是否了解 discord.js,以及您是否知道如何设置 .say 命令,其中显示我输入的消息 编辑: 另外,为了防止人们滥用,我想知道我是否可以说你必须有8级的权限才能使用这个命令,如果低于8级就不起作用

【问题讨论】:

Java 和 Javascript 是不同的语言。看起来您正在使用 Javascript,而不是 Java。 好的...但是你有答案吗? 如果您使用的是 JQuery(或其他类似的技术),添加适当的标记(例如 JQuery 的 jquery)可能是有意义的。 好的,你能给我一个代码示例吗? 你的问题是什么? 【参考方案1】:

试试这样的:

if(command === "say")
     msg.channel.send(msg.content.substr(4));

Result

这仅适用于您的前缀为 1 个字符长的情况。 你的前缀是“。”所以它应该可以工作。

【讨论】:

【参考方案2】:

请注意,java 和 javascript 不是同一种语言。您可以在此处阅读更多相关信息:Differences between java and javascript

无论如何,discord 机器人通常需要一个前缀才能正常工作,并知道消息何时发送给他们,或者在其他地方他们会在不应该发送消息时发送消息。

const PREFIX = "." // set the prefix

client.on('ready', () => 
  console.log('Bot is on');
); // this will log a message when the event 'ready' is triggered

client.on('message', message => 
    let args = message.content.substring(PREFIX.lenght).split(" ");

    switch (args[0])
        case PREFIX+'ping':
            message.channel.send(`Pong! <@$msg.author.id> my Ping is $bot.pingms`);
            break;

【讨论】:

【参考方案3】:

命令 Ping

client.on('message', async message =>
  const prefix = "!";
  const args = message.content.slice(prefix.length).trim().split(/ +/g);
  const command = args.shift().toLowerCase();

 if(message.content === '!ping')
    const msg = await message.channel.send("Checking for ping...") // Checking a message
    var ping = Date.now() - message.createdTimestamp + " ms";
    msg.edit("Pong ! " + message.member.user.tag + " my Ping is "`$Date.now() - message.createdTimestamp` + " ms`");  
    // edit message from checking message to ping message
  ;
);

【讨论】:

以上是关于Discord Bot Say 命令编辑:有权限的主要内容,如果未能解决你的问题,请参考以下文章

检查 Discord bot 在服务器中是不是具有斜杠命令权限?

出现烫发错误后,Discord bot 不会响应

Discord bot 运行命令两次 discord.py

Bot 没有 KICK/BAN 命令的权限

Discord Bot - 反应收集器/嵌入编辑

如何获取 Bot 消息 ID 并编辑消息 - Discord JDA Java