Discord.py 缺少必需的参数
- 作者: 嗷嗷叫灬
- 来源: 51数据库
- 2023-02-01
问题描述
我有一个重写版本 discord.py.如果消息有内容,则不会发生错误.我需要如果消息没有内容,则不会发生错误.
I have a rewrite version discord.py.If message have content, error does not happened.I need that error does not happened if message have not content.
我的代码:
@client.command(pass_context = True)
def async search(ctx,message):
...
some code
...
if members_count < voice_channel.user_limit:
message.content += ' '
print(message.content)
invite = await channel.create_invite(max_age=0)
avatar = user.avatar_url
if message == '':
message_for_emb = 'u200b'
elif message != '':
message_for_emb = ':white_small_square: {}'.format(message)
if user.default_avatar_url == avatar:
avatar = 'https://i.imgur.com/XjeDXnB.png'
embed = discord.Embed(description=members, colour=discord.Embed.Empty)
embed.set_author(name='В поисках +{} в {} {}'.format((voice_channel.user_limit - members_count),
voice_channel.category.name,voice_channel.name), icon_url=avatar)
embed.add_field(name=message_for_emb,
value='Зайти: {} :white_check_mark:'.format(invite.url), inline=False)
await channel.send(embed=embed)
完整的追溯:
Ignoring exception in command search:
Traceback (most recent call last):
File "C:UsersДаниилPycharmProjectsdiscordbotvenvlibsite-packagesdiscordextcommandsot.py", line 886, in invoke
yield from ctx.command.invoke(ctx)
File "C:UsersДаниилPycharmProjectsdiscordbotvenvlibsite-packagesdiscordextcommandscore.py", line 491, in invoke
yield from self.prepare(ctx)
File "C:UsersДаниилPycharmProjectsdiscordbotvenvlibsite-packagesdiscordextcommandscore.py", line 455, in prepare
yield from self._parse_arguments(ctx)
File "C:UsersДаниилPycharmProjectsdiscordbotvenvlibsite-packagesdiscordextcommandscore.py", line 369, in _parse_arguments
transformed = yield from self.transform(ctx, param)
File "C:UsersДаниилPycharmProjectsdiscordbotvenvlibsite-packagesdiscordextcommandscore.py", line 249, in transform
raise MissingRequiredArgument(param)
discord.ext.commands.errors.MissingRequiredArgument: message is a required argument that is missing.
推荐答案
命令解析参数的方式意味着定义
The way commands parse arguments means that defining
async def search(ctx, message):
意味着 search 需要一个词 message 作为命令调用的一部分.如果您想捕获消息的其余部分,则可以使用仅关键字参数语法:
means that search requires a word message as part of the command invocation. If you instead want to capture the remainder of the message, you can use the keyword-only argument syntax:
async def search(ctx, *, message)
此功能记录在此处一个>.
推荐阅读
热点文章
Discord.py(重写)on_member_update 无法正常工作
0
Discord.py 在 vc 中获取用户分钟数
0
discord.py 重写 |为我的命令出错
0
Discord.py rewrite 如何 DM 命令?
0
播放音频时,最后一部分被切断.如何解决这个问题?(discord.py)
0
在消息删除消息 Discord.py
0
如何使 discord.py 机器人私人/直接消息不是作者的人?
0
(Discord.py) 如何获取整个嵌入内容?
0
Discord bot 尽管获得了许可,但不能提及所有人
0
Discord.py discord.NotFound 异常
0
