Spaces:
Runtime error
Runtime error
| import discord, os, setting, re, asyncio | |
| from discord.ext import commands | |
| from logging import getLogger | |
| import logging | |
| def make_log(): | |
| logger = getLogger(__name__) | |
| logger.setLevel(logging.INFO) | |
| streamHandler = logging.StreamHandler() | |
| logger.addHandler(streamHandler) | |
| return logger | |
| log = make_log() | |
| async def v_after(sink: discord.sinks, vc): | |
| user_id = "" | |
| for user_id, audio in sink.audio_data.itmes(): | |
| user_id_raw = user_id | |
| user_id = f"<@{user_id}>" | |
| with open("./out.mp3", "wb") as f: | |
| f.write(audio.file.getbuffer()) | |
| class DDD(commands.Cog): | |
| """ | |
| λ΄ μν νμΌ μ λλ€. | |
| """ | |
| def __init__(self, bot): | |
| self.bot = bot | |
| async def on_voice_state_update(self, member, before, after): | |
| if before.channel: | |
| voice_client = discord.utils.get(self.bot.voice_clients, guild=member.guild.id) | |
| if voice_client is None: | |
| vc = await member.voice.channel.connect() | |
| else: | |
| vc = voice_client | |
| if os.fath.exists("./out.mp3") | |
| os.remove("./out.mp3") | |
| vc.start_recording( | |
| discord.sinks.MP3Sink(), | |
| v_after, | |
| vc | |
| ) | |
| await asyncio.sleep(10) | |
| vc.stop_recording() | |
| # if (before.channel is None) and (after.channel is not None): | |
| # if member == self.bot.user: | |
| # await member.edit(deafen=True, mute=False) | |
| if after.channel: | |
| if (before.channel is not None) and (after.channel is not before.channel): | |
| if ((self.bot.user.id in before.channel.voice_states.keys() and len(before.channel.voice_states) == 1) or (member == self.bot.user)): | |
| if member != self.bot.user: | |
| player = member.guild.voice_client | |
| await player.disconnect() | |
| def setup(bot): | |
| bot.add_cog(DDD(bot)) |