所以,最近我开始制作自己的机器人,我也不是最有经验的人,但我知道我在做什么。我打破了基本的不和。在Discord上提供了js索引。js指南,并且只是在其中添加了我自己的代码,而没有实际接触命令处理程序。
对于一些命令,我想有一个烫发水平,只有烫发水平
permlvl 1=管理消息^不是实际的代码只是一个例子,这样只有具有perm级别的用户才能使用它。
这是我的索引。目前:
const Discord = require('discord.js');
const config = require('./commands/config.json');
const fs = require('fs');
const { dir } = require('console');
const client = new Discord.Client();
client.commands = new Discord.Collection();
const Fun = fs.readdirSync(`./commands/Fun/`).filter(file => file.endsWith('.js'));
for (const file of Fun) {
const command = require(`./commands/Fun/${file}`);
client.commands.set(command.name, command);
}
const General = fs.readdirSync(`./commands/General/`).filter(file => file.endsWith('.js'));
for (const file of General) {
const command = require(`./commands/General/${file}`);
client.commands.set(command.name, command);
}
const Information = fs.readdirSync(`./commands/Information/`).filter(file => file.endsWith('.js'));
for (const file of Information) {
const command = require(`./commands/Information/${file}`);
client.commands.set(command.name, command);
}
client.elevation = message => {
if (message.channel.type === 'dm') return;
let permlvl = 0;
if (message.member.hasPermission("MANAGE_MESSAGES")) permlvl = 1;
if (message.member.hasPermission("BAN_MEMBERS")) permlvl = 2;
if (message.member.hasPermission("MANAGE_GUILD")) permlvl = 3;
if (message.member.id === message.guild.ownerID) permlvl = 4;
if (message.author.id === config.devID) permlvl = 5;
return permlvl;
};
client.on("ready", () => {
console.log(`${client.user.tag} has started, with ${client.users.cache.size} users, in ${client.channels.cache.size} channels of ${client.guilds.cache.size} guilds.`);
client.user.setActivity(`Serving ${client.users.cache.size} users in ${client.guilds.cache.size} server.`, { url: 'https://www.twitch.tv/discordsstream', type: 'STREAMING' });
)};
client.on('message', message => {
if (!message.content.startsWith(config.prefix) || message.author.bot) return;
const args = message.content.slice(config.prefix.length).trim().split(/ +/);
const commandName = args.shift().toLowerCase();
const command = client.commands.get(commandName)
|| client.commands.find(cmd => cmd.aliases && cmd.aliases.includes(commandName));
if (!command) return;
if (command.guildOnly && message.channel.type === 'dm') {
return message.reply('I can\'t execute that command inside DMs!');
}
if (command.args && !args.length) {
let reply = `You didn't provide any arguments, ${message.author}!`;
if (command.usage) {
reply += `\nThe proper usage would be: \`${config.prefix}${command.name} ${command.usage}\``;
}
return message.channel.send(reply);
}
try {
command.execute(message, args);
} catch (error) {
console.error(error);
message.reply('there was an error trying to execute that command!');
}
});
除了我的另一个客户。和客户端中的一些主要代码。在上面和底部的东西。这与索引中的命令处理程序有关,下面是实际命令中的配置:
module.exports = {
name: 'ping',
description: 'See the bots response time!',
usage: '',
guildOnly: false,
permLevel: 0,
aliases: ['responsetime', 'pong'],
execute(message, args, async) {
}
问题是,当命令运行时,它会出现0个错误,但permlvl不起作用,
我尝试将它添加到“say”命令中,作为唯一的permlv1,它是
if (message.member.hasPermission("MANAGE_MESSAGES")) permlvl = 1;
但成员们仍然可以使用它他们对自己的角色也没有权限。
我尝试了一些配置,我尝试用AwesomeCommandHandler替换它,在这些代码中它不起作用,所以我返回。我找了一些不和谐的地方。js网站和一些堆叠的问题,但没有我在哪里可以找到答案,如果有人可以帮助我,无论是在找到答案还是给出答案,这将是伟大的。
您还需要检查用户permLevel是否高于或等于命令一:
const Discord = require('discord.js');
const config = require('./commands/config.json');
const fs = require('fs');
const { dir } = require('console');
const client = new Discord.Client();
client.commands = new Discord.Collection();
const Fun = fs.readdirSync(`./commands/Fun/`).filter(file => file.endsWith('.js'));
for (const file of Fun) {
const command = require(`./commands/Fun/${file}`);
client.commands.set(command.name, command);
}
const General = fs.readdirSync(`./commands/General/`).filter(file => file.endsWith('.js'));
for (const file of General) {
const command = require(`./commands/General/${file}`);
client.commands.set(command.name, command);
}
const Information = fs.readdirSync(`./commands/Information/`).filter(file => file.endsWith('.js'));
for (const file of Information) {
const command = require(`./commands/Information/${file}`);
client.commands.set(command.name, command);
}
client.elevation = message => {
if (message.channel.type === 'dm') return;
let permlvl = 0;
if (message.member.hasPermission("MANAGE_MESSAGES")) permlvl = 1;
if (message.member.hasPermission("BAN_MEMBERS")) permlvl = 2;
if (message.member.hasPermission("MANAGE_GUILD")) permlvl = 3;
if (message.member.id === message.guild.ownerID) permlvl = 4;
if (message.author.id === config.devID) permlvl = 5;
return permlvl;
};
client.on("ready", () => {
console.log(`${client.user.tag} has started, with ${client.users.cache.size} users, in ${client.channels.cache.size} channels of ${client.guilds.cache.size} guilds.`);
client.user.setActivity(`Serving ${client.users.cache.size} users in ${client.guilds.cache.size} server.`, { url: 'https://www.twitch.tv/discordsstream', type: 'STREAMING' });
)};
client.on('message', message => {
if (!message.content.startsWith(config.prefix) || message.author.bot) return;
const args = message.content.slice(config.prefix.length).trim().split(/ +/);
const commandName = args.shift().toLowerCase();
const command = client.commands.get(commandName)
|| client.commands.find(cmd => cmd.aliases && cmd.aliases.includes(commandName));
if (!command) return;
if (command.guildOnly && message.channel.type === 'dm') {
return message.reply('I can\'t execute that command inside DMs!');
}
if (command.args && !args.length) {
let reply = `You didn't provide any arguments, ${message.author}!`;
if (command.usage) {
reply += `\nThe proper usage would be: \`${config.prefix}${command.name} ${command.usage}\``;
}
return message.channel.send(reply);
}
const userPermLevel = client.elevation(message);
const commandPermLevel = command.permLevel;
if(commandPermLevel > userPermLevel){
return message.channel.send('You do not have required permissions');
}
try {
command.execute(message, args);
} catch (error) {
console.error(error);
message.reply('there was an error trying to execute that command!');
}
});
我正在用Java和FXML编写一个messenger,我想在(chatBar)上显示用户当前的所有聊天。我的聊天在中,但我仍然无法将值添加到中。
问题内容: 如何将servlets API添加到项目的pom.xml中 mvnrepository.com有很多servlet api和名称类似的项目,我不知道哪个是正确的。还是所有人都还好吗? 问题答案: 我相信大多数Web /应用程序服务器都捆绑了servlet api版本,因此您不希望将api捆绑到.war文件中。您需要找出服务器随附的版本,然后才能使用 用您的版本替换servlet-api
问题内容: 我对git和詹金斯都很陌生。 我将密钥添加到bitbucket和本地计算机中时: 我可以克隆。 但是,当我将相同的url()添加到Jenkins存储库url时,出现以下错误: 问题答案: 您还需要为Jenkins用户设置ssh密钥。 通常的想法是,您登录到Jenkins框,并成为“ jenkins”用户。您可以为您的Jenkins用户打电话,所以请确保使用正确的名称。一旦成为Jenki
我尝试使用和将添加到中,但无法将添加到中。我正在使用NetBeans和后端MySQL。请帮帮我. 编辑:谢谢,但我不知道如何分组。你能帮帮我吗?我有4列。第一列单元格包含项目名称,第二列单元格包含数量,第三列和第四列单元格连接JRadio按钮。然后我想在每一行中分组包含JRadio按钮的第三列和第四列单元格 编辑:如果我试图通过使用这个在jTable的自定义代码中添加radiobutton, ,那
问题内容: 我正在尝试将pandas Dataframe(orders_df)中的两个现有列相乘- 价格(股票收盘价)和Amount(股票数量),并将计算结果添加到名为“值”的新列中。由于某些原因,当我运行此代码时,“值”列下的所有行均为正数,而某些行应为负数。在DataFrame的“操作”列下,有七行带有“出售”字符串,七行带有“购买”字符串。 请让我知道我在做什么错! 问题答案: 如果我们愿意
我是新的和。 我想尝试一下。但我如何将该SDK添加到我的。在中有和Mac上的。我知道这是一个非常棘手的问题,但我找不到一个对我来说显而易见的解决方案。我是C#/。NET/MS开发人员希望在这个新世界中让我的脚湿润。据我所知,