mirror of
				https://github.com/usememos/memos.git
				synced 2025-10-31 16:59:30 +08:00 
			
		
		
		
	* feat: format message from telegram and download documents * fix: remove bool in expression * refactor: convert to markdown * refactor: resolve remarks and add support new message types * refactor: resolve remarks * feat: add test for mime type --------- Co-authored-by: Александр Тумайкин <AATumaykin@tsum.ru>
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			660 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			660 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package telegram
 | |
| 
 | |
| import (
 | |
| 	"path"
 | |
| 
 | |
| 	"github.com/usememos/memos/common/log"
 | |
| 	"go.uber.org/zap"
 | |
| )
 | |
| 
 | |
| 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[path.Ext(b.FileName)]
 | |
| 	if !ok {
 | |
| 		// Handle unknown file extension
 | |
| 		log.Warn("Unknown file type for ", zap.String("filename", b.FileName))
 | |
| 
 | |
| 		return "application/octet-stream"
 | |
| 	}
 | |
| 
 | |
| 	return mime
 | |
| }
 |