Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion cogs/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -184,8 +184,9 @@ async def volume(self, ctx: commands.Context, value: commands.Range[int, 1, 150]
player: voicelink.Player = ctx.guild.voice_client
if player:
await player.set_volume(value, ctx.author)
else:
await update_settings(ctx.guild.id, {"$set": {'volume': value}})

await update_settings(ctx.guild.id, {"$set": {'volume': value}})
await send(ctx, 'setVolume', value)

@settings.command(name="togglecontroller", aliases=get_aliases("togglecontroller"))
Expand Down
1 change: 0 additions & 1 deletion ipc/methods.py
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,6 @@ async def clearQueue(player: Player, member: Member, data: Dict) -> None:
@require_permission(only_admin=True)
async def updateVolume(player: Player, member: Member, data: Dict) -> None:
volume = data.get("volume", 100)
await func.update_settings(player.guild.id, {"$set": {"volume": volume}})
await player.set_volume(volume=volume, requester=member)

async def updatePause(player: Player, member: Member, data: Dict) -> None:
Expand Down
11 changes: 8 additions & 3 deletions voicelink/player.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,6 @@ async def connect_channel(ctx: Union[commands.Context, Interaction], channel: Vo
channel, ctx, settings
))

if player.volume != 100:
await player.set_volume(player.volume)

if ctx.bot.ipc.is_connected:
await player.send_ws({"op": "createPlayer", "memberIds": [str(member.id) for member in channel.members]})

Expand Down Expand Up @@ -343,6 +340,7 @@ async def _dispatch_voice_update(self, voice_data: Dict[str, Any] = None):
"token": state['event']['token'],
"endpoint": state['event']['endpoint'],
"sessionId": state['sessionId'],
"channelId": str(self.channel.id),
}

await self.send(method=RequestMethod.PATCH, data={"voice": data})
Expand Down Expand Up @@ -541,6 +539,8 @@ async def connect(self, *, timeout: float, reconnect: bool, self_deaf: bool = Tr

if self.channel:
self._logger.debug(f"Player in {self.guild.name}({self.guild.id}) has been connected to {self.channel.name}({self.channel.id}).")

await self.set_volume(self._volume)

async def stop(self):
"""Stops the currently playing track."""
Expand Down Expand Up @@ -693,6 +693,11 @@ async def set_pause(self, pause: bool, requester: Member = None) -> bool:
async def set_volume(self, volume: int, requester: Member = None) -> int:
"""Sets the volume of the player as an integer. Lavalink accepts values from 0 to 500."""
await self.send(method=RequestMethod.PATCH, data={"volume": volume})

if self._volume != volume:
self.settings['volume'] = volume
await func.update_settings(self.guild.id, {"$set": {"volume": volume}})

self._volume = volume

if self.is_ipc_connected:
Expand Down
1 change: 1 addition & 0 deletions voicelink/pool.py
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,7 @@ async def reconnect(self) -> None:
await player._dispatch_voice_update(player._voice_state)

if player.current:
await player.set_volume(player.volume)
await player.play(track=player.current, start=min(player._last_position, player.current.length))

if player.is_paused:
Expand Down