尝试在discord python bot中使用多个f字符串不起作用

问题描述

你好,所以我已经尝试解决这个问题几个小时了,只是无法弄清楚出了什么问题,我之前在 discord python 中进行了 api 调用,但这是第一次使用这样的多个变量。

@client.command()
async def random(ctx):
    url = ('https://randomuser.me/api/')

    response = requests.get(url)
    title = response.json()["title"]
    first = response.json()["first"]
    last = response.json()["last"]
    number = response.json()["number"]
    street = response.json()["name"]
    city = response.json()["city"]
    state = response.json()["state"]
    postcode = response.json()["postcode"]
    country = response.json()["country"]
    phone = response.json()["phone"]
    age = response.json()["age"]
    dob = response.json()["date"]
    gender = response.json()["gender"]
    username = response.json()["username"]
    password = response.json()["password"]
    image = response.json()['large']

    embed = discord.Embed(title="Random Generator",description="**Name:** f'{title},{first} {last}\n**Address:** {number} {street},{city},{state},{postcode},{country}\n**Phone:** {phone}\n**Age:** {age},{dob}\n**Gender:** {gender}\n**Alias:** {username},{password}\n\n**Profile Picture Link:** {large}'",color=18321)
    embed.set_footer(text="Thanks for using the bot")                                                
    embed.set_image(url="value=f'{large}'")
                                                           
    await ctx.send(embed=embed)

请如果有人知道什么是错的,可以帮忙谢谢

解决方法

f-strings 不能在其他字符串中使用

而不是做

description="**Name:** f'..."

你应该这样做

description=f"**Name:** {title}..."

和你所有的 f-strings 一样

,

您不能在 "name: f'{title}'" 等其他字符串中使用 f 字符串。试试这个:

description = f"**Name:** {title}..."