keyv入れて、
const Discord = require('discord.js');
const Keyv = require('keyv');
const client = new Discord.Client();
const prefixes = new Keyv('sqlite://path/to.sqlite'); // sqliteじゃなくてもOK
const globalPrefix = 'st!';
client.on('message', async message => {
if (message.author.bot) return;
let args;
if (message.guild) {
let prefix;
if (message.content.startsWith(globalPrefix)) {
prefix = globalPrefix;
} else {
// check the guild-level prefix
const guildPrefix = await prefixes.get(message.guild.id);
if (message.content.startsWith(guildPrefix)) prefix = guildPrefix;
}
if (!prefix) return;
args = message.content.slice(prefix.length).trim().split(/\s+/);
} else {
const slice = message.content.startsWith(globalPrefix) ? globalPrefix.length : 0;
args = message.content.slice(slice).split(/\s+/);
}
const command = args.shift().toLowerCase();
});
client.on('message', async message => {
// ...
if (command === 'prefix') { // stprefix
// if there's at least one argument, set the prefix
if (args.length) {
await prefixes.set(message.guild.id, args[0]);
return message.channel.send(`Successfully set prefix to \`${args[0]}\``);
}
return message.channel.send(`Prefix is \`${await prefixes.get(message.guild.id) || globalPrefix}\``);
}
});
こうしたら、st!prefix [かえたいやつ]で行けると思いますよ。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。