def minecraftlistener(): nextlineforlist = False numplayers = 0 logfile = os.path.abspath(mcfolder + "/logs/latest.log") f = open(logfile, "r", encoding="utf-8") file_len = os.stat(logfile)[stat.ST_SIZE] f.seek(file_len) pos = f.tell() UUID = {} while True: pos = f.tell() line = f.readline().strip() schedule.run_pending() if not line: if os.stat(logfile)[stat.ST_SIZE] < pos: f.close() time.sleep( 1 ) f = open(logfile, "r") pos = f.tell() else: time.sleep( 1 ) f.seek(pos) else: eventData = vanillabean.genEvent(line) event = "" data = () if eventData: # print(eventData) event, data = eventData print(event, data) if nextlineforlist: nextlineforlist = False playerlist(numplayers, line) if event == "playerList": numplayers = data[1] nextlineforlist = True if event == "achievement": eventAchievement(data) if event == "command": eventCommand(data) if event == "UUID": eventUUID(data) if event == "chat": eventChat(data) if event == "logged": eventLogged(data) if event == "lag": eventLag(data)
def minecraftlistener(): nextlineforlist = False numplayers = 0 logfile = os.path.abspath(mcfolder + "/logs/latest.log") f = open(logfile, "r", encoding="utf-8") file_len = os.stat(logfile)[stat.ST_SIZE] f.seek(file_len) pos = f.tell() UUID = {} while True: pos = f.tell() line = f.readline().strip() schedule.run_pending() if not line: if os.stat(logfile)[stat.ST_SIZE] < pos: f.close() time.sleep(1) f = open(logfile, "r") pos = f.tell() else: time.sleep(1) f.seek(pos) else: eventData = vanillabean.genEvent(line) event = "" data = () if eventData: # print(eventData) event, data = eventData print(event, data) if nextlineforlist: nextlineforlist = False playerlist(numplayers, line) if event == "playerList": numplayers = data[1] nextlineforlist = True if event == "achievement": eventAchievement(data) if event == "command": eventCommand(data) if event == "UUID": eventUUID(data) if event == "chat": eventChat(data) if event == "logged": eventLogged(data) if event == "lag": eventLag(data)
def minecraftlistener(): episodeThread = threading.Thread(target=startEpisode,name="startEpisode") episodeThread.setDaemon(True) nextlineforlist = False numplayers = 0 logfile = os.path.abspath(mcfolder + "/logs/latest.log") f = open(logfile, "r", encoding="utf-8") file_len = os.stat(logfile)[stat.ST_SIZE] f.seek(file_len) pos = f.tell() UUID = {} while True: pos = f.tell() line = f.readline().strip() if not line: if os.stat(logfile)[stat.ST_SIZE] < pos: f.close() time.sleep( 1 ) f = open(logfile, "r") pos = f.tell() else: time.sleep( 1 ) f.seek(pos) else: eventData = vanillabean.genEvent(line) event = "" data = () if eventData: # print(eventData) event, data = eventData logging.debug((event, data)) ''' if event == "logged": player = data[1] if player == "greener_ca": if not episodeThread.is_alive(): episodeThread.start() ''' """ if message == "tweets":
def my_background_task(): yield from client.wait_until_ready() serverrestart = False logfile = os.path.abspath(mcfolder + "/logs/latest.log") f = codecs.open(logfile,"r", "utf-8") file_len = os.stat(logfile)[stat.ST_SIZE] f.seek(file_len) pos = f.tell() nextlineformute = False mutedlist = [] while not client.is_closed: pos = f.tell() line = f.readline().strip() if not line: if os.stat(logfile)[stat.ST_SIZE] < pos: f.close() yield from asyncio.sleep(5) time.sleep( 5 ) f = codecs.open(logfile, "r","utf-8") pos = f.tell() else: yield from asyncio.sleep(1) f.seek(pos) else: eventData = vanillabean.genEvent(line) event = "" data = () if eventData: # print(eventData) event, data = eventData print(event, data) if nextlineformute: nextlineformute = False mutedlist = [a.strip(",") for a in line.split(":")[3].split(" ")] mutedlist.remove('') if event == "muteTeam": nummuteplayers = data[1] nextlineformute = True if event == "chat": yield from eventChat(data) if event == "logged": yield from eventLogged(data) if event == "ip": yield from eventIp(data) if event.startswith("deathWeapon"): yield from eventDeath3(data) elif event.startswith("deathEnemy"): yield from eventDeath2(data) elif event.startswith("death"): yield from eventDeath1(data) if event == "left": yield from eventLeft(data)
def my_background_task(): yield from client.wait_until_ready() serverrestart = False logfile = os.path.abspath(mcfolder + "/logs/latest.log") f = codecs.open(logfile,"r", "utf-8") file_len = os.stat(logfile)[stat.ST_SIZE] f.seek(file_len) pos = f.tell() while not client.is_closed: pos = f.tell() line = f.readline().strip() if not line: if os.stat(logfile)[stat.ST_SIZE] < pos: f.close() yield from asyncio.sleep(5) time.sleep( 5 ) f = codecs.open(logfile, "r","utf-8") pos = f.tell() else: yield from asyncio.sleep(1) f.seek(pos) else: eventData = vanillabean.genEvent(line) event = "" data = () if eventData: # print(eventData) event, data = eventData # print(event, data) if event == "UUID": yield from eventUUID(data) if event == "chat": yield from eventChat(data) if event == "logged": yield from eventLogged(data) if event == "ip": yield from eventIp(data) if event.startswith("deathWeapon"): yield from eventDeath3(data) elif event.startswith("deathEnemy"): yield from eventDeath2(data) elif event.startswith("death"): yield from eventDeath1(data) elif event.startswith("whitelistAdd"): yield from eventWhitelistAdd(data) elif event.startswith("whitelistRemove"): yield from eventWhitelistRemove(data) if event == "left": yield from eventLeft(data)