добавил обработку случая когда архив слишком большой и его не отправить из за ограничений телеграм апи
parent
7b2e3c86c3
commit
3fd1a05cbf
12
main.go
12
main.go
|
@ -272,6 +272,18 @@ func createArchive(archiveName string, targets, ignore []string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TGBotSendFile(botToken, userId, filePath, caption string) error {
|
func TGBotSendFile(botToken, userId, filePath, caption string) error {
|
||||||
|
// Проверяем размер файла перед отправкой
|
||||||
|
fileInfo, err := os.Stat(filePath)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to get file info: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Telegram ограничение - 50MB для обычного API
|
||||||
|
const maxFileSize = 49 * 1024 * 1024 // 49MB (оставляем запас)
|
||||||
|
if fileInfo.Size() > maxFileSize {
|
||||||
|
return fmt.Errorf("file size (%d bytes) exceeds Telegram limit of 50MB", fileInfo.Size())
|
||||||
|
}
|
||||||
|
|
||||||
apiURL := fmt.Sprintf("https://api.telegram.org/bot%s/sendDocument", botToken)
|
apiURL := fmt.Sprintf("https://api.telegram.org/bot%s/sendDocument", botToken)
|
||||||
|
|
||||||
file, err := os.Open(filePath)
|
file, err := os.Open(filePath)
|
||||||
|
|
Loading…
Reference in New Issue