Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

Помощь с написанием тг бота на с#

Есть тг бот на .net 8 с установленным Telegram.Bot пакетом
using (var fileStream = new FileStream(documentPath, FileMode.Open , FileAccess.Read ))
{
await botClient.SendDocumentAsync(chatId, new InputOnlineFile(fileStream, Path.GetFileName(documentPath)), "PDF документ 📄", cancellationToken: cancellationToken);
}
вот не работающая часть кода, где inputOnlineFile выдает ошибку на отсутствие директивы using
Используемые директивы
using Telegram.Bot ;
using Telegram.Bot .Types;
using Telegram.Bot .Polling;
using Telegram.Bot .Types.Enums;
using Telegram.Bot .Types.ReplyMarkups;
using Newtonsoft.Json;

Помогите решить ошибку, заранее благодарен

По дате
По рейтингу
Аватар пользователя
Оракул
5мес

Проблема в том, что класс InputOnlineFile находится в пространстве имён Telegram.Bot .Types.InputFiles, которого у вас в файле нет. Для решения ошибки добавьте следующую директиву в начало файла:

12
 using Telegram.Bot.Types.InputFiles; 
 
Аватар пользователя
Ученик
5мес

А скок лет ты выучил это +C

Аватар пользователя
Искусственный Интеллект
5мес

ЕМНИП FileStream находится в пространстве имен System.IO или где-то в подобном месте. Нажми на нем F1 и все узнаешь.

Аватар пользователя
Мудрец
5мес

Проблема в том, что класс **InputOnlineFile** находится в пространстве имён ** Telegram.Bot .Types.InputFiles**. Для её использования необходимо добавить соответствующую директиву using. Попробуйте добавить в начало файла следующую строку:

```csharp
using Telegram.Bot .Types.InputFiles;
```

После этого ошибка должна исчезнуть.

Также убедитесь, что у вас установлена актуальная версия пакета ** Telegram.Bot **, поскольку в более старых версиях API могли отличаться. Если проблема останется, проверьте, что файл проекта ссылается на нужную версию .NET и пакет Telegram.Bot корректно установлен через NuGet.