Change save path for YTDL service

This commit is contained in:
Keroosha 2023-03-07 01:08:26 +03:00
parent 172dcf9d79
commit 350943aa85
5 changed files with 12 additions and 8 deletions

View File

@ -17,6 +17,7 @@ type public BotConfig = {
chanelId: int64
adminChatId: int64
youtubeDlUrl: string
tmpYtdlSavePath: string Option
}
let private readConfig =

View File

@ -28,7 +28,7 @@ let tgService =
}
let youtubeDlService =
YoutubeDlService.createService youtubeDlClient tgService
YoutubeDlService.createService youtubeDlClient tgService (config.tmpYtdlSavePath |> Option.defaultValue "/tmp")
let isObsoleteUpdate =
let startDate = DateTime.UtcNow

View File

@ -163,7 +163,7 @@ module YoutubeDlClient =
[<RequireQualifiedAccess>]
module YoutubeDlService =
type private Msg =
| AddJob of url: string * TaskCompletionSource<Guid>
| AddJob of url: string * savePath: string * TaskCompletionSource<Guid>
| CheckJob
type private JobState =
@ -235,14 +235,15 @@ module YoutubeDlService =
(current: YoutubeDlJob option) =
async {
match! inbox.Receive() with
| AddJob (url, tcs) ->
| AddJob (url, savePath, tcs) ->
Logging.logger.Information("Adding new url = {url}", url)
let id = Guid.NewGuid()
let fullSavePath = $"{Path.Combine(savePath, Path.GetRandomFileName())}.mp4"
let job = {
InternalId = id
State = Created
Url = url
SavePath = $"{Path.GetTempFileName()}.mp4"
SavePath = fullSavePath
}
tcs.SetResult(id)
jobQueue.Enqueue(job)
@ -315,10 +316,10 @@ module YoutubeDlService =
loop (Queue()) None
)
let createService youtubeDlClient tgService =
let createService youtubeDlClient tgService (savePath: string) =
let inbox = createServiceInbox youtubeDlClient tgService
{ new IYoutubeDlService with
member this.AddJob(url) =
let tcs = TaskCompletionSource<_>()
inbox.Post(AddJob(url, tcs))
inbox.Post(AddJob(url, savePath, tcs))
tcs.Task |> Async.AwaitTask }

View File

@ -3,5 +3,6 @@
"chanelId": "123123123",
"adminChatId": "123123123",
"relayUrl": "https://t.me/pokupkabitka_bot",
"youtubeDlUrl": "http://localhost:8000/"
"youtubeDlUrl": "http://localhost:8000/",
"tmpYtdlSavePath": "/tmp"
}

View File

@ -30,7 +30,8 @@ cd PublishHelperBot && dotnet restore
"chanelId": "123123123", // Канал куда постить
"adminChatId": "123123123", // Чат откуда будут слушаться команды
"relayUrl": "https://t.me/pokupkabitka_bot", // ссылка на бота предложки (Нужно команде /post)
"youtubeDlUrl": "http://localhost:8000/" // апишка для скачивания видосиков
"youtubeDlUrl": "http://localhost:8000/", // апишка для скачивания видосиков
"tmpYtdlSavePath": "/tmp" // Промежуточное хранилище для YTDL
}
```