This commit is contained in:
2024-09-17 16:03:34 +02:00
parent 169552e8d5
commit f9c854e2fc
3 changed files with 73 additions and 23 deletions
+25 -22
View File
@@ -20,27 +20,35 @@ FILE_URL = "https://github.com/AssemblyAI-Community/audio-examples/raw/main/2023
logger = logging.getLogger("discord")
class SRAudioSinkHammerVersion(AudioSink):
def __init__(
self,
*,
process_cb: Optional[SRProcessDataCB] = None,
text_cb: Optional[SRTextCB] = None,
default_recognizer: SRRecognizerMethod = 'google',
phrase_time_limit: int = 10,
ignore_silence_packets: bool = True,
):
super().__init__(None)
self.process_cb: Optional[SRProcessDataCB] = process_cb
self.text_cb: Optional[SRTextCB] = text_cb
self.phrase_time_limmit: int = phrase_time_limit
self.ignore_silence_packets: bool = ignore_silence_packets
self.default_recognizer: SRRecognizerMethod = default_recognizer
self._stream_data: defaultdict[int, _StreamData] = defaultdict(
lambda: _StreamData(stopper=None, recognizer=sr.Recognizer(), buffer=array.array('B'))
)
class Transcriber(commands.Cog):
def __init__(self, bot):
self.bot = bot
self._last_member = None
@commands.Cog.listener()
async def on_member_join(self, member):
channel = member.guild.system_channel
if channel is not None:
await channel.send(f'Witaj u Nas {member.mention}.')
@commands.hybrid_command(name="witaj")
async def witaj(self, ctx, *, member: discord.Member = None):
"""Says hello"""
member = member or ctx.author
if self._last_member is None or self._last_member.id != member.id:
await ctx.send(f'Mhm {member.name}~')
else:
await ctx.send(f'Powtarzas sie {member.name}')
self._last_member = member
async def transcribe():
config = aai.TranscriptionConfig(speaker_labels=True)
@@ -51,7 +59,7 @@ class Transcriber(commands.Cog):
)
for utterance in transcript.utterances:
print(f"Speaker {utterance.speaker}: {utterance.text}")
@commands.hybrid_command(name="connect_for_transcribe")
@commands.hybrid_command(name="transcribe")
async def test(self, ctx):
def callback(user, data: voice_recv.VoiceData):
print(f"Got packet from {user}")
@@ -71,10 +79,5 @@ class Transcriber(commands.Cog):
async def stop(self, ctx):
await ctx.voice_client.disconnect()
@commands.command(name="kill_transcribe_client")
async def die(self, ctx):
ctx.voice_client.stop()
await ctx.bot.close()
async def setup(bot):
await bot.add_cog(Transcriber(bot))