Skip to content

Commit feee51e

Browse files
committed
fix nil track after playing next
1 parent ed0ebab commit feee51e

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

lavalink/player.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -185,10 +185,6 @@ func (p *DefaultPlayer) PlayAt(track AudioTrack, start Duration, end Duration) e
185185
func (p *DefaultPlayer) Stop() error {
186186
p.track = nil
187187

188-
if p.node == nil {
189-
return nil
190-
}
191-
192188
if err := p.node.Send(StopCommand{GuildID: p.guildID}); err != nil {
193189
return fmt.Errorf("error while stopping player: %w", err)
194190
}
@@ -278,6 +274,8 @@ func (p *DefaultPlayer) Seek(position Duration) error {
278274
}); err != nil {
279275
return fmt.Errorf("error while seeking player: %w", err)
280276
}
277+
p.state.Position = position
278+
p.state.Time = Time{Time: time.Now()}
281279
return nil
282280
}
283281

@@ -421,7 +419,9 @@ func (p *DefaultPlayer) OnEvent(event TrackEvent) {
421419
})
422420

423421
case TrackEndEvent:
424-
p.track = nil
422+
if e.Reason != AudioTrackEndReasonReplaced && e.Reason != AudioTrackEndReasonStopped {
423+
p.track = nil
424+
}
425425
p.EmitEvent(func(l any) {
426426
if listener := l.(PlayerEventListener); listener != nil {
427427
listener.OnTrackEnd(p, track, e.Reason)

0 commit comments

Comments
 (0)