ログチャンネルに送信する内容をembedに変更
This commit is contained in:
parent
12415c9674
commit
ace3cab44b
1 changed files with 55 additions and 16 deletions
71
dislocker.py
71
dislocker.py
|
@ -927,7 +927,7 @@ class ReasonModal(discord.ui.Modal):
|
|||
|
||||
if register["about"] == "ok":
|
||||
await interaction.response.send_message(f":white_check_mark: 使用が開始されました。\n>>> # パスワード | {register["output_dict"]["password"]}\n## PC番号 | {pc_number}\n## キーボード番号 | {keyboard_number_show}\n## マウス番号 | {mouse_number_show}\n## 使用目的 | {self.reason_input_form.value}", ephemeral=True)
|
||||
await client.get_channel(dislocker.server_config["bot"]["log_channel_id"]).send(f':white_check_mark: {register["output_dict"]["name"]} さんがPC {pc_number} の使用を開始しました。\n>>> ## PC番号 | {pc_number}\n## キーボード番号 | {keyboard_number_show}\n## マウス番号 | {mouse_number_show}\n## 使用目的 | {self.reason_input_form.value}')
|
||||
await send_log(mode="use", pc_number=pc_number, keyboard_number=keyboard_number, mouse_number=mouse_number, detail=self.reason_input_form.value, discord_user_id=interaction.user.id)
|
||||
dislocker.log(title=f"[INFO] PC番号{pc_number} の使用が開始されました。", message=f"名前 | {register["output_dict"]["name"]}, 使用目的 | {self.reason_input_form.value}", flag=0)
|
||||
elif register["about"] == "pc_already_in_use_by_you":
|
||||
pc_usage_history = register["pc_usage_history"]
|
||||
|
@ -1057,6 +1057,46 @@ intents.message_content = True
|
|||
client = discord.Client(intents=intents)
|
||||
tree = discord.app_commands.CommandTree(client)
|
||||
|
||||
async def send_log(**kwargs):
|
||||
try:
|
||||
pc_number = str(kwargs.get("pc_number"))
|
||||
discord_user_id = int(kwargs.get("discord_user_id"))
|
||||
mode = str(kwargs.get("mode"))
|
||||
|
||||
if mode == "use":
|
||||
keyboard_number = int(kwargs.get("keyboard_number"))
|
||||
mouse_number = int(kwargs.get("mouse_number"))
|
||||
detail = str(kwargs.get("detail"))
|
||||
|
||||
if keyboard_number == 0:
|
||||
keyboard_number_show = "自前"
|
||||
else:
|
||||
keyboard_number_show = str(keyboard_number)
|
||||
|
||||
if mouse_number == 0:
|
||||
mouse_number_show = "自前"
|
||||
else:
|
||||
mouse_number_show = str(mouse_number)
|
||||
|
||||
|
||||
log_embed = discord.Embed(title=f"PC {pc_number} 番 | 使用開始通知", description=f"<@{discord_user_id}> さんはPCの使用を開始しました。", color=0x1343EB)
|
||||
log_embed.add_field(name="PC番号", value=pc_number)
|
||||
log_embed.add_field(name="キーボード番号", value=keyboard_number_show)
|
||||
log_embed.add_field(name="マウス番号", value=mouse_number_show)
|
||||
log_embed.add_field(name="使用目的", value=detail)
|
||||
|
||||
elif mode == "stop":
|
||||
log_embed = discord.Embed(title=f"PC {pc_number} 番 | 使用終了通知", description=f"<@{discord_user_id}> さんはPCの使用を終了しました。", color=0xE512EB)
|
||||
|
||||
await client.get_channel(dislocker.server_config["bot"]["log_channel_id"]).send(embed=log_embed)
|
||||
|
||||
return {"result": 0, "about": "ok"}
|
||||
|
||||
except Exception as error:
|
||||
dislocker.log(title=f"[ERROR] ログ送信中にエラーが発生しました。 {str(error.__class__.__name__)}", message=str(error.args), flag=1)
|
||||
return {"result": 1, "about": "error", "output_dict": {"error_class_name": str(error.__class__.__name__), "error_args": str(error.args)}}
|
||||
|
||||
|
||||
@client.event
|
||||
async def on_ready():
|
||||
dislocker.log(title=f"[SUCCESS] DiscordのBotが起動しました。", message=f"{client.user.name} としてログインしています。", flag=1)
|
||||
|
@ -1255,7 +1295,7 @@ async def on_button(interaction: discord.Interaction):
|
|||
register = dislocker.register(discord_user_id=interaction.user.id, name=interaction.user.name, display_name=interaction.user.display_name, pc_number=pc_number, keyboard_number=keyboard_number, mouse_number=mouse_number, detail=reason)
|
||||
if register["about"] == "ok":
|
||||
await interaction.response.send_message(f":white_check_mark: 使用が開始されました。\n>>> # パスワード | {register["output_dict"]["password"]}\n## PC番号 | {pc_number}\n## キーボード番号 | {str(keyboard_number_show)}\n## マウス番号 | {str(mouse_number_show)}\n## 使用目的 | {reason}", ephemeral=True)
|
||||
await client.get_channel(dislocker.server_config["bot"]["log_channel_id"]).send(f':white_check_mark: {register["output_dict"]["name"]} さんがPC {pc_number} の使用を開始しました。\n>>> ## PC番号 | {pc_number}\n## 使用目的 | {reason}')
|
||||
await send_log(mode="use", pc_number=pc_number, keyboard_number=keyboard_number, mouse_number=mouse_number, detail=reason, discord_user_id=interaction.user.id)
|
||||
dislocker.log(title=f"[INFO] PC番号{pc_number} の使用が開始されました。", message=f"名前 | {register["output_dict"]["name"]}, 使用目的 | {reason}", flag=0)
|
||||
elif register["about"] == "pc_already_in_use_by_you":
|
||||
pc_usage_history = register["pc_usage_history"]
|
||||
|
@ -1312,7 +1352,7 @@ async def on_button(interaction: discord.Interaction):
|
|||
await interaction.response.send_message("# :dizzy_face: ユーザーとして登録されていないようです。\n最初にサーバーで登録を行ってください。", ephemeral=True)
|
||||
elif pc_stop["about"] == "ok":
|
||||
await interaction.response.send_message(f":white_check_mark: PC番号 {pc_stop["output_dict"]["pc_number"]} の使用が終了されました。", ephemeral=True)
|
||||
await client.get_channel(dislocker.server_config["bot"]["log_channel_id"]).send(f':negative_squared_cross_mark: {pc_stop["output_dict"]["name"]} さんがPC {pc_stop["output_dict"]["pc_number"]} の使用を終了しました。')
|
||||
await send_log(mode="stop", pc_number=pc_stop['output_dict']['pc_number'], discord_user_id=interaction.user.id)
|
||||
else:
|
||||
await interaction.response.send_message("# :skull_crossbones: 停止できませんでした。\n内部エラーが発生しています。", ephemeral=True)
|
||||
|
||||
|
@ -1333,7 +1373,7 @@ async def use(interaction: discord.Interaction, pc_number: int, keyboard_number:
|
|||
if register["result"] == 0:
|
||||
await interaction.response.send_message(f":white_check_mark: 使用が開始されました。\n>>> # パスワード | {register["output_dict"]["password"]}\n## PC番号 | {pc_number}\n## 使用目的 | {detail}", ephemeral=True)
|
||||
dislocker.log(title=f"[INFO] PC番号{pc_number} の使用が開始されました。", message=f"名前 | {register["output_dict"]["name"]}, 使用目的 | {detail}", flag=0)
|
||||
await client.get_channel(dislocker.server_config["bot"]["log_channel_id"]).send(f':white_check_mark: {register["output_dict"]["name"]} さんがPC {pc_number} の使用を開始しました。\n>>> ## PC番号 | {pc_number}\n## 使用目的 | {detail}')
|
||||
await send_log(mode="use", pc_number=pc_number, keyboard_number=keyboard_number, mouse_number=mouse_number, detail=detail, discord_user_id=interaction.user.id)
|
||||
elif register["result"] == 1:
|
||||
if register["about"] == "pc_already_in_use_by_other":
|
||||
await interaction.response.send_message(":x: 他の方がそのPCを使用中です。", ephemeral=True)
|
||||
|
@ -1350,24 +1390,23 @@ async def use(interaction: discord.Interaction, pc_number: int, keyboard_number:
|
|||
|
||||
@tree.command(name="stop", description="パソコンの使用を終了します。通常はこのコマンドを使用する必要はありません。")
|
||||
async def stop(interaction: discord.Interaction):
|
||||
stop = dislocker.stop(discord_user_id=interaction.user.id)
|
||||
if stop["result"] == 0:
|
||||
await interaction.response.send_message(f":white_check_mark: 使用が終了されました。\n>>> ## PC番号 | {stop['output_dict']['pc_number']}", ephemeral=True)
|
||||
result_embed = discord.Embed(title=":white_check_mark: 使用停止処理は完了しました。", description=f'PC番号 {stop['output_dict']['pc_number']} 番の使用停止処理が完了しました。', color=0x56FF01)
|
||||
dislocker.log(title=f"[INFO] PC番号{stop['output_dict']['pc_number']} の使用が終了されました。", message=f"名前 | {stop['output_dict']['name']}", flag=0)
|
||||
log_embed = discord.Embed(title=f":information_source: PC番号 {stop['output_dict']['pc_number']} の使用は終了されました。", description=f"<@{interaction.user.id}> によるリクエスト", color=0x2286C9)
|
||||
await client.get_channel(dislocker.server_config["bot"]["log_channel_id"]).send(embed=log_embed)
|
||||
pc_stop = dislocker.stop(discord_user_id=interaction.user.id)
|
||||
if pc_stop["result"] == 0:
|
||||
await interaction.response.send_message(f":white_check_mark: 使用が終了されました。\n>>> ## PC番号 | {pc_stop['output_dict']['pc_number']}", ephemeral=True)
|
||||
result_embed = discord.Embed(title=":white_check_mark: 使用停止処理は完了しました。", description=f'PC番号 {pc_stop['output_dict']['pc_number']} 番の使用停止処理が完了しました。', color=0x56FF01)
|
||||
dislocker.log(title=f"[INFO] PC番号{pc_stop['output_dict']['pc_number']} の使用が終了されました。", message=f"名前 | {pc_stop['output_dict']['name']}", flag=0)
|
||||
await send_log(mode="stop", pc_number=pc_stop['output_dict']['pc_number'], discord_user_id=interaction.user.id)
|
||||
|
||||
elif stop["result"] == 1:
|
||||
if stop["about"] == "unused":
|
||||
elif pc_stop["result"] == 1:
|
||||
if pc_stop["about"] == "unused":
|
||||
result_embed = discord.Embed(title=":x: 操作に失敗しました。", description=f'あなたはPCを使用されていないようです...', color=0xC91111)
|
||||
|
||||
elif stop["about"] == "user_data_not_found":
|
||||
elif pc_stop["about"] == "user_data_not_found":
|
||||
result_embed = discord.Embed(title=":x: 操作に失敗しました。", description=f'Dislockerのユーザーとして登録されていないようです。\n登録を行ってから、またお試しください。', color=0xC91111)
|
||||
|
||||
elif stop["about"] == "error":
|
||||
elif pc_stop["about"] == "error":
|
||||
result_embed = discord.Embed(title=":x: 操作に失敗しました。", description=f'サーバーでエラーが発生しています。', color=0xC91111)
|
||||
result_embed.add_field(name=f"{stop['output_dict']['error_class_name']}", value=f"{stop['output_dict']['error_args']}")
|
||||
result_embed.add_field(name=f"{pc_stop['output_dict']['error_class_name']}", value=f"{pc_stop['output_dict']['error_args']}")
|
||||
|
||||
await interaction.response.send_message(embed=result_embed, ephemeral=True)
|
||||
|
||||
|
|
Loading…
Reference in a new issue