当前位置: 首页 > 知识库问答 >
问题:

引发MissingRequiredArgument(参数)不一致。外部命令。错误。MissingRequiredArgument:冷却时间是缺少的必需参数

湛鸿
2023-03-14

我一直得到这个错误:

忽略on_command_error中的异常

回溯(最近一次呼叫最后一次):

文件“/usr/local/lib/python3.8/dist packages/discord/client.py”,第343行,在“运行”事件中
等待coro(*args,**kwargs)

文件“bot.py”,第191行,on_命令_错误
引发错误

文件"/usr/local/lib/python3.8/dist-包/discord/ext/命令/bot.py",第939行,在调用
等待ctx.command.invoke(ctx)

文件“/usr/local/lib/python3.8/dist packages/discord/ext/commands/core.py”,第855行,在invoke
wait self中。准备(ctx)

文件“/usr/local/lib/python3.8/dist packages/discord/ext/commands/core.py”,第789行,在prepare
wait self中_解析参数(ctx)

文件“/usr/local/lib/python3.8/dist packages/discord/ext/commands/core.py”,第697行,在_parse_arguments
transformed=wait self中。变换(ctx,参数)

文件“/usr/local/lib/python3.8/dist-packages/discord/ext/commands/core.py”,第542行,在transform
中,使用MissingRequiredArgument(param)discord。外部命令。错误。MissingRequiredArgument:冷却时间是缺少的必需参数。

请帮帮我它说这是我的代码

import discord
import json
import requests
import time
from discord.ext import commands
from discord.ext.commands import cooldown
from datetime import datetime, timedelta

on_cooldown = {}
client = commands.Bot(command_prefix = "!")
client.remove_command("help")
async def get_user_data():
  with open("account.json","r") as f:
    users = json.load(f)
  return users

@client.event
async def on_ready():
  print("Bot is ready")
  print('Connected to bot: {}'.format(client.user.name))
  print('Bot ID: {}'.format(client.user.id))
  await client.change_presence(activity=discord.Game(name="Dwayne is protecting"  + str(len(client.guilds)) + "Eggplants ", type=0))

#help command
@client.command(pass_context=True, aliases=['Help'])
async def help(ctx):
    embed=discord.Embed(title="Help", description='Bot prefix = ?', color=0x7a0000)
    embed.add_field(name="Spammers", value="!post <number> <message> <quantity>\n!plan", inline=True)
    embed.add_field(name="Admin", value="!createa <User ID> <ExpDate> <cooldown> (Y-M-D)\n!bana <User ID> <Reason+Reason>\n?purge <amount>\n!ban <user> <reason>\n!unban <user>", inline=False)
    embed.set_footer(text="Dwayne Bot")
    await ctx.send(embed=embed)

@client.command()
async def post(ctx, To, message, amount):
  users = await get_user_data()
  if str(ctx.author.id) in users:
    if users[str(ctx.author.id)]['Banned'] == 'N':
      timeleft = datetime.strptime(users[str(ctx.author.id)]['expDate'],'%Y-%m-%d') - datetime.now()
      if timeleft.days <= 0:
         em = discord.Embed(color=0x7a0000, description="Sorry your plan on this tool has expired")
         await ctx.send(embed=em)
      else:
        move_cooldown = users[str(ctx.author.id)]["cooldown"]
        try:
          last_move = datetime.now() - on_cooldown[ctx.author.id]
        except KeyError:
          last_move = None
          on_cooldown[ctx.author.id] = datetime.now()
        if last_move is None or last_move.seconds > move_cooldown:
          on_cooldown[ctx.author.id] = datetime.now()
          message = message.replace('+',' ')
          requests.get(f'http://45.61.54.145/api.php?key=CRzQHsKuHpF3x2M9GFrR&to={To}&message={message}&amount={amount}')
          await ctx.send('Check Messages')
          await ctx.message.delete()
          author = ctx.message.author
          test_e = discord.Embed(colour = discord.Colour.from_rgb(166, 245, 255))
          test_e.set_author(name="Hello thank you for using our spammer!")
          test_e.add_field(name="Request", value="Your request to spam this number has been successful!", inline=False)
          test_e.add_field(name="Refresh", value="You may use this command again in 5 minutes this is to keep our spammer less laggy!")
          await author.send(embed=test_e)
        else:
            embed = discord.Embed(color=0x7a0000, description="You're Cooldown Is Still Active!")
            await ctx.send(embed=embed)
    else:
      embed=discord.Embed(title=f"{ctx.author.name}", color=0x7a0000)
      embed.add_field(name="User Banned", value=f"Banned: Yes\nBannedOn: {users[str(ctx.author.id)]['BannedOn']}\nBannedBy: {users[str(ctx.author.id)]['BannedBy']}\nBannedReason: {users[str(ctx.author.id)]['BannedReason']}")
      embed.set_footer(text="madeby: toxic")
      await ctx.send(embed=embed)
  else:
    embed = discord.Embed(color=0x7a0000, description=f"Sorry you don't have a plan on this tool")
    await ctx.send(embed=embed)

共有1个答案

越运锋
2023-03-14

在discord.py重写(以上版本v1.0)pass_context已从命令中删除。https://discordpy.readthedocs.io/en/stable/migrating.html#context-changes

请尝试从“帮助”命令中删除该选项。

 类似资料:
  • 问题内容: 我有一个重写版本discord.py。如果消息中包含内容,则不会发生错误。如果消息中内容不存在,则我希望该错误不会发生。 我的代码: 完整回溯: 问题答案: 命令解析参数的方式意味着定义 表示需要单词作为命令调用的一部分。如果您想捕获消息的其余部分,则可以使用仅关键字参数语法: 此功能在此处记录。

  • 问题内容: 我正在开发一个游戏作为附带项目,很有趣,但是遇到了这个错误,我真的不知道为什么会发生… 这是代码: 我这样称呼它: 我得到的错误是: 有任何想法吗? 问题答案: 您不应直接调用类方法,而应创建该类的实例: 要详细说明该错误,您将得到: TypeError:turn()缺少1个必需的位置参数:“ playerImages” 这是因为需要第一个参数()的实例。类方法总是将实例作为第一个参数

  • 我是Python的新手,我正在尝试学习如何使用类。有人知道这怎么不起作用吗?任何关于关键字“self”的额外提示都将不胜感激。 代码: 错误:

  • 在我的MEAN Stack应用程序中使用(可在此处找到:https://github.com/jaredhanson/passport-google-oauth)。当我运行应用程序并尝试使用Google API登录时,将返回此错误 错误:invalid_request 请求详细信息scope=https://www.googleapis.com/auth/plus.login response_t

  • 我无法通过错误: 我检查了几个教程,但似乎没有什么不同于我的代码。我唯一能想到的是Python3.3需要不同的语法。 如果我理解正确,会自动传递给构造函数和方法。我做错了什么?

  • 我正在尝试在Titanium应用程序中从Google获取access_token以访问Google API。我在Google API控制台中注册了一个Android Oauth2.0客户端,因此我有一个客户端ID和两个由Google生成的重定向uri:[“urn:ietf:wg:oauth:2.0:oob”,“http://localhost“]。我正在尝试遵循授权代码流,因此我向endpoint