我在discord.py中制作了一个烘焙机器人,人们可以在其中烘焙食物,我在编写一个名为“ Cake”的命令,用户可以在其中每2/1分钟运行一次它,蛋糕的数量将会增加。
例如,如果有人运行该命令b!bake cake
,它将返回“您再烤了1个蛋糕,现在有2个蛋糕!” 我该怎么做?
您需要将信息存储在某处。
如果您希望数据在重新启动期间保持不变,则将其写入文件或数据库。
如果不这样做,则始终可以将其保存到可从任何位置访问的变量。一种选择是使用全局变量,但可能无法从齿轮访问它,您可以在机器人实例中设置属性。
bot = commands.Bot(...)
bot.cakes = {}
@bot.command()
async def bake (ctx, dish):
if dish == 'cake':
if ctx.author.id not in bot.cakes.keys():
bot.cakes[ctx.author.id] = 1
else bot.cakes[ctx.author.id] += 1
await ctx.send(f"you have baked {bot.cakes[ctx.author.id]} cakes")
bot.run(TOKEN)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句