ボタン周りの処理を修正

This commit is contained in:
suti7yk5032 2024-09-26 16:52:48 +09:00
parent f1967f0388
commit fc16d15ef9

View file

@ -761,7 +761,6 @@ class ReasonModal(discord.ui.Modal):
else: else:
await interaction.response.send_message("# :skull_crossbones: 登録できませんでした。\n内部エラーが発生しています。", ephemeral=True) await interaction.response.send_message("# :skull_crossbones: 登録できませんでした。\n内部エラーが発生しています。", ephemeral=True)
dislocker = DL() dislocker = DL()
intents = discord.Intents.default() intents = discord.Intents.default()
@ -780,6 +779,13 @@ async def on_ready():
await tree.sync() await tree.sync()
@client.event @client.event
async def on_interaction(interaction: discord.Interaction):
try:
if interaction.data["component_type"] == 2:
await on_button(interaction)
except KeyError:
pass
async def on_button(interaction: discord.Interaction): async def on_button(interaction: discord.Interaction):
custom_id = interaction.data["custom_id"] custom_id = interaction.data["custom_id"]
custom_id_split = custom_id.split("_") custom_id_split = custom_id.split("_")
@ -997,7 +1003,7 @@ async def devicereg(interaction: discord.Interaction):
if onetime["about"] == "error": if onetime["about"] == "error":
await interaction.response.send_message(":x: 内部エラーが発生しました。\nサーバーでエラーが発生しています。管理者に問い合わせてください。", ephemeral=True) await interaction.response.send_message(":x: 内部エラーが発生しました。\nサーバーでエラーが発生しています。管理者に問い合わせてください。", ephemeral=True)
@tree.command(name="fstop", description="PCの使用を強制終了します。") @tree.command(name="fstop", description="PCの使用登録を強制的に終了します。")
async def fstop(interaction: discord.Interaction, pc_number: int, about: str): async def fstop(interaction: discord.Interaction, pc_number: int, about: str):
force_stop = dislocker.force_stop(pc_number=pc_number, bot_about=about) force_stop = dislocker.force_stop(pc_number=pc_number, bot_about=about)
if force_stop["result"] == 0: if force_stop["result"] == 0:
@ -1043,6 +1049,8 @@ async def button_init(interaction: discord.Interaction, text_channel: discord.Te
await client.get_channel(text_channel.id).send(f'# :index_pointing_at_the_viewer: 使いたいPCの番号を選んでください', view=pc_button_view) await client.get_channel(text_channel.id).send(f'# :index_pointing_at_the_viewer: 使いたいPCの番号を選んでください', view=pc_button_view)
dislocker.log(title=f"[INFO] サーバーで初回処理を実行しました。", flag=0) dislocker.log(title=f"[INFO] サーバーで初回処理を実行しました。", flag=0)
await interaction.response.send_message(f":white_check_mark: ボタンを送信しました!", ephemeral=True)
client.run(dislocker.server_config["bot"]["token"]) client.run(dislocker.server_config["bot"]["token"])