ログの種類を増やす

This commit is contained in:
suti7yk5032 2024-10-01 12:04:24 +09:00
parent dba2358534
commit a5b7ba9c18

View file

@ -1000,7 +1000,7 @@ class Monitor():
user_info = cursor.fetchall()
stop = dislocker.stop(discord_user_id=user_info[0][3], bot_about="タイムアウトでBotによる強制停止。")
discord_user_id = dislocker.get_discord_user_id(member_id=member_id)["discord_user_id"]
asyncio.run(send_log(mode="timeout", pc_number=i[0], discord_user_id=discord_user_id))
asyncio.run_coroutine_threadsafe(send_log(mode="timeout", pc_number=i[0], discord_user_id=discord_user_id))
dislocker.log(title=f"[INFO] パスワードのタイムアウト時間に達したため、強制停止されました。", flag=0)
result = {"result": "STOP", "details": str(pc_usage)}
else:
@ -1067,6 +1067,19 @@ async def send_log(**kwargs):
elif mode == "timeout":
log_embed = discord.Embed(title=f":alarm_clock: PC {pc_number} 番 | タイムアウト通知", description=f"<@{discord_user_id}> さんが指定時間内にPCを使用しなかったため、停止されました。", color=0xE512EB)
elif mode == "userreg":
log_embed = discord.Embed(title=f":bust_in_silhouette: ユーザー登録通知", description=f"<@{discord_user_id}> さんがユーザーとして登録されました。", color=0x1343EB)
elif mode == "fstop":
reason = str(kwargs.get("reason"))
log_embed = discord.Embed(title=f":stop_button: PC {pc_number} 番 | 強制停止通知", description=f"<@{discord_user_id}> さんによってPCの使用は停止されました。", color=0xE512EB)
log_embed.add_field(name="理由", value=reason)
elif mode == "pcnickname":
alt_name = str(kwargs.get("alt_name"))
log_embed = discord.Embed(title=f":pencil: PC {pc_number} 番 | PCのニックネーム変更通知", description=f"<@{discord_user_id}> さんによってPCのニックネームが変更されました。", color=0x1343EB)
log_embed.add_field(name="ニックネーム", value=alt_name)
await client.get_channel(dislocker.server_config["bot"]["log_channel_id"]).send(embed=log_embed)
@ -1340,6 +1353,7 @@ async def on_button(interaction: discord.Interaction):
user_register = dislocker.user_register(name=interaction.user.display_name, discord_user_name=interaction.user.name, discord_user_id=interaction.user.id)
if user_register["about"] == "ok":
await interaction.response.send_message(f"# :white_check_mark: ユーザー情報が登録されました。\n>>> ユーザー名:{interaction.user.display_name}", ephemeral=True)
await send_log(mode="userreg", discord_user_id=interaction.user.id)
elif user_register["about"] == "already_exists":
await interaction.response.send_message("# :no_entry: 登録できませんでした。\nもう登録されている可能性があります。", ephemeral=True)
else:
@ -1399,6 +1413,7 @@ async def userreg(interaction: discord.Interaction, discord_user_id: str, discor
if user_register["result"] == 0:
result_embed = discord.Embed(title=":white_check_mark: ユーザー登録が完了しました。", description=f'続いて、PCの使用登録を行いましょう', color=0x56FF01)
dislocker.log(title=f"[INFO] ユーザーを登録しました。", message=f"名前 | {name}, Discordユーザー名 | {discord_user_name}, DiscordユーザーID | {discord_user_id}", flag=0)
await send_log(mode="userreg", discord_user_id=discord_user_id)
elif user_register["result"] == 1:
if user_register["about"] == "already_exists":
@ -1486,13 +1501,13 @@ async def devicereg(interaction: discord.Interaction, how_much: int):
@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, reason: str):
if interaction.guild_id in dislocker.server_config["bot"]["server_id"] or interaction.user.id in dislocker.server_config["bot"]["admin_user_id"]:
force_stop = dislocker.force_stop(pc_number=pc_number, bot_about=about)
force_stop = dislocker.force_stop(pc_number=pc_number, bot_about=reason)
if force_stop["result"] == 0:
result_embed = discord.Embed(title=":white_check_mark: 処理が完了しました。", description=f'PC番号 {str(pc_number)} 番の使用登録は抹消されました。', color=0x56FF01)
dislocker.log(title=f"[INFO] PC {pc_number} の使用を強制終了しました。", message=f"理由 | {about}", flag=0)
dislocker.log(title=f"[INFO] PC {pc_number} の使用を強制終了しました。", message=f"理由 | {reason}", flag=0)
await send_log(mode="fstop", pc_number=pc_number, discord_user_id=interaction.user.id, detail=reason)
elif force_stop["result"] == 1:
if force_stop["about"] == "not_used":
result_embed = discord.Embed(title=":x: 操作に失敗しました。", description=f'指定されたPCは使用されていないようです...', color=0xC91111)
@ -1607,6 +1622,7 @@ async def pcnickname(interaction: discord.Interaction, pc_number: int, nickname:
pc_nickname_set = dislocker.set_pc_nickname(pc_number=pc_number, alt_name=nickname)
if pc_nickname_set["result"] == 0:
result_embed = discord.Embed(title=":white_check_mark: 操作が完了しました。", description=f'PC番号 {str(pc_number)} のニックネームは {str(nickname)} に設定されました。', color=0x56FF01)
await send_log(mode="pcnickname", pc_number=pc_number, discord_user_id=interaction.user.id, detail=nickname)
else:
result_embed = discord.Embed(title=":x: 操作に失敗しました。", description=f'サーバーでエラーが発生しています。ニックネームは変更されません。', color=0xC91111)