📜  discord.py 可选参数 - Python (1)

📅  最后修改于: 2023-12-03 15:30:27.994000             🧑  作者: Mango

Discord.py 可选参数

discord.py是一款用于开发Discord Bot的Python库。在创建模块或函数时,您可以使用一些可选参数来实现更多的定制化。

参数: guilds

描述: 限制该功能或命令只在指定的服务器中生效。

使用格式: guilds=[server_id_1, server_id_2, ...]

代码样例:

@client.command()
async def my_command(ctx):
    if ctx.guild.id in [server_id_1, server_id_2]:
        # 在指定服务器中生效
        await ctx.send("进行操作...")

类似的,您也可以使用guild_only()来限制整个Cog只在指定的服务器中生效。

参数: aliases

描述: 为该功能或命令指定别名。

使用格式: aliases=[alias_1, alias_2, ...]

代码样例:

@client.command(aliases=["alias1", "alias2"])
async def my_command(ctx):
    # 为my_command指定了两个别名:alias1和alias2
    await ctx.send("进行操作...")

现在,你的Bot就可以通过!alias1!alias2来调用my_command了。

参数: cooldown

描述: 限制该功能或命令的触发频率。

使用格式: cooldown=Cooldown(rate, per, type)

  • rate:指定可使用该指令或功能的次数。
  • per:指定限制频率的时间长度,单位为秒。
  • type:指定对谁生效。可选参数有:BucketType.default(默认)、BucketType.userBucketType.memberBucketType.guild

代码样例:

from discord.ext import commands
from discord.ext.commands import Cooldown

@commands.cooldown(rate=1, per=30, type=BucketType.user)
@client.command()
async def my_command(ctx):
    # 每30秒只能使用一次my_command
    await ctx.send("进行操作...")
参数: description

描述: 特定功能或命令的功能和用法的简要说明。

使用格式: description="My description"

代码样例:

@client.command(description="软删除指定内容")
async def sdelete(ctx, message: discord.Message):
    await message.delete()
    await ctx.message.delete()

在使用help命令时,您的Bot将返回该功能或命令的说明信息。

参数: name

描述: 为该功能或命令指定名称。

使用格式: name="my_command"

代码样例:

@client.command(name="my_command")
async def another_name(ctx):
    # 将该命令名字改为"my_command"
    await ctx.send("进行操作...")

现在,你的Bot就可以通过!my_command来调用another_name了。

以上就是discord.py 可选参数的介绍。如有任何问题,请查看discord.py官方文档或官方Discord群寻求帮助。