mirror of
https://github.com/migatu/conjurer.git
synced 2026-07-17 07:12:09 +00:00
Test
This commit is contained in:
+1
-1
@@ -78,7 +78,7 @@ else:
|
|||||||
*,
|
*,
|
||||||
process_cb: Optional[SRProcessDataCB] = None,
|
process_cb: Optional[SRProcessDataCB] = None,
|
||||||
text_cb: Optional[SRTextCB] = None,
|
text_cb: Optional[SRTextCB] = None,
|
||||||
default_recognizer: SRRecognizerMethod = 'google',
|
default_recognizer: SRRecognizerMethod = 'assemblyai',
|
||||||
phrase_time_limit: int = 10,
|
phrase_time_limit: int = 10,
|
||||||
ignore_silence_packets: bool = True,
|
ignore_silence_packets: bool = True,
|
||||||
):
|
):
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import discord
|
||||||
|
from discord.ext import commands, voice_recv
|
||||||
|
|
||||||
|
discord.opus._load_default()
|
||||||
|
|
||||||
|
bot = commands.Bot(command_prefix=commands.when_mentioned, intents=discord.Intents.all())
|
||||||
|
|
||||||
|
class Testing(commands.Cog):
|
||||||
|
def __init__(self, bot):
|
||||||
|
self.bot = bot
|
||||||
|
|
||||||
|
@commands.command()
|
||||||
|
async def test(self, ctx):
|
||||||
|
def callback(user, data: voice_recv.VoiceData):
|
||||||
|
print(f"Got packet from {user}")
|
||||||
|
|
||||||
|
## voice power level, how loud the user is speaking
|
||||||
|
# ext_data = packet.extension_data.get(voice_recv.ExtensionID.audio_power)
|
||||||
|
# value = int.from_bytes(ext_data, 'big')
|
||||||
|
# power = 127-(value & 127)
|
||||||
|
# print('#' * int(power * (79/128)))
|
||||||
|
## instead of 79 you can use shutil.get_terminal_size().columns-1
|
||||||
|
|
||||||
|
vc = await ctx.author.voice.channel.connect(cls=voice_recv.VoiceRecvClient)
|
||||||
|
vc.listen(voice_recv.BasicSink(callback))
|
||||||
|
|
||||||
|
@commands.command()
|
||||||
|
async def stop(self, ctx):
|
||||||
|
await ctx.voice_client.disconnect()
|
||||||
|
|
||||||
|
@commands.command()
|
||||||
|
async def die(self, ctx):
|
||||||
|
ctx.voice_client.stop()
|
||||||
|
await ctx.bot.close()
|
||||||
|
|
||||||
|
@bot.event
|
||||||
|
async def on_ready():
|
||||||
|
print('Logged in as {0.id}/{0}'.format(bot.user))
|
||||||
|
print('------')
|
||||||
|
await bot.add_cog(Testing(bot))
|
||||||
|
|
||||||
|
REMOTE_HOST_NAME = "discord"
|
||||||
|
|
||||||
|
|
||||||
|
bot.run("NzUxNDQxODgzNDA2MDA4NDEw.Go--wb.Nr28Oo4eYAP1p2XFVHF5uIQfcPD7s_jO2NfMCQ")
|
||||||
+25
-22
@@ -20,27 +20,35 @@ FILE_URL = "https://github.com/AssemblyAI-Community/audio-examples/raw/main/2023
|
|||||||
|
|
||||||
logger = logging.getLogger("discord")
|
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):
|
class Transcriber(commands.Cog):
|
||||||
def __init__(self, bot):
|
def __init__(self, bot):
|
||||||
self.bot = bot
|
self.bot = bot
|
||||||
self._last_member = None
|
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():
|
async def transcribe():
|
||||||
config = aai.TranscriptionConfig(speaker_labels=True)
|
config = aai.TranscriptionConfig(speaker_labels=True)
|
||||||
|
|
||||||
@@ -51,7 +59,7 @@ class Transcriber(commands.Cog):
|
|||||||
)
|
)
|
||||||
for utterance in transcript.utterances:
|
for utterance in transcript.utterances:
|
||||||
print(f"Speaker {utterance.speaker}: {utterance.text}")
|
print(f"Speaker {utterance.speaker}: {utterance.text}")
|
||||||
@commands.hybrid_command(name="connect_for_transcribe")
|
@commands.hybrid_command(name="transcribe")
|
||||||
async def test(self, ctx):
|
async def test(self, ctx):
|
||||||
def callback(user, data: voice_recv.VoiceData):
|
def callback(user, data: voice_recv.VoiceData):
|
||||||
print(f"Got packet from {user}")
|
print(f"Got packet from {user}")
|
||||||
@@ -71,10 +79,5 @@ class Transcriber(commands.Cog):
|
|||||||
async def stop(self, ctx):
|
async def stop(self, ctx):
|
||||||
await ctx.voice_client.disconnect()
|
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):
|
async def setup(bot):
|
||||||
await bot.add_cog(Transcriber(bot))
|
await bot.add_cog(Transcriber(bot))
|
||||||
Reference in New Issue
Block a user