📅  最后修改于: 2023-12-03 14:45:57.522000             🧑  作者: Mango
在 Python Discord 上,有多种方式可以获取用户变量,以下是一些常用的方法:
discord.Member
对象import discord
# 假设 client 是已经实例化的 Discord Bot 客户端对象
@client.event
async def on_message(message: discord.Message):
member: discord.Member = message.author
# 获取用户昵称
nickname: str = member.nick
# 获取用户 ID
user_id: int = member.id
# 获取用户所属的服务器对象
guild: discord.Guild = member.guild
# 获取用户所属的角色列表
roles: List[discord.Role] = member.roles
# 获取用户的状态
status: discord.Status = member.status
# 获取用户的活动列表
activities: List[discord.Activity] = member.activities
# ...
在上面的示例中,我们使用了 discord.Member
对象来获取用户变量,例如用户昵称、用户 ID、用户所属的服务器对象、用户所属的角色列表等等。
discord.utils.get()
函数import discord
# 假设 client 是已经实例化的 Discord Bot 客户端对象
@client.event
async def on_message(message: discord.Message):
user_id = 123456789 # 用户 ID
# 通过用户 ID 获取 `discord.Member` 对象
member: discord.Member = discord.utils.get(message.guild.members, id=user_id)
# 获取用户昵称
nickname: str = member.nick
# 获取用户 ID
user_id: int = member.id
# 获取用户所属的服务器对象
guild: discord.Guild = member.guild
# 获取用户所属的角色列表
roles: List[discord.Role] = member.roles
# 获取用户的状态
status: discord.Status = member.status
# 获取用户的活动列表
activities: List[discord.Activity] = member.activities
# ...
在上面的示例中,我们使用了 discord.utils.get()
函数来获取用户变量,例如用户昵称、用户 ID、用户所属的服务器对象、用户所属的角色列表等等。
discord.ext.commands.Context
对象import discord
from discord.ext import commands
# 假设 client 是已经实例化的 Discord Bot 客户端对象
bot = commands.Bot(command_prefix='!')
@bot.command()
async def test(ctx: commands.Context):
# 获取用户昵称
nickname: str = ctx.author.nick
# 获取用户 ID
user_id: int = ctx.author.id
# 获取用户所属的服务器对象
guild: discord.Guild = ctx.author.guild
# 获取用户所属的角色列表
roles: List[discord.Role] = ctx.author.roles
# 获取用户的状态
status: discord.Status = ctx.author.status
# 获取用户的活动列表
activities: List[discord.Activity] = ctx.author.activities
# ...
# 等等
在上面的示例中,我们使用了 discord.ext.commands.Context
对象来获取用户变量,例如用户昵称、用户 ID、用户所属的服务器对象、用户所属的角色列表等等。
以上就是 Python Discord 如何获取用户变量的介绍,希望对你有所帮助!