.BANCHO. .FIX. Fix np bug

This commit is contained in:
Nyo
2016-10-31 10:47:28 +01:00
parent 0e5471383e
commit fe283ff293
9 changed files with 96 additions and 9 deletions

View File

@@ -1,12 +1,18 @@
"""FokaBot related functions"""
import re
import time
from common import generalUtils
from common.constants import actions
from common.ripple import userUtils
from constants import fokabotCommands
from constants import serverPackets
from objects import glob
from common.log import logUtils as log
import threading
from helpers import chatHelper as chat
from constants import serverPackets
# Tillerino np regex, compiled only once to increase performance
npRegex = re.compile("^https?:\\/\\/osu\\.ppy\\.sh\\/b\\/(\\d*)")
@@ -56,4 +62,23 @@ def fokabotResponse(fro, chan, message):
return i["callback"](fro, chan, message[1:])
# No commands triggered
return False
return False
def zingheriLoop():
log.debug("SONO STATI I ZINGHERI, I ZINGHERI!")
clients = glob.streams.getClients("zingheri")
for i in clients:
log.debug(str(i))
if i not in glob.tokens.tokens:
continue
token = glob.tokens.tokens[i]
if token.userID == 999:
continue
if token.zingheri == -1:
chat.sendMessage("FokaBot", token.username, "Trick or treat?")
token.zingheri = 0
elif token.zingheri == 1:
if token.actionID == actions.PLAYING and (int(time.time()) - token.actionLatestUpdate >= 25):
token.enqueue(serverPackets.zingheri("You'd better give me a treat next time ;)"))
token.leaveStream("zingheri")
threading.Timer(30, zingheriLoop).start()

View File

@@ -64,6 +64,7 @@ class token:
self.actionText = ""
self.actionMd5 = ""
self.actionMods = 0
self.actionLatestUpdate = self.pingTime
self.gameMode = gameModes.STD
self.beatmapID = 0
self.rankedScore = 0
@@ -73,6 +74,11 @@ class token:
self.gameRank = 0
self.pp = 0
# -1: Non sa dell'esistenza dei zingheri
# 0: In attesa di risposta al messaggiomem
# 1: zingheri soonTM
self.zingheri = -1
# Generate/set token
if token_ is not None:
self.token = token_
@@ -88,6 +94,7 @@ class token:
# Join main stream
self.joinStream("main")
self.joinStream("zingheri")
def enqueue(self, bytes_):
"""

View File

@@ -67,7 +67,7 @@ class streamList:
return
self.streams[streamName].broadcast(data)
'''def getClients(self, streamName):
def getClients(self, streamName):
"""
Get all clients in a stream
@@ -76,4 +76,4 @@ class streamList:
"""
if streamName not in self.streams:
return
return self.streams[streamName].clients'''
return self.streams[streamName].clients