Files
transcriber/internal/contract/contract.go
2025-08-17 15:26:59 +03:00

30 lines
683 B
Go

package contract
import (
"io"
"git.vakhrushev.me/av/transcriber/internal/entity"
)
type AudioInfo struct {
Seconds int // Длина аудиофайла в секундах
}
type AudioMetaViewer interface {
GetInfo(src string) (*AudioInfo, error)
}
type AudioFileConverter interface {
Convert(src, dest string) error
}
type AudioRecognizer interface {
Recognize(file io.Reader, fileName string) (operationID string, err error)
GetRecognitionText(operationID string) (string, error)
CheckRecognitionStatus(operationID string) (*entity.RecognitionResult, error)
}
type TelegramMessageSender interface {
Send(text string, chatId int64, replyToMessageId *int) error
}