我对python并不是很陌生,但对discord.py来说却是个新手。我试着浏览了discord.py手册,但没有找到我可以在不一致的机器人上存储一些临时变量的地方。
discord.py手册:http://discordpy.readthedocs.io/en/latest/api.html
例如,在PHP会话中,我们可以存储关于SESSION()的信息。discord.py也有同样的东西吗?
例如,如果我们有用户"A“和用户"B”。"A“将存储为"A_Object”的对象,例如messages等。类似于"B_Object“,但将不同于"A_Object”。在discord.py中,有这样的函数吗?
非常感谢你的帮助!
发布于 2017-07-22 15:39:31
您可以使用sqlite数据库。在你的def里面写:
# define database
import sqlite3
conn = sqlite3.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文件相同的文件夹中。
https://stackoverflow.com/questions/45242689
复制相似问题