【问题标题】:Discord.py error syntaxerror: invalid syntaxDiscord.py 错误语法错误:无效语法
【发布时间】:2021-08-21 22:04:40
【问题描述】:

我正在编写一个不和谐的机器人。我在第 58 行遇到问题。我不知道我需要做什么。我正在使用 repl.it 对我的机器人和 Uptime 机器人进行编码,以使我的机器人始终在线。我的机器人是法语的,所以不要理会奇怪的拼写法。这是我的代码:。

ma​​in.py

#imports
from discord.ext import commands
from discord.ext.commands import Bot
from keep_alive import keep_alive

import discord
import os
import time
import random
import json
import choice
import youtube_dl
import datetime
import time

#clients
client = commands.client(command_prefix='-', help_command=None)
client = discord.Client()

#events
@client.event
async def on_ready():
    activity = discord.Game(name="Amogus", type=1)
    print("Amogus est en ligne!")

#commandes
@client.command()
async def ping(ctx):
  await ctx.send('Pong! le message à été envoyé avec **{0}** ms'.format(round(bot.latency, 2)))

@client.command()
async def imposter(ctx):
  await ctx.send(".    。    •\n゚  。   .\n.     。   。 . \n.   。      ඞ 。 .    •     •\n  {message.author.mention} was An Impostor.  。 .\n0 Impostor remains     。\n   .   . ,    .  .")

@client.command()
async def help(ctx):
  embed=discord.Embed(title="-help", description="Ici, vous pouvez voir les différentes commandes du bot! Si l'Usage contient [], ça veut dire que l'attribut n'est pas obligatoire. Si l'usage contient <>, ça veut dire que l'attribut est obligatoire", color=0xff0000)
  embed.add_field(name="-help", value="Envoie ce message.\nUsage: -help [nom de la commande].", inline=False)
  embed.add_field(name="-sus", value="Vérifie votre chance.\nUsage: -sus", inline=False)
  embed.add_field(name="-coinflip", value="Fait un pile ou face.\nUsage: -coinflip", inline=False)
  embed.add_field(name="-ping", value="Envoie le ping du bot.\nUsage: -ping\n", inline=False)
  embed.add_field(name="-cheh", value="Envoie cheh avec un GIF.\nUsage: -cheh\n", inline=False)
  embed.add_field(name="-dice", value="Lance des dés\nUsage: -dice <nombre de dés> <nombre de faces>\n", inline=False)
  embed.set_footer(text="\nFaites -help [le nom de la commande] pour obtenir plus d’information sur une commande spécifique\n\nPar W1L7")
  await ctx.send(embed=embed)
  
@client.command()
async def coinflip(ctx):
  coinflip = ['pile', 'face']
  await ctx.send(random.choice(coinflip))

@client.command()
async def cf(ctx):
  coinflip = ['pile', 'face']
  await ctx.send(random.choice(coinflip)

@client.command()
async def maps(ctx):
  maps-au = ['https://static.wikia.nocookie.net/among-us-wiki/images/3/35/The_Skeld_map.png/revision/latest/scale-to-width-down/310?cb=20201111005126', 'https://static.wikia.nocookie.net/among-us-wiki/images/7/77/MIRA_HQ_map.png/revision/latest/scale-to-width-down/310?cb=20201111004730', 'https://static.wikia.nocookie.net/among-us-wiki/images/a/ab/Polus_map.png/revision/latest/scale-to-width-down/310?cb=20201111010008', 'https://static.wikia.nocookie.net/among-us-wiki/images/a/a1/The_Airship_map.png/revision/latest/scale-to-width-down/310?cb=20210419084345']
  await ctx.send(random.choice(maps-au))

@client.command()
async def cheh(ctx):
  await ctx.send("par le pouvoir du grand CHEHHHHHHHHHHHHH\nhttps://cdn.nerdschalk.com/wp-content/uploads/2020/10/tenor-26.gif")

@client.command(name='dice')
async def dice(ctx, number_of_dice: int, number_of_sides: int):
  dice = [
    str(random.choice(range(1, number_of_sides + 1)))
    for _ in range(number_of_dice)
  ]
  await ctx.send(', '.join(dice))
  
@client.command()
async def sus(ctx):
  chance = ['sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus','sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus','sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus','sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus','sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus','sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus','sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus','sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus','sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'sus', 'when the imposter is sus\nhttps://www.youtube.com/watch?v=0bZ0hkiIKt0']
  await ctx.send(random.choice(chance))

#mise en ligne
keep_alive()
client.run(os.getenv('TOKEN'))

.env

TOKEN=<I paste my token here>

一切似乎都很好,但在控制台中,它是这样写的: 要么 控制台

File main.py, line 58:
async def maps(ctx):
       ^
SyntaxError: invalid syntax

【问题讨论】:

  • 你缺少右括号

标签: async-await discord.py


【解决方案1】:
@client.command()
async def cf(ctx):
  coinflip = ['pile', 'face']
  await ctx.send(random.choice(coinflip)

确保仔细检查您的括号。

client = commands.client(command_prefix='-', help_command=None)
client = discord.Client()

您在这里覆盖了变量,并且不需要 discord.Client()。

client = commands.Bot(command_prefix='-')
client.remove_command('help')

它会起作用,因为 commands.client 似乎不存在。

【讨论】:

  • @W1L7 如果我已经解决了您的问题,请将其标记为accepted。
猜你喜欢
  • 2021-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-23
  • 2021-06-11
  • 1970-01-01
  • 1970-01-01
  • 2021-07-09
相关资源
最近更新 更多