Documentation ¶
Overview ¶
Package uploader contains uploading files helpers.
Index ¶
- Constants
- type Client
- type File
- type Progress
- type ProgressState
- type Upload
- type Uploader
- func (u *Uploader) FromBytes(ctx context.Context, name string, b []byte) (tg.InputFileClass, error)
- func (u *Uploader) FromFS(ctx context.Context, filesystem fs.FS, path string) (tg.InputFileClass, error)
- func (u *Uploader) FromFile(ctx context.Context, f File) (tg.InputFileClass, error)
- func (u *Uploader) FromPath(ctx context.Context, path string) (tg.InputFileClass, error)
- func (u *Uploader) FromReader(ctx context.Context, name string, f io.Reader) (tg.InputFileClass, error)
- func (u *Uploader) Upload(ctx context.Context, upload *Upload) (tg.InputFileClass, error)
- func (u *Uploader) WithIDGenerator(cb func() (int64, error)) *Uploader
- func (u *Uploader) WithPartSize(partSize int) *Uploader
- func (u *Uploader) WithProgress(progress Progress) *Uploader
- func (u *Uploader) WithThreads(limit int) *Uploader
Constants ¶
const (
// `524288 % part_size = 0` (512KB must be evenly divisible by part_size)
MaximumPartSize = 524288
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶ added in v0.24.0
type Client interface { UploadSaveFilePart(ctx context.Context, request *tg.UploadSaveFilePartRequest) (bool, error) UploadSaveBigFilePart(ctx context.Context, request *tg.UploadSaveBigFilePartRequest) (bool, error) }
Client represents Telegram RPC client.
type Progress ¶
type Progress interface {
Chunk(ctx context.Context, state ProgressState) error
}
Progress is interface of upload process tracker.
type ProgressState ¶
ProgressState represents upload state change.
type Upload ¶
type Upload struct {
// contains filtered or unexported fields
}
Upload represents Telegram file upload.
type Uploader ¶
type Uploader struct {
// contains filtered or unexported fields
}
Uploader is Telegram file uploader.
func (*Uploader) FromFS ¶ added in v0.26.0
func (u *Uploader) FromFS(ctx context.Context, filesystem fs.FS, path string) (tg.InputFileClass, error)
FromFS uploads file from fs using given path.
func (*Uploader) FromFile ¶ added in v0.23.0
FromFile uploads given File. NB: FromFile does not close given file.
func (*Uploader) FromReader ¶ added in v0.24.0
func (u *Uploader) FromReader(ctx context.Context, name string, f io.Reader) (tg.InputFileClass, error)
FromReader uploads file from given io.Reader. NB: totally stream should not exceed the limit for small files (10 MB as docs says, may be a bit bigger).
func (*Uploader) WithIDGenerator ¶
WithIDGenerator sets id generator.
func (*Uploader) WithPartSize ¶
WithPartSize sets part size. Should be divisible by 1024. 524288 should be divisible by partSize.
func (*Uploader) WithProgress ¶
WithProgress sets progress callback.
func (*Uploader) WithThreads ¶
WithThreads sets uploading goroutines limit per upload.