首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除斜杠命令

删除斜杠命令
EN

Stack Overflow用户
提问于 2021-11-04 12:55:55
回答 2查看 439关注 0票数 1

我使用dslash和nextcord创建了一个简单的斜杠命令:

代码语言:javascript
复制
import nextcord
import dslash

client = dslash.CommandClient()

@client.event
async def on_ready():
    print(f'Running')

class Options(dslash.Choices):
    trouble = 'trouble'
    foil = 'foil'

@client.command()
async def rps(interaction: nextcord.Interaction, choice: Options):

    if choice == Option.foil:
        await interaction.response.send_message("You were foiled")
    else:
        await interaction.response.send_message(f"You picked {choice}.")
        

client.run(token.fetch())

运行正常,但是现在我已经更改了函数的名称,并且我不希望/rps再从我的机器人中可用。

如何删除?我已经检查了服务器设置,但我找不到任何东西,所以我假设这应该是用dslash完成的?

EN

回答 2

Stack Overflow用户

发布于 2021-11-04 19:58:55

当您启动bot时,dslash将自动清除bot中不再注册在您的代码中的任何命令-因此,如果您更改了函数的名称,如您所说,命令的名称应该在您下次运行bot时更新。

但是,Discord会在客户端缓存全局命令长达一个小时,这意味着您可能需要等待命令更新那么长时间。为了在开发过程中避免这个问题,Discord建议使用特定于服务器的命令,这些命令不会被缓存。通过将guild_id参数添加到客户端,您可以在dslash中快速地使所有命令特定于服务器,例如:

代码语言:javascript
复制
client = dslash.CommandClient(guild_id=640606716442050605)
票数 1
EN

Stack Overflow用户

发布于 2021-11-04 17:48:10

一种解决方案(我使用的)是踢机器人,并邀请它回来,它被清除了。

应该有一个用于它的api方法(比如在Discord.js中,您可以只提供一个空列表),但是我没有找到一个。通过文档,github或其他方式,所以现在我相信这是唯一的解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69839585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档