コマンドの権限を設定

This commit is contained in:
suti7yk5032 2024-09-26 17:01:20 +09:00
parent 65d1f6e568
commit ff30611ebd

View file

@ -978,6 +978,7 @@ async def stop(interaction: discord.Interaction):
#管理者側のスラッシュコマンド #管理者側のスラッシュコマンド
@tree.command(name="userreg", description="ユーザーを登録します。") @tree.command(name="userreg", description="ユーザーを登録します。")
@discord.app_commands.default_permissions(administrator=True)
async def userreg(interaction: discord.Interaction, discord_user_id: str, discord_user_name: str, name: str): async def userreg(interaction: discord.Interaction, discord_user_id: str, discord_user_name: str, name: str):
user_register = dislocker.user_register(discord_user_id=discord_user_id, discord_user_name=discord_user_name, name=name) user_register = dislocker.user_register(discord_user_id=discord_user_id, discord_user_name=discord_user_name, name=name)
if user_register["result"] == 0: if user_register["result"] == 0:
@ -990,6 +991,7 @@ async def userreg(interaction: discord.Interaction, discord_user_id: str, discor
await interaction.response.send_message(":x: 内部エラーが発生しました。\nサーバーでエラーが発生しています。管理者に問い合わせてください。", ephemeral=True) await interaction.response.send_message(":x: 内部エラーが発生しました。\nサーバーでエラーが発生しています。管理者に問い合わせてください。", ephemeral=True)
@tree.command(name="pcreg", description="PCを登録するためのワンタイムパスワードを発行します。") @tree.command(name="pcreg", description="PCを登録するためのワンタイムパスワードを発行します。")
@discord.app_commands.default_permissions(administrator=True)
async def pcreg(interaction: discord.Interaction): async def pcreg(interaction: discord.Interaction):
onetime = dislocker.pc_onetime_gen() onetime = dislocker.pc_onetime_gen()
if onetime["result"] == 0: if onetime["result"] == 0:
@ -1000,6 +1002,7 @@ async def pcreg(interaction: discord.Interaction):
await interaction.response.send_message(":x: 内部エラーが発生しました。\nサーバーでエラーが発生しています。管理者に問い合わせてください。", ephemeral=True) await interaction.response.send_message(":x: 内部エラーが発生しました。\nサーバーでエラーが発生しています。管理者に問い合わせてください。", ephemeral=True)
@tree.command(name="devicereg", description="デバイスを登録するためのワンタイムパスワードを発行します。") @tree.command(name="devicereg", description="デバイスを登録するためのワンタイムパスワードを発行します。")
@discord.app_commands.default_permissions(administrator=True)
async def devicereg(interaction: discord.Interaction): async def devicereg(interaction: discord.Interaction):
onetime = dislocker.device_onetime_gen() onetime = dislocker.device_onetime_gen()
if onetime["result"] == 0: if onetime["result"] == 0:
@ -1010,6 +1013,7 @@ async def devicereg(interaction: discord.Interaction):
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の使用登録を強制的に終了します。")
@discord.app_commands.default_permissions(administrator=True)
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:
@ -1024,6 +1028,7 @@ async def fstop(interaction: discord.Interaction, pc_number: int, about: str):
await interaction.response.send_message(":x: 内部エラーが発生しました。\nサーバーでエラーが発生しています。管理者に問い合わせてください。", ephemeral=True) await interaction.response.send_message(":x: 内部エラーが発生しました。\nサーバーでエラーが発生しています。管理者に問い合わせてください。", ephemeral=True)
@tree.command(name="report", description="PCの使用履歴をエクスポートします。") @tree.command(name="report", description="PCの使用履歴をエクスポートします。")
@discord.app_commands.default_permissions(administrator=True)
async def report(interaction: discord.Interaction): async def report(interaction: discord.Interaction):
report_export = dislocker.report_export() report_export = dislocker.report_export()
if report_export["result"] == 0: if report_export["result"] == 0:
@ -1034,6 +1039,7 @@ async def report(interaction: discord.Interaction):
await interaction.response.send_message(":x: 内部エラーが発生しました。\nサーバーでエラーが発生しています。管理者に問い合わせてください。", ephemeral=True) await interaction.response.send_message(":x: 内部エラーが発生しました。\nサーバーでエラーが発生しています。管理者に問い合わせてください。", ephemeral=True)
@tree.command(name="init", description="操作チャンネルにボタン一式を送信します。") @tree.command(name="init", description="操作チャンネルにボタン一式を送信します。")
@discord.app_commands.default_permissions(administrator=True)
async def button_init(interaction: discord.Interaction, text_channel: discord.TextChannel): async def button_init(interaction: discord.Interaction, text_channel: discord.TextChannel):
user_register_button_view = discord.ui.View(timeout=None) user_register_button_view = discord.ui.View(timeout=None)
user_register_button = discord.ui.Button(style=discord.ButtonStyle.green, label="ユーザー登録", custom_id="user_register") user_register_button = discord.ui.Button(style=discord.ButtonStyle.green, label="ユーザー登録", custom_id="user_register")