我对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中,有这样的函数吗?
非常感谢您的帮助!
答案 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文件存储在同一个文件夹中。