在 discord.py 中获取服务器成员的所有名称

鸡无头101

我有一个关于 discord.py 的问题。我目前正在为我的服务器制作一个 mod-mail。机器人的想法是在每次收到消息时创建一个频道。这一切都有效。它在作者姓名后以小写形式创建一个频道名称,并用 - 替换空格。例如 BOB IS MAD 会变成bob-is-mad.

现在我正在努力增强响应系统。从只是提及您想要向其发送消息的用户,到机器人根据您发送消息的bob-is-mad频道获取您想要发送的成员。例如,如果我要在频道中发送消息,它会自动将其发送给 BOB IS MAD。不过,这就是我遇到问题的地方。

我遇到的问题是机器人正在寻找小写字母,但一些 Discord 用户的名字中有大写字母。我怎样才能让机器人找到成员,即使名称可以是小写和大写。

这是我的代码:

(我知道这不在回复命令中,如果我能找到获取用户 ID 的方法,我只是将其用作测试命令)

# this commands is grabs the id of the user the channel is from
@bot.command()
async def id(ctx):
  # getting the channels name
  channel = ctx.channel
  current = str(channel)
  guild = ctx.guild
  # replacing the - for spaces
  user = current.replace("-", " ")

  # testing the output
  print (user)

  # finding the member in the server
  member = discord.utils.get(guild.members, name=f"{user}")
 
  # printing if it found the member
  print (member)

我尝试制作它,member = discord.utils.get(guild.members, name=f"{user.upper()}")但这当然不起作用。我找不到任何关于此的信息

Łukasz Kwieciński

而不是使用utils.get我会使用utils.find

@bot.command()
async def id(ctx):
    channel_name = ctx.channel.name
    user_name = channel_name.replace("-", " ")
    
    predicate = lambda member: member.name.lower() == user_name
    member = discord.utils.find(predicate, ctx.guild.members)

    print(member)

尽管使用成员名称是一个坏主意(多个成员可以具有相同的名称),但我会将成员 ID 放在频道的主题中并从那里获取它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Discord PY获取服务器的所有成员

Discord.py 在所有服务器上的语音频道中获取成员

如何使用discord.py获取Discord服务器中所有成员的列表

Discord PY如何获取所有服务器成员的列表?

如何使用新的discord.py版本获取discord服务器中所有成员的列表?

Discord.py无需命令即可访问bot所有服务器中的所有成员?

使用Discord.py-Rewrite保存所有服务器成员的数组

有没有办法查看discord服务器中的所有在线成员是否都在玩游戏——discord.py

在discord.py中,如何检查服务器上是否有成员?

获取服务器discord.py中的提升次数

在discord.py中获取服务器ID

如何使漫游器状态说明其所在的所有服务器的成员数(discord.py)

如何使用 discord.py 在 Discord 服务器中创建成员列表?

使用 discord.py 获取不和谐服务器中所有成员的列表时出现问题

Discord.py 如何删除服务器中的所有角色

从discord.py中的Discord服务器中获取随机用户

Discord.py获取通道名称和服务器名称返回错误消息

Discord.py 如何获取不是服务器成员的用户的雪花?

获取所有成员discord.py

在 discord.py 中获取成员的角色

Discord.py - 在 Cog 中获取成员

Discord.py如何获取服务器的ID?

discord.py从.json文件获取服务器前缀

如何获取会员的服务器昵称 discord.py

Discord.py禁止成员不在我的服务器中

如何获取所有非漫游器成员的列表,重写Discord.py?

有没有办法用 discord.py 列出不和谐服务器的所有成员

从 ID discord.py 获取 Discord 头像

如何修复discord.py中的“名称'服务器'未定义”错误