【发布时间】:2020-02-16 23:28:00
【问题描述】:
我一直在尝试为我的 Discord Bot 获取 Bio 以保存用户使用 setBio 命令设置的内容,因为每次我重置机器人时,Bios 也会重置。但是,我想出了一些我不完全确定该怎么做的事情(如果我能做到的话)。
在机器人重置并且有人第一次尝试使用setBio 命令后,机器人会查看消息历史记录并找到该人最后一次使用该命令的时间。然后它使用args.slice(1) 仅读取设置该生物的参数。然后机器人会说:
我找到了之前设置的以前的 Bio。输入
yes,如果你想把你的简历设置成这样:示例简介
之后,如果用户键入yes,则将使用该 Bio。为了让它不那么烦人,它只会在重置后第一次有人更改生物时这样做。
我只有那个,我不知道如何将它放入代码中。 什么可以让这成为可能?
这里有一些与这个问题相关的代码:
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;
【问题讨论】:
-
为什么不将 bios 存储在数据库中,这样机器人是否被重置就无关紧要了?
标签: javascript github heroku discord.js