package telegram import ( "log/slog" "path/filepath" ) type Attachment struct { FileName string MimeType string FileSize int64 Data []byte } var mimeTypes = map[string]string{ ".jpg": "image/jpeg", ".png": "image/png", ".mp4": "video/mp4", // for video note ".oga": "audio/ogg", // for voice } func (b Attachment) GetMimeType() string { if b.MimeType != "" { return b.MimeType } mime, ok := mimeTypes[filepath.Ext(b.FileName)] if !ok { slog.Warn("Unknown file extension", slog.String("file", b.FileName)) return "application/octet-stream" } return mime }