如何在Discord按钮交互后获取用户头像文件名并传入URL?
解决方案
首先,你需要确保test_url的格式字符串中包含对应头像文件名的占位符,比如"https://your-domain.com?avatar={avatar_filename}"。
然后修正原代码的语法错误,并调整为仅传入头像文件名:
# 示例test_url格式 test_url = "https://your-domain.com?avatar={avatar_filename}" # 添加按钮到view view.add_item(discord.ui.Button( label="Test", url=test_url.format(avatar_filename=str(interaction.user.avatar.filename)) ))
- 注意:如果用户未设置自定义头像,
interaction.user.avatar会返回None,直接调用filename会报错,建议增加判断处理这种情况:
# 处理无自定义头像的场景,可自定义默认值 avatar_filename = str(interaction.user.avatar.filename) if interaction.user.avatar else "default_avatar" view.add_item(discord.ui.Button( label="Test", url=test_url.format(avatar_filename=avatar_filename) ))
这样点击按钮时,URL中就只会传入用户头像的文件名了。
内容的提问来源于stack exchange,提问作者Azan Clarity
相关产品推荐
相关产品推荐

