29 lines
793 B
Go
29 lines
793 B
Go
package autoreply
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
)
|
|
|
|
// BotServiceAdapter adapts the bot service to the BotSender interface
|
|
type BotServiceAdapter struct {
|
|
sendTextFn func(ctx context.Context, botID uint64, toNodeNum int64, text string) error
|
|
}
|
|
|
|
// NewBotServiceAdapter creates a new bot service adapter
|
|
func NewBotServiceAdapter(
|
|
sendTextFn func(ctx context.Context, botID uint64, toNodeNum int64, text string) error,
|
|
) *BotServiceAdapter {
|
|
return &BotServiceAdapter{
|
|
sendTextFn: sendTextFn,
|
|
}
|
|
}
|
|
|
|
// SendText sends a text message via the bot service
|
|
func (a *BotServiceAdapter) SendText(ctx context.Context, botID uint64, toNodeNum int64, text string) error {
|
|
if a.sendTextFn == nil {
|
|
return fmt.Errorf("send text function is nil")
|
|
}
|
|
return a.sendTextFn(ctx, botID, toNodeNum, text)
|
|
}
|