Python 为不带';如果机器人坏了,就不能复位

Python 为不带';如果机器人坏了,就不能复位,python,discord,discord.py,Python,Discord,Discord.py,我开始用python制作一个discord机器人。我想做的是为服务器的所有成员建立一个积分系统 我已经设置了一个“游戏”,你可以猜到0-9之间的数字,如果是正确的,它会说“正确”。我需要的是为服务器上的每个人设置一个points变量,这样每个人都可以玩。我可以在文件的顶部设置点变量,但是每当我重新启动bot时,它就会重置回0。也许我可以把它全部保存到一个文本文件中并从中读取 if message.content.startswith('!gamble'): if len(mess

我开始用python制作一个discord机器人。我想做的是为服务器的所有成员建立一个积分系统

我已经设置了一个“游戏”,你可以猜到0-9之间的数字,如果是正确的,它会说“正确”。我需要的是为服务器上的每个人设置一个points变量,这样每个人都可以玩。我可以在文件的顶部设置点变量,但是每当我重新启动bot时,它就会重置回0。也许我可以把它全部保存到一个文本文件中并从中读取

    if message.content.startswith('!gamble'):
    if len(message.content) != 9:
        msg = 'Improper command form' + str(len(message.content))
        await client.send_message(message.channel, msg)
        return

    num = randint(0,9)
    guess = message.content[8]
    if str(num) == str(guess):
        msg = 'You win! You guessed ' + str(guess) + ' and the number was ' + str(num)
        await client.send_message(message.channel, msg)

    else:
        msg = 'You lost :(. You guessed ' + str(guess) + ' and the number was ' + str(num)
        await client.send_message(message.channel, msg)

这部分工作正常。我可以很容易地在顶部添加一个变量,并在每次有人正确时添加一个点,但是它会返回到它设置的任何位置。您建议如何执行此操作?

您必须将其写入文本文件

在Python(或我所知的任何编程语言)中没有办法保存持久变量,因为程序在运行时会加载到计算机的RAM中。该ram由操作系统分配给您的程序,一旦您的程序完成运行,操作系统也会收回所有ram,因此,不会为下一次运行保留任何数据


如果您只打算在这个项目中使用Python,我建议您研究
pickle
模块以获得一个简单的解决方案。更多信息如下:,

您不能创建任何类似于此的变量。我认为解决这个问题的最好办法是使用数据库。它们有很多可供选择。这里有两个例子, 而且。

我写了一个非常类似的程序。