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 命令编辑:有权限的主要内容,如果未能解决你的问题,请参考以下文章