From 7f16e4d44749ba5d7550b4072daa52e31d1734c1 Mon Sep 17 00:00:00 2001 From: Ollie <69084614+olijeffers0n@users.noreply.github.com> Date: Wed, 26 May 2021 14:34:44 +0100 Subject: [PATCH] =?UTF-8?q?Update=20to=20Version=201.3=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rustplus/api/api.py | 73 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/rustplus/api/api.py b/rustplus/api/api.py index 786a1a4..195c92b 100644 --- a/rustplus/api/api.py +++ b/rustplus/api/api.py @@ -270,6 +270,57 @@ def __getTeamInfo(self): return appMessage + + def __updateSmartDevice(self, eid : int, value : bool) -> rustplus_pb2.AppMessage: + + entityValue = rustplus_pb2.AppSetEntityValue() + entityValue.value = value + + request = rustplus_pb2.AppRequest() + request.seq = self.seq + self.seq += 1 + request.playerId = self.playerId + request.playerToken = self.playerToken + + request.entityId = eid + request.setEntityValue.CopyFrom(entityValue) + + data = request.SerializeToString() + + self.ws.send_binary(data) + + returndata = self.ws.recv() + + appMessage = rustplus_pb2.AppMessage() + appMessage.ParseFromString(returndata) + + self.__errorCheck(appMessage) + + return appMessage + + + def __getEntityInfo(self, eid : int): + + request = rustplus_pb2.AppRequest() + request.seq = self.seq + self.seq += 1 + request.playerId = self.playerId + request.playerToken = self.playerToken + request.entityId = eid + request.getEntityInfo.CopyFrom(rustplus_pb2.AppEmpty()) + data = request.SerializeToString() + + self.ws.send_binary(data) + + returndata = self.ws.recv() + + appMessage = rustplus_pb2.AppMessage() + appMessage.ParseFromString(returndata) + + self.__errorCheck(appMessage) + + return appMessage + #######################FRONT FACING############################## def getTeamInfo(self) -> list: @@ -428,3 +479,25 @@ def getMarkers(self) -> list: return markers.response.mapMarkers + + def turnOnSmartSwitch(self, EID : int): + """ + Turns on a smart switch on the server + """ + + return self.__updateSmartDevice(EID, True) + + + def turnOffSmartSwitch(self, EID : int): + """ + Turns off a smart switch on the server + """ + + return self.__updateSmartDevice(EID, False) + + + def getEntityInfo(self, EID : int) -> rustplus_pb2.AppEntityInfo: + + data = self.__getEntityInfo(EID) + + return data.response.entityInfo