📅  最后修改于: 2023-12-03 15:30:27.994000             🧑  作者: Mango
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.user
、BucketType.member
、BucketType.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群寻求帮助。