首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不和谐机器人可以存储信息的地方在哪里[discord.py]

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

Stack Overflow用户
提问于 2017-07-22 00:38:28
回答 1查看 12.3K关注 0票数 2

我对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中,有这样的函数吗?

非常感谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-22 15:39:31

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

代码语言:javascript
复制
# 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文件相同的文件夹中。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45242689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档