This commit is contained in:
7x11x13 2024-07-12 13:44:24 -04:00
parent 729460b1ea
commit 723a426203
3 changed files with 57 additions and 69 deletions

View File

@ -11,6 +11,7 @@ import (
) )
type soulseekMessage interface{} type soulseekMessage interface{}
type soulseekMessageResponse interface{} type soulseekMessageResponse interface{}
const ( const (
@ -45,7 +46,6 @@ var ignoreMessageCodes = map[uint32]bool {
1003: true, 1003: true,
} }
// 1: Login // 1: Login
type loginMessage struct { type loginMessage struct {
Code uint32 Code uint32
@ -67,7 +67,6 @@ type loginMessageResponseFailure struct {
Reason string Reason string
} }
// 13: Say in chatroom // 13: Say in chatroom
type sayChatroomMessage struct { type sayChatroomMessage struct {
Code uint32 Code uint32
@ -81,7 +80,6 @@ type sayChatroomMessageReceive struct {
Message string Message string
} }
// 14: Join room // 14: Join room
type joinRoomMessage struct { type joinRoomMessage struct {
Code uint32 Code uint32
@ -107,7 +105,6 @@ type joinRoomMessageResponse struct {
Operators []string Operators []string
} }
// 16: User joined room // 16: User joined room
type userJoinedRoomMessage struct { type userJoinedRoomMessage struct {
Room string Room string
@ -121,14 +118,12 @@ type userJoinedRoomMessage struct {
CountryCode string CountryCode string
} }
// 16: User left room // 16: User left room
type userLeftRoomMessage struct { type userLeftRoomMessage struct {
Room string Room string
Username string Username string
} }
// 22: Private message (sometimes used by server to tell us errors) // 22: Private message (sometimes used by server to tell us errors)
type privateMessageReceive struct { type privateMessageReceive struct {
ID uint32 ID uint32
@ -138,11 +133,9 @@ type privateMessageReceive struct {
NewMessage bool NewMessage bool
} }
// 41: Kicked from server (relogged) // 41: Kicked from server (relogged)
type kickedMessageResponse struct{} type kickedMessageResponse struct{}
// 142: Change password // 142: Change password
type changePasswordMessage struct { type changePasswordMessage struct {
Code uint32 Code uint32
@ -153,7 +146,6 @@ type changePasswordMessageResponse struct {
Password string Password string
} }
func packMessage(message soulseekMessage) ([]byte, error) { func packMessage(message soulseekMessage) ([]byte, error) {
buf := &bytes.Buffer{} buf := &bytes.Buffer{}
var length uint32 = 0 var length uint32 = 0

View File

@ -51,7 +51,7 @@ func sliceEqual(s []string) bool {
if len(s) <= 1 { if len(s) <= 1 {
return true return true
} }
for _, x := range(s) { for _, x := range s {
if x != s[0] { if x != s[0] {
return false return false
} }
@ -69,7 +69,7 @@ func (b *Bsoulseek) sendMessages() {
msg, is_say := message.(sayChatroomMessage) msg, is_say := message.(sayChatroomMessage)
if is_say { if is_say {
// can't send 5 of the same message in a row or we get banned // can't send 5 of the same message in a row or we get banned
if (sliceEqual(append(lastFourChatMessages, msg.Message))) { if sliceEqual(append(lastFourChatMessages, msg.Message)) {
b.Log.Warnf("Dropping message: %s", msg.Message) b.Log.Warnf("Dropping message: %s", msg.Message)
continue continue
} }
@ -191,7 +191,6 @@ func (b *Bsoulseek) Connect() error {
return err return err
} }
func (b *Bsoulseek) JoinChannel(channel config.ChannelInfo) error { func (b *Bsoulseek) JoinChannel(channel config.ChannelInfo) error {
b.messagesToSend <- makeJoinRoomMessage(channel.Name) b.messagesToSend <- makeJoinRoomMessage(channel.Name)
select { select {
@ -203,7 +202,6 @@ func (b *Bsoulseek) JoinChannel(channel config.ChannelInfo) error {
} }
} }
func (b *Bsoulseek) Send(msg config.Message) (string, error) { func (b *Bsoulseek) Send(msg config.Message) (string, error) {
// Only process text messages // Only process text messages
b.Log.Debugf("=> Received local message %v", msg) b.Log.Debugf("=> Received local message %v", msg)
@ -214,7 +212,6 @@ func (b *Bsoulseek) Send(msg config.Message) (string, error) {
return "", nil return "", nil
} }
func (b *Bsoulseek) doDisconnect() error { func (b *Bsoulseek) doDisconnect() error {
b.disconnect <- true b.disconnect <- true
close(b.messagesToSend) close(b.messagesToSend)
@ -224,7 +221,6 @@ func (b *Bsoulseek) doDisconnect() error {
return nil return nil
} }
func (b *Bsoulseek) Disconnect() error { func (b *Bsoulseek) Disconnect() error {
b.doDisconnect() b.doDisconnect()
return nil return nil