THEMEGACODERS
THEMEGACODERS

Reputation: 93

My bot won't send embeds. It says "name" is not defined

In my discord channel I do .serverinfo and it won't respond to me even if I have the code:

@bot.command()
async def serverinfo(ctx):
          guild = ctx.guild
          server = discord.Embed(title="Server info", description="▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬")
          server.add_field(name=f':mega: Server:', value=f'➜ Server name: {guild.name}\n➜ Server id: {guild.id}\n➜ Created at: {guild.created_at}', inline=False)
          server.add_field(name=f':crown: Owner', value=f'➜ Name: {guild.owner.display_name}\n➜ Mention: {guild.owner.mention}\n➜ ID: {guild.owner.id}', inline=False)
          server.add_field(name=f':earth_americas: Region:', value=f'➜ {guild.region}')
          server.add_field(name=f':busts_in_silhouette: Members:', value=f'➜ Total Members: {len(guild.members)}\n➜ Online <:online:768523616336871434>: {len(list(filter(lambda m: str(m.status) == "online", ctx.guild.members)))}\n➜ Offline <:offline:768523674067533835>: {len(list(filter(lambda m: str(m.status) == "offline", ctx.guild.members)))}\n➜ Do not disturb <:dnd:768526277845188608>: {len(list(filter(lambda m: str(m.status) == "dnd", ctx.guild.members)))}\n➜ Idle <:idle:768523706217267252>: {len(list(filter(lambda m: str(m.status) == "idle", ctx.guild.members)))}', inline=False)
          server.add_field(name=f':shield: Roles:', value=f'➜ Total roles: {len(guild.roles)}\n➜ Top Role: <@&{ctx.guild.roles[len(ctx.guild.roles)-1].id}>')
          server.add_field(name=f':file_cabinet: Channels:', value=f'➜ Total channels: {len(guild.channels)}\n➜ Categories: {len(guild.categories)}\n➜ Text Channels: {len(guild.text_channels)}\n➜ Voice Channels: {len(guild.voice_channels)}\n➜ AFK channel: {guild.afk_channel}')
          server.add_field(name=f':notebook_with_decorative_cover: Emojis:', value=f'➜ Total emojis: {len(guild.emojis)}')
          server.set_thumbnail(url=f'{ctx.guild.icon_url}')
          
          await ctx.message.delete()
          await ctx.channel.send(embed=server)

Does anyone know why?

Upvotes: 1

Views: 164

Answers (1)

RushR
RushR

Reputation: 70

@bot.command()

you need to define name here

@bot.command(name='serverinfo')

Upvotes: 1

Related Questions