Telegram.Bot - отправка файла

У меня есть код:

                if (message.Text.Contains("file"))
                {
                    try
                    {
                        var id = message.Text.Split('_')[1];

                        if (fileIds.Contains(id))
                            SendFile(int.Parse(id), message);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }
  • Задача этого кода, что когда юзер открывает ссылку типа t.me/fileshare_robot?start=file_204, в переменную id записывалось число 204. Ну а потом вызывалась функция SendFile():
       public static void SendFile(int id, Message msg)
       {
           var trueId = fileIds[id];
           Console.WriteLine($"Sending file with id {trueId}");

           InputOnlineFile inputOnlineFile = new(trueId);
           bot.SendDocumentAsync(msg.Chat.Id, inputOnlineFile, LangRu.sendedMsg);
       }
  • Тут задача прислать юзеру файл под выбранным индексом.

Проблема в том, что в методе SendFile программа намертво зависает, точнее сказать не могу, где именно.

Я уже пробовал присылать просто локальный файл, но даже так, программа тоже зависает...

Полный проект: https://disk.yandex.ru/d/RMCM9ObxnAtDWw

        private static async Task HandleUpdateAsync(ITelegramBotClient botClient, Update update, CancellationToken cancellationToken)
        {
            if (update.Message is Message message)
            {
                Console.WriteLine("Recieved " + message.Text);
                switch (message.Text)
                {
                    case "/start": Start(message); break;
                    case "/load": Load(message); break;
                }

                if (message.Document != null)
                {
                    var attachement = message.Document;
                    CreateFIle(attachement, message);
                }

                if (message.Text.Contains("file"))
                {
                    try
                    {
                        var id = message.Text.Split('_')[1];

                        if (fileIds.Contains(id))
                            SendFile(int.Parse(id), message);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }
            }
        }

        public static void SendFile(int id, Message msg)
        {
            var trueId = fileIds[id];
            Console.WriteLine($"Sending file: {trueId}");

            InputOnlineFile inputOnlineFile = new("E:\\ssh-usernames.txt");
            bot.SendDocumentAsync(msg.Chat.Id, inputOnlineFile, LangRu.sendedMsg, allowSendingWithoutReply: true);
        }

Ответы (0 шт):