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"])