首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从cog nextcord注册Slash命令

从cog nextcord注册Slash命令
EN

Stack Overflow用户
提问于 2022-06-26 13:02:48
回答 1查看 496关注 0票数 0

所以我尝试用nextcord (python)在cogs中注册一个斜杠命令,它说它已经用bot.load_extension(blahblah(bot)加载了它,但是它没有注册,甚至在DMS中也没有,下面是代码

代码语言:javascript
复制
from nextcord.ext  import commands
class Test(commands.Cog):
    def __init__(self,bot):
        self.bot=bot
    guilds = IDOFSERVER
    @nextcord.slash_command(name="slashincog",guild_ids=[guilds])
    async def slashincog(self, interaction: nextcord.Interaction):
        await interaction.response.send_message("Testing")

def setup(bot):
  bot.add_cog(Test(bot))

加载斜杠命令有什么需要做的吗?我试过很多教程,但似乎都没有用。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2022-08-10 04:34:07

下面是Nextcord不和谐服务器的一些建议。#3可能是这里的问题,但如果你还没有解决,你可以看看其他的可能性。

最常见的问题

  1. ,您没有在启用application.commands oauth的情况下邀请机器人进入您的公会。转到开发人员门户,同时启用bot和applications.commands,并为您的服务器重新授权您的bot .

  1. --您正在使用全局命令,并且可能还没有等待(最多)一个小时才能显示它们。

  1. ,你在你的机器人里面添加带有斜杠命令的齿轮,太晚了。您需要在调用on_connect之前(最好是在机器人启动之前)添加它们,或者手动运行全局和/或公会同步方法。

较小的常见问题

  1. 不和谐有时会变得很奇怪,不会刷新可用的命令。尝试重新启动您的不和谐客户端。

  1. 您正在重写on_connect,它将应用程序命令添加到bot/client (包括cogs中的应用程序命令)并推出全局命令。要么停止重写它,要么向其添加bot.add_all_application_commands()await bot.sync_application_commands()

  1. 您正在重写on_guild_available,后者向公会发布命令。要么停止重写它,要么向其添加以下代码块:

代码语言:javascript
复制
try:
    await bot.sync_application_commands(guild_id=guild.id)
except Forbidden:
    pass
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72761831

复制
相关文章

相似问题

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