This commit is contained in:
2024-09-19 20:44:36 +02:00
parent 2a87153e71
commit 529c8ba20a
+12 -10
View File
@@ -42,7 +42,9 @@ location = "/home/pi/Conjurer/transcripts/"
class WaveWriter:
def __init__(self, user_id):
self.username = str(user_id)
self.username = str(user_id.id)
logger.info("Creating Wavewriter %s", self.username)
logger.info(user_id)
self.present_file_id = 0
self.file_name_past = None
@@ -101,20 +103,20 @@ class SRBuffer(voice_recv.AudioSink):
self.wavewriter = {}
def on_user_connect(self, username):
self.wavewriter[str(username)] = [WaveWriter(username), time.time_ns(), False]
self.wavewriter[str(username.id)] = [WaveWriter(username), time.time_ns(), False, False]
def on_user_disconnect(self,username):
self.wavewriter[str(username)].cleanup()
self.wavewriter.pop(str(username))
def on_user_disconnect(self,username.id):
self.wavewriter[str(username.id)].cleanup()
self.wavewriter.pop(str(username.id))
def rotate_user(self,username):
self.wavewriter[str(username)].rotate()
self.wavewriter[str(username.id)].rotate()
def wants_opus(self) -> bool:
return False
def write(self, user, data) -> None:
logger.info("User %s", user)
#logger.info("User %s", user)
if user:
self.wavewriter[str(user.id)][0].writeframes(data.pcm)
self.wavewriter[str(user.id)][1] = time.time_ns()
@@ -162,7 +164,7 @@ class Transcriber(commands.Cog):
vc.listen(self.wsink)
self.check_data.start()
@tasks.loop(seconds=5)
@tasks.loop(seconds=0.5)
async def check_data(self):
for item in self.wsink.wavewriter.values():
logger.info(item[0])
@@ -174,12 +176,12 @@ class Transcriber(commands.Cog):
async def on_voice_state_update(self, user, before, after):
if before.channel is None:
logger.info("User %s connected to channel %s", user, after.channel.name)
self.wsink.on_user_connect(user.id)
self.wsink.on_user_connect(user)
elif after.channel is None:
logger.info("User %s disconnected from channel %s", user, before.channel.name)
operation = {
"type": "user_cleanup",
user : str(user.id)
user : user.id
}
self.comm_queue.put(operation)
else: