Я пытался заставить Bio для моего Discord Bot сохранить то, что пользователь установил с помощью команды setBio
, так как каждый раз, когда я сбрасывал бот, Bios тоже сбрасывался. Тем не менее, я придумал кое-что, что я не совсем уверен, как это сделать (если я вообще могу это сделать).
После перезагрузки бота и попытки использовать команду setBio
дляВ первый раз бот просматривает историю сообщений и находит последний раз, когда этот человек использовал эту команду. Затем он использует args.slice(1)
только для чтения аргументов для установки этого био. Затем бот скажет что-то вроде:
Я нашел предыдущую биографию, которая была установлена ранее. Наберите yes
, если вы хотите установить био на это:
Пример био
После этого, если пользователь наберет yes
, будет использоваться эта биография. Для того, чтобы сделать его менее раздражающим, он сделал бы только, чтобы ПЕРВЫЙ раз кто-то изменил био после его сброса.
У меня есть только это, и я не знаю, как это будет вставлено в код. Что бы использовать, чтобы сделать это возможным?
Вот код, относящийся к этому вопросу:
case 'setBio':
let newArr = args.slice(1)
bio[message.author.id] = newArr
message.channel.send('Your bio has been changed!')
.then(msg => msg.delete(3000));
break;
case 'profile':
if(!bio[message.author.id]) {
return message.channel.send('Sorry, please set a bio with `!setBio` to view your profile!')
} else {
const embed = new Discord.RichEmbed()
.setTitle('__' + message.author.username + '\'s Profile__')
.addField('Bio:', bio[message.author.id].join(" "))
.setColor(message.member.colorRole.color)
.setThumbnail(message.author.avatarURL)
message.channel.send(embed);
}
break;