From cd6461641c5d892aa04ae95d3e024df1c0a88c01 Mon Sep 17 00:00:00 2001 From: suti7yk5032 Date: Fri, 23 Aug 2024 01:09:00 +0900 Subject: [PATCH] =?UTF-8?q?PC=E3=81=AE=E4=BD=BF=E7=94=A8=E3=83=81=E3=82=A7?= =?UTF-8?q?=E3=83=83=E3=82=AF=E3=81=ABmember=5Fid=E3=81=A7=E7=A2=BA?= =?UTF-8?q?=E8=AA=8D=E3=81=A7=E3=81=8D=E3=82=8B=E5=87=A6=E7=90=86=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0=20PC=E4=BD=BF=E7=94=A8=E7=99=BB=E9=8C=B2?= =?UTF-8?q?=E6=99=82=E3=81=ABmember=5Fid=E3=82=92=E4=BD=BF=E3=81=A3?= =?UTF-8?q?=E3=81=A6PC=E3=81=AE=E4=BD=BF=E7=94=A8=E7=A2=BA=E8=AA=8D?= =?UTF-8?q?=E3=82=92=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dislocker.py | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/dislocker.py b/dislocker.py index a02027c..cd2c787 100644 --- a/dislocker.py +++ b/dislocker.py @@ -181,20 +181,42 @@ class Bot(discord.Client): discord_user_id = str(kwargs["discord_user_id"]) else: discord_user_id = None + if "member_id" in kwargs: + member_id = str(kwargs["member_id"]) + else: + member_id = None cursor = dislocker.db.cursor() - if discord_user_id == None: - # pc_listから探す + if pc_number != None: + # pc番号を指定してpc_listから探す cursor.execute("SELECT * FROM pc_list WHERE pc_number= %s", (pc_number,)) pc_list_record = cursor.fetchall() if pc_list_record[0][1] == None: return {"result": 0, "about": "vacent"} else: return {"result": 1, "about": "used_by_other"} - else: + elif discord_user_id != None: #ユーザーIDを指定してPC使用履歴から探す - cursor.execute("SELECT * FROM pc_usage_history WHERE member_id= %s ORDER BY id DESC LIMIT 1", (discord_user_id,)) + cursor.execute("SELECT * FROM club_member WHERE discord_user_id = %s", (discord_user_id,)) + user_record = cursor.fetchall() + #ユーザーデータが見つかった場合(登録済みの場合) + if user_record: + member_id = user_record[0][0] + cursor.execute("SELECT * FROM pc_usage_history WHERE member_id = %s ORDER BY id DESC LIMIT 1", (member_id,)) + pc_usage_history_record = cursor.fetchall() + if pc_usage_history_record: + print("used") + if pc_usage_history_record[0][5] == None: + return {"result": 1, "about": "used_by_you", "pc_usage_history": {"pc_number": str(pc_usage_history_record[0][2]), "keyboard_number": str(pc_usage_history_record[0][3]), "mouse_number": str(pc_usage_history_record[0][4]), "start_time": str(pc_usage_history_record[0][5]), "use_detail": str(pc_usage_history_record[0][7])}} + else: + return {"result": 0, "about": "vacent"} + else: + return {"result": 0, "about": "vacent"} + else: + return {"result": 1, "about": "user_data_not_found"} + elif member_id != None: + cursor.execute("SELECT * FROM pc_usage_history WHERE member_id = %s ORDER BY id DESC LIMIT 1", (member_id,)) pc_usage_history_record = cursor.fetchall() if pc_usage_history_record: print("used") @@ -204,6 +226,8 @@ class Bot(discord.Client): return {"result": 0, "about": "vacent"} else: return {"result": 0, "about": "vacent"} + else: + return {"result": 1, "about": "search_options_error"} except Exception as error: print("PCの使用状況を調査中にエラーが発生しました。\nエラー内容") @@ -296,7 +320,7 @@ class Bot(discord.Client): member_id = user_register["user_info"]["member_id"] discord_user_name = user_register["user_info"]["discord_user_name"] # ユーザーがPCを使っているか - pc_check_self = self.pc_used_check(discord_user_id=user_info["id"]) + pc_check_self = self.pc_used_check(member_id=member_id) if pc_check_self["result"] == 0: # 他の人がそのPCを使っているか pc_check = self.pc_used_check(pc_number=user_info["pc_number"])