首页 > 解决方案 > Discord.py 和 SQL:并非所有成员都被添加到数据库中

问题描述

当我运行这个命令/查询时,并不是每个人都被添加到数据库中,只有少数成员被添加。我尝试查看成员的“状态”是否重要,但事实并非如此

@client.event
async def on_ready():
    print("Bot is Ready")
    guild = client.get_guild(GUILD_NUM)
    print(f"{guild}")
    memberList = guild.members
    print(memberList)
    for m in memberList:
        c.execute(f"""INSERT INTO dodos 
                VALUES ('{m.id}',0,0,0,0,0,0,0,0,0,0,0,0,0)
                """)
        conn.commit()

        print(f"Adding {m} into database as {m.id}")
        c.execute(f"""SELECT *
                        FROM dodos
                        WHERE id = {m.id}
        """)
        conn.commit()
        print(c.fetchall())

示例输出

代码:

标签: sqlpython-3.xsqlitediscord.py

解决方案


答:REAL/INTEGER 不能用作 m.id 的类型,因为它由于没有足够的空间而四舍五入,因此将它们保存为 TEXT 解决了问题


推荐阅读