【发布时间】:2021-09-23 12:52:08
【问题描述】:
标题有点混乱,但我想创建一个命令,允许用户更改频道名称。现在,如果命令中未提及频道,我希望它更改 ctx.channel 的名称,如果提及频道,则更改提及的频道。这是我尝试过的,但它不起作用:
@_channel.command(name="rename",
aliases=["re"],
brief="Renames channel.",
help="Renames the current channel or mentioned channel if argument passed.")
async def _rename(self, ctx, channel, *, newname=None):
if not newname:
newname = channel
channel = ctx.channel
current_name = ctx.channel.name
await ctx.channel.edit(name = newname)
await ctx.send(f"Changed channel name from **{current_name}** to **{ctx.channel.name}**.")
elif newname != None:
current_name = ctx.channel.name
await ctx.channel.edit(name = newname)
await ctx.send(f"Changed channel name from **{current_name}** to **{ctx.channel.name}**.")
例如,如果我执行命令 >ch rename general 我希望它重命名 ctx.channel 的名称为“一般”,但如果我提到一个频道并执行 >ch rename #bot general 我想要它将提到的“bot”频道名称更改为“general”
【问题讨论】:
标签: python-3.x discord.py