【问题标题】:Where is the place that discord bots can store information [discord.py]不和谐机器人可以存储信息的地方在哪里[discord.py]
【发布时间】:2017-12-27 19:15:22
【问题描述】:

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

非常感谢您的帮助!

【问题讨论】:

    标签: python discord.py


    【解决方案1】:

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

    # 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 文件存储在同一文件夹中。

    【讨论】:

    • 我在寻找可以与特定用户存储数据的交流场所。
    • field_1 可以是用户标识符
    • 感谢您的回答,我想我可能没有解释清楚。我想要的目标更像是能够区分正在与机器人交谈的用户,并有一个不同的地方来存储他/她的个人数据。如果您不介意阅读,这就像我更新的问题。我目前使用JSON存储,但是bot无法区分用户的信息。
    • 仍然会接受这个,因为这是唯一的答案:)
    • 很久过去了,但我想存储一个“用户信息”。现在我知道我可以使用数据库或任何文件来存储它:)
    猜你喜欢
    • 2020-11-26
    • 2021-02-19
    • 2021-02-13
    • 2018-11-17
    • 2020-12-02
    • 2021-03-10
    • 1970-01-01
    • 2018-11-19
    • 2020-05-25
    相关资源
    最近更新 更多