using JsonFlatFileDataStore; using Microsoft.Extensions.Logging; using mstdnCats.Models; using Telegram.Bot; using Telegram.Bot.Types; using Telegram.Bot.Types.Enums; namespace mstdnCats.Services; public class HandleDbBackup { public static async Task HandleDbBackupAsync(TelegramBotClient _bot, ILogger? logger, string dbname, string adminId,IDocumentCollection _db) { logger?.LogInformation("Backup requested"); await using Stream stream = System.IO.File.OpenRead("./data/" + dbname+"_BK.json"); var message = await _bot.SendDocument(adminId, document: InputFile.FromStream(stream, dbname+"_BK.json"), caption: "Backup of " + dbname + "\nCreated at " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss" + "\nCurrent post count: " + _db.AsQueryable().Count()), parseMode: ParseMode.Html); logger?.LogInformation("Backup sent"); } }