はじめに
この記事ではinteractions.pyというモジュールを使用してDiscord Botを作りたい人向けです。
#05ではSlashCommandの応用について解説していきたいと思います。
SlashCommandを登録する
これが基礎のプログラムです。
@bot.command(
name="main",
description="メインコマンド",
)
では今からこのプログラムにサブコマンドなどを追加していきたいと思います。
サブコマンドを登録する
@bot.command(
name="main",
description="テストコマンド",
options=[
interactions.Option(
type=interactions.OptionType.STRING,
name="sub",
description="サブコマンド",
required=True,
),
],
)
こうすることでサブコマンドを追加できます。
f5で実行した時にこの様になれば成功です。
サブコマンドに選択肢を追加する
通常だとサブコマンドには選択肢がないので、追加していきます。
@bot.command(
name="main",
description="テストコマンド",
options=[
interactions.Option(
type=interactions.OptionType.STRING,
name="sub",
description="サブコマンド",
required=True,
choices=[
interactions.Choice(name="Option1", value="option1"),
interactions.Choice(name="Option2", value="option2")
],
),
],
)
options
内に choices = ...
という感じで追加することで選択肢を追加することができます。
成功するとこの様になります。
サブコマンドに書かれたことを取得する
サブコマンドの欄に書かれたことを取得するには、
async def main(ctx: interactions.CommandContext, sub: str):
#print(sub)
という感じで、 sub: str
をctxの後に追加することでsubコマンド内に書かれたことを取得することができます。
最後に
今回はinteractionsに含まれる Slash Commandについてさらに解説しました。
もし分からないところがあれば Azusa#5812 に気軽にDMしてください。
Discordサーバー
この度、bot開発者が話し合えるようなDiscordサーバーを開設しました!
ぜひ見に来てください!