如何在 discord.py 中设置可选参数?

How do I set an optional argument in discord.py?(如何在 discord.py 中设置可选参数?)
本文介绍了如何在 discord.py 中设置可选参数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

限时送ChatGPT账号..

我尝试在线研究,但没有其他问题可以帮助我解决我的问题.

I've tried to research online, but no other questions were able to help me with my issue.

这是我的场景.

我正在 discord.py 中发出静音命令.

I am making a mute command in discord.py.

我希望时间是可选的,但如果没有指定时间,我希望该参数成为原因的一部分.

I want the time to be optional, but if the time is not specified I want that argument to be part of the reason.

澄清我的意思:

@client.command()
@commands.has_permissions(kick_members=True)
async def mute(ctx, member: Member = None, time: int = None, *, reason = None):
    pass

这里,如果 time 为 None,则使其成为 reason 的一部分.

Here, if time is None, then make it part of reason.

机器人将接受这两个:

!mute @user 1h 垃圾邮件!mute @user spam

这可能吗?

推荐答案

您可以选择异步等待,然后将用户取消静音:

You can optionally wait asynchronously and then unmute the user:

@bot.command()
async def mute(ctx, member: discord.Member, time: typing.Optional[int]):
    await member.edit(mute=True)
    if time:
        await asyncio.sleep(time)
        await member.edit(mute=False)

这篇关于如何在 discord.py 中设置可选参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

How do I make a list of all members in a discord server using discord.py?(如何使用 discord.py 列出不和谐服务器中的所有成员?)
how to change discord.py bot activity(如何更改 discord.py 机器人活动)
Issues with getting VoiceChannel.members and Guild.members to return a full list(让 VoiceChannel.members 和 Guild.members 返回完整列表的问题)
Add button components to a message (discord.py)(将按钮组件添加到消息(discord.py))
on_message() and @bot.command issue(on_message() 和@bot.command 问题)
How to edit a message in discord.py(如何在 discord.py 中编辑消息)