不和谐机器人可以存储信息的地方在哪里[discord.py]

时间:2017-07-21 16:38:28

标签: python discord.py

我对python不是新手,但对discord.py不熟悉。我试图通过discord.py手册,但没有找到我可以在discord bot上存储一些临时变量的地方。

discord.py手册:http://discordpy.readthedocs.io/en/latest/api.html

例如,在PHP SESSION中,我们可以在SESSION()上存储信息。 discord.py有同样的东西吗?

例如,如果我们有用户“A”和用户“B”。 “A”将被存储为“A_Object”的对象,例如消息等。类似于“B_Object”但与“A_Object”不同。在discord.py中,有这样的函数吗?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您可以使用sqlite数据库。写在你的def里面:

# define database
conn = lite.connect("my_database.db")
cursor = conn.cursor()
# get stored object from database
sql = "SELECT * FROM my_table WHERE field_1=?"
cursor.execute(sql, [(value_1)])
data = cursor.fetchall()
# if object does not exist, create it
if len(data) == 0:
    sql = "INSERT INTO my_table VALUES (?, ?)"
    cursor.execute(sql, [(value_1), (value_2)])
# if stored object exist and we need update it
elif ...:
    sql = "UPDATE my_table SET field_2 = ? WHERE field_1 = ?"
    cursor.execute(sql, [(value_2), (value_1)])
else:
    # get data from first object
    value_of_field_1 = data[0][0]
    # get data from third object
    value_of_field_2 = data[2][1]
# close database connection
conn.commit()
conn.close()

my_database.db - 是一个sqlite db文件,应该与bot的.py文件存储在同一个文件夹中。