def run(self): try: import socket socket_type = bsUtils._getIPAddressType(self._address) s = socket.socket(socket_type, socket.SOCK_DGRAM) s.connect((self._address, self._port)) accessible = False start_time = time.time() s.settimeout(1) for i in range(3): s.send('\x0b') try: # 11: BS_PACKET_SIMPLE_PING result = s.recv(10) except Exception: result = None if result == '\x0c': # 12: BS_PACKET_SIMPLE_PONG accessible = True break time.sleep(1) s.close() ping = int((time.time() - start_time) * 1000.0) bs.callInGameThread( bs.Call(self._call, self._address, self._port, ping if accessible else None)) except Exception as e: print(e)
def run(self): global _server_status_thread_count _server_status_thread_count += 1 try: accessible = True if hasattr(httplib, 'HTTPS'): url = 'https://raw.githubusercontent.com/MythB/BombSquad-Mods/master/index.json' else: url = 'http://raw.githack.com/MythB/BombSquad-Mods/master/index.json' try: response = json.loads( urllib2.urlopen(urllib2.Request(url)).read()) fetchedAddress = response['Address'] fetchedPort = int(response['Port']) except Exception: fetchedAddress = None fetchedPort = None accessible = False time.sleep(1) bs.callInGameThread( bs.Call(self._fetchCall, fetchedAddress, fetchedPort if accessible else None)) except Exception as e: print(e) _server_status_thread_count -= 1
def run(self): try: bsInternal._setThreadName("MM_ServerCallThread") # FIXME: using protected apis env = {'User-Agent': bs.getEnvironment()['userAgentString']} if self._requestType != "get" or self._data: if self._requestType == 'get': if self._data: request = urllib2.Request(self._request+'?'+urllib.urlencode(self._data), None, env) else: request = urllib2.Request(self._request, None, env) elif self._requestType == 'post': request = urllib2.Request(self._request, urllib.urlencode(self._data), env) else: raise RuntimeError("Invalid requestType: "+self._requestType) response = urllib2.urlopen(request) else: response = urllib2.urlopen(self._request) if self._eval_data: responseData = json.loads(response.read()) else: responseData = response.read() if self._callback is not None: bs.callInGameThread(bs.Call(self._runCallback, responseData)) except Exception, e: print(e) if self._callback is not None: bs.callInGameThread(bs.Call(self._runCallback, None))
def run(self): try: bsInternal._setThreadName("SimpleGetThread") response = urllib2.urlopen(self._url) bs.callInGameThread(bs.Call(self._runCallback, response.read())) except: bs.printException() bs.callInGameThread(bs.Call(self._runCallback, None))
def joke(name): categories = [ "animal", "career", "celebrity", "dev", "fashion", "food", "history", "money", "movie", "music", "political", "religion", "science", "sport", "travel" ] joke_json = requests.get( 'https://api.chucknorris.io/jokes/random?name=XDXDXD&category={}'. format(','.join(categories))).json() bsInternal._chatMessage(joke_json['value'].replace('XDXDXD', name)) bs.callInGameThread(bs.Call(clear, 500))