embedVar не работи на python discord bot

В момента кодирам discord бот и се опитвам да създам команда, която е подобна на pls gayrate, която има ботът Dank Memer. Това е моят код досега:

@client.command()
async def gayrate(ctx):
    zeroto100 = random.randint(0, 100)
    embedVar = discord.Embed(title = "gayrate lmao", description = "how gay are ya", color = 0xffffff)
    embedVar.add_field(name = f"{message.author}", value = "is", zeroto100, "percent gay :gay_pride_flag:"
    await ctx.send (embed = embedVar)

Когато стартирам този код, той връща:

await ctx.send (embed = embedVar)
        ^
SyntaxError: invalid syntax

Имам всички други необходими неща, за да пусна бота да работи, само тази част не е. Някой знае ли как да оправя този проблем? Благодаря!


person MaxiTaxi27    schedule 11.08.2020    source източник


Отговори (1)


Ето нещата, които пропускате:

  1. Липсва ви ) стойност след на реда преди await ctx.send.
  2. Трябва да използвате f-strings за форматиране на низ.
  3. Трябва да е ctx.message.author вместо message.author.
  4. Декораторът на команди се нуждае от ().

Ето ревизирания код:

@client.command()
async def gayrate(ctx):
    zeroto100 = random.randint(0, 100)
    embedVar = discord.Embed(title="gayrate lmao", description="how gay are ya", color=0xffffff)
    embedVar.add_field(name=f"{ctx.message.author}", value=f"is {zeroto100} percent gay :gay_pride_flag:")
    await ctx.send(embed=embedVar)
person Just for fun    schedule 11.08.2020