sorairo-rlf
@sorairo-rlf

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

nextcord スラッシュコマンドの同期。

解決したいこと

nextcord スラッシュコマンドの同期などについての問題

例)
Pythonでnextcordを使用したディスコードBOTを開発しているのですが、
スラッシュコマンドの同期?がうまくいかないようです。
解決方法を教えて下さい。

環境

windows 11
Python 3.13.1
nextcord 3.0.1

発生している問題

# main.py
# ~~~~~~~~
# ボットのインテントを設定
intents = nextcord.Intents.default()
intents.guilds = True
intents.members = True
intents.messages = True
intents.message_content = True
bot = commands.Bot(command_prefix="/", intents=intents) 
# ~~~~~~~~
# Cogの定義したファイルの読み込み
async def load_cogs():
    for filename in os.listdir("./cogs"):
        if filename.endswith(".py") and not filename.startswith("__"):
            try:
                bot.load_extension(f"cogs.{filename[:-3]}")
                print(f"Loaded cog: {filename}")
            except Exception as e:
                print(f"Failed to load cog {filename}: {e}")
# ~~~~~~~~
# ボットの起動イベント
@bot.event
async def on_ready():
    print(f"{bot.user} でログインしました")
    true_guild = None
    for guild in bot.guilds:
        if guild.id != SERVER_ID:
            await guild.leave()
            print(f"{guild.name} サーバーから退出しました。")
        else:
            true_guild = guild
    if true_guild is None:
        return
    print(f"{true_guild.name} を制御します。")
    await load_cogs()
# cogs/sample.py
import nextcord
from nextcord.ext import commands

# コグの設定
class Fun(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

    # ボットに挨拶を返させるコマンド
    @nextcord.slash_command(name="hello", description="nasi")
    async def hello(self, ctx):
        await ctx.send(f"こんにちは、{ctx.author.name}さん!")

    # 軽い情報表示のコマンド
    @nextcord.slash_command(name='ping', description="nasi")
    async def ping(self, ctx):
        await ctx.send(f'Pong! ラグは {round(self.bot.latency * 1000)}ms')

# コグの追加
def setup(bot):
    bot.add_cog(Fun(bot))

問題1

  1. BOTをディスコードのサーバーに追加
  2. プログラム実行
  3. スラッシュコマンドが反映された
  4. プログラム終了
  5. 新たなスラッシュコマンドの追加
  6. プログラム実行
  7. 新たなスラッシュコマンドが反映されない
  8. BOTをサーバーから退会
  9. 再度「1」からくりかえしになる

問題2
時間経過で設定したスラッシュコマンドが「不明な連携」となり実行できなくなる。

nextcordの記事が少なくて調べてもわかりませんでした。
(私が調べるの下手なだけかもしれませんが...)
可能性のありそうな記事でもいいので、わかる方がいましたら教えて下さい。

0

1Answer

実際に出ているエラーコードやログがあれば、貼っていただくと回答を得やすいかもしれません。

0Like

Comments

  1. コマンドですが、あいさつと、別のあいさつにしても同じですか?
    あいさつ>ping、ping>あいさつ、あいさつ>同じあいさつ、あいさつ>別のあいさつ
    これくらい試しても、どれでも同じでしょうか?

Your answer might help someone💌