Compare commits

..

2 Commits

Author SHA1 Message Date
6504336d01 Merge pull request 'fix/async' (#4) from fix/async into main
Reviewed-on: #4
2025-08-18 03:25:47 +00:00
a310fd4533
better async handling 2025-08-17 20:45:51 -04:00
2 changed files with 0 additions and 34 deletions

28
bolt.go
View File

@ -1,7 +1,6 @@
package bolt package bolt
import ( import (
"errors"
"fmt" "fmt"
"log" "log"
"os" "os"
@ -44,7 +43,6 @@ type Bolt interface {
getRemainingTimeout(timeout time.Time) string getRemainingTimeout(timeout time.Time) string
roleCheck(guild string, roles []string, s *dg.Session, run Command) (bool, error) roleCheck(guild string, roles []string, s *dg.Session, run Command) (bool, error)
timeoutCheck(msgID, channelID, guildID string, s *dg.Session, run Command) (bool, error) timeoutCheck(msgID, channelID, guildID string, s *dg.Session, run Command) (bool, error)
joinUserVoice(guild, user string, s *dg.Session) (*dg.VoiceConnection, error)
} }
// create a new bolt interface // create a new bolt interface
@ -330,29 +328,3 @@ func (b *bolt) timeoutCheck(msgID, channelID, guildID string, s *dg.Session, run
return true, nil return true, nil
} }
func (b *bolt) joinUserVoice(guild, user string, s *dg.Session) (*dg.VoiceConnection, error) {
g, err := s.State.Guild(guild)
if err != nil {
return nil, err
}
var chanID string
for _, x := range g.VoiceStates {
if user == x.UserID {
chanID = x.ChannelID
}
}
if chanID == "" {
return nil, errors.New("user is not in a voice channel")
}
//joining voice channel: false = not muted, true = deafened
dgv, err := s.ChannelVoiceJoin(guild, chanID, false, true)
if err != nil {
return nil, err
}
return dgv, nil
}

View File

@ -96,9 +96,3 @@ func (m *Message) Respond(res string) error {
_, err := m.sesh.ChannelMessageSendComplex(m.channelID, rep) _, err := m.sesh.ChannelMessageSendComplex(m.channelID, rep)
return err return err
} }
// joins the message author's voice channel. Returns the voice connection object, this connection must be cleaned
// up by the client to prevent issues
func (m *Message) JoinVoiceChannel() (*dg.VoiceConnection, error) {
return m.sesh.joinUserVoice(m.serverID, m.ID, m.sesh.Session)
}