30 lines
683 B
Go
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
|
|
}
|