python - 如何获取最长的用户名? (不和谐.py)

标签 python python-3.x discord.py

我有一个用户 ID 列表,我想找到名称最长的用户。 但是当我使用 bot.get_user(id) 时,它返回 None 。 我检查了该 ID,它是有效的并且确实对应于服务器上的用户。 代码:

            for score in scores:
                bad_chars = "<@!>"
                for letter in score:
                    if letter in bad_letters:
                        score = score.replace(letter, "")

                print(score)
                print(bot.get_user(int(score.strip("<@! >"))))
                member_len = bot.get_user(int(score.strip("<@ >")))

                if member_len:
                    print(len(member_len.name))
                    if len(member_len.name) > score_len:
                        score_len = len(member_len.name)

            print(score_len)

最佳答案

在新版本的discord.py(1.5.x)中,有一些关于Intents的更新。 Intents和权限类似,你必须定义Intents来获取 channel 、成员和一些事件等。你必须在定义client = discord.Bot(prefix='')之前定义它。 .

import discord

intents = discord.Intents().all()
client = discord.Bot(prefix='', intents=intents)

如果你想获得更多关于Intents的信息,你可以查看API References .

关于python - 如何获取最长的用户名? (不和谐.py),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64562347/

相关文章:

python - 如何使用 asyncio 创建 telnet 客户端

python - MySQL 和 Python 编程错误 : 1064 (42000)

python-3.x - 操作系统错误 : [Errno 9] Bad file descriptor discord bot

python - 运行机器人示例代码时,出现此错误

python - 如何在 PySimpleGUIQt 中实现复选框功能?

python - 计算每个 pandas 列中数据出现的次数

python 迭代团队组合

python - Flask View 的流式 shell 输出有效,但永远不会结束

python-3.x - H2O 目标均值编码器 "frames are being sent in the same order"错误

python - 如何获取密码输入,但用 '*' 替换字符