Migrated from keys to set datastructure in Redis

This commit is contained in:
2021-11-04 20:05:48 +01:00
parent 3c9772b8f1
commit c54f54ef47
5 changed files with 29 additions and 23 deletions
+4 -9
View File
@@ -2,8 +2,6 @@ import asyncio
import re
from typing import Optional
from aioredis.client import Redis
import discord
from discord.channel import TextChannel
from discord.ext.commands.context import Context
@@ -17,6 +15,8 @@ from utils.database import AutoJoin
from context import CustomContext
from discord import Embed
from utils.database import Playlist
url_rx = re.compile(r"https?://(?:www\.)?.+")
@@ -96,7 +96,7 @@ class Music(commands.Cog):
for guild_id, (voicechannel_id, textchannel_id) in redis_result.items():
player = self.bot.lavalink.player_manager.create(guild_id)
player.store('channel', textchannel_id)
player.store("channel", textchannel_id)
voice_channel = await self.bot.fetch_channel(voicechannel_id)
await voice_channel.connect(cls=LavalinkVoiceClient)
if not player.is_playing:
@@ -109,12 +109,7 @@ class Music(commands.Cog):
await textchannel.send("Automatically joined the voice channel")
async def fill_player_queue(self, player: DefaultPlayer, buffer: Optional[int] = 1):
pipeline = self.bot._redis_client.pipeline()
for _ in range(buffer):
pipeline.randomkey()
queries = await pipeline.execute()
print(queries)
queries = await Playlist.random(self.bot._redis_client, buffer)
# Get the results for the query from Lavalink.
for query in queries:
result = await player.node.get_tracks(query)