【问题标题】:How do I make a top in discord.py using repl.it database如何使用 repl.it 数据库在 discord.py 中创建顶部
【发布时间】:2021-09-21 20:55:57
【问题描述】:

所以基本上我有一些 db 键(我使用 XP 前缀和用户 ID:db["XP{user.id}"])。每个密钥都包含一个整数,它是在服务器中获得的 XP。 如何从键中创建一个列表并对列表进行排序? (就像一个 XP 顶部) 最终输出应如下所示:

1# 丹尼斯#1627 : 5382XP

2# Discord#5262 : 5000XP

对于任何错误,我也很抱歉,我是 stackoverflow 的新手

【问题讨论】:

  • 您可以将 dict 转换为列表,然后使用 python sort() 功能,在此处查看更多详细信息:programiz.com/python-programming/methods/list/sort
  • 这其实很聪明,我想多了。按前缀搜索键转换为列表并按条件排序就可以了。非常感谢

标签: python database discord.py repl.it


【解决方案1】:

2 个选项:

db.keys() 函数将返回一个集合(类似于数组,但它是无序的、可迭代的并且没有重复项),其中包含所有您已存储在 replit 数据库中的键。

例如:

database_keys = db.keys()
print(database_keys)

预期输出:

{'XP0000', 'XP1111', 'XP2222', 'server_name', 'server_admin', 'etc'}

如果您存储 其他密钥 不存储用户的 XP,并且只想获取带有 XP 前缀的密钥,您可以使用收到的 db.prefix(prefix)前缀有一个参数。它会返回一个包含所有以前缀开头的键的元组。 (前缀必须是字符串)

例如:

XP_database_keys = db.prefix("XP") # will return all the database keys that start with "XP"
print(XP_database_keys)

预期输出:

('XP0000', 'XP1111', 'XP2222')

使用任何方法获取密钥后,您可以使用相同的密钥通过 discord.py 获取用户的 id,然后获取其值“XP 数量”,然后从最小值到最大值排序并发送到不和谐嵌入到您的服务器。

希望我对您有所帮助,祝您有美好的一天!

【讨论】:

    猜你喜欢
    • 2021-10-03
    • 2021-06-24
    • 1970-01-01
    • 2020-01-01
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 1970-01-01
    • 2020-10-31
    相关资源
    最近更新 更多