MaxSharp 0.1.3-alpha

This is a prerelease version of MaxSharp.
dotnet add package MaxSharp --version 0.1.3-alpha
                    
NuGet\Install-Package MaxSharp -Version 0.1.3-alpha
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MaxSharp" Version="0.1.3-alpha" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MaxSharp" Version="0.1.3-alpha" />
                    
Directory.Packages.props
<PackageReference Include="MaxSharp" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MaxSharp --version 0.1.3-alpha
                    
#r "nuget: MaxSharp, 0.1.3-alpha"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MaxSharp@0.1.3-alpha
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MaxSharp&version=0.1.3-alpha&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=MaxSharp&version=0.1.3-alpha&prerelease
                    
Install as a Cake Tool

MaxSharp

Alpha версия — библиотека активно развивается. API может меняться без предупреждения.

C# библиотека для работы с мессенджером MAX. Предоставляет удобный клиент для взаимодействия с MAX Bot API.

📦 Установка

dotnet add package MaxSharp --version 0.1.0-alpha

🚀 Быстрый старт

using MaxSharp.Core;
using MaxSharp.Core.Bot;
using MaxSharp.Core.Extensions;
using MaxSharp.Core.Models.Types;

// Создание клиента
var client = new MaxBotClient("YOUR_BOT_TOKEN");

// Отправка сообщения
var message = await client.SendTextMessageAsync(
    chatId: 123456789,
    text: "Привет, MAX! 👋",
    format: TextFormat.markdown);

// Сообщение с inline-кнопками
var buttons = new[]
{
    new[]
    {
        new InlineKeyboardButton { Type = "callback", Text = "Кнопка 1", Payload = "btn1" },
        new InlineKeyboardButton { Type = "callback", Text = "Кнопка 2", Payload = "btn2" }
    }
};

await client.SendTextMessageAsync(
    chatId: 123456789,
    text: "Выберите действие:",
    buttons: buttons);

✨ Возможности

Функция Метод Описание
Текст SendTextMessageAsync Отправка текстовых сообщений с форматированием
Фото SendPhotoAsync Отправка изображений с вложением
Видео SendVideoAsync Отправка видео с автовставкой retry-логики
Аудио SendAudioAsync Отправка аудиофайлов
Документы SendFileAsync Отправка любых файлов
Геолокация SendLocationAsync Отправка местоположения
Reply-клавиатуры SendReplyKeyboardMessageAsync Кнопки внизу чата
Inline-кнопки через параметры к SendTextMessageAsync Кнопки под сообщением
Загрузка файлов UploadAsync Загрузка медиа на сервер MAX
Обновления ReceiveUpdatesAsync Поллинг обновлений от пользователей
Команды бота SetBotCommandsAsync Настройка команды бота
Редактирование EditMessageReplyMarkupAsync Изменение кнопок существующего сообщения

🔧 Базовый URL

По умолчанию используется https://platform-api2.max.ru. Для подключения к другим окружениям передайте базовый URL явно:

var options = new MaxBotClientOptions("YOUR_TOKEN", baseUrl: "https://platform-api2.max.ru");
var client = new MaxBotClient(options);

⚙️ Конфигурация

var options = new MaxBotClientOptions(
    token: "YOUR_BOT_TOKEN",     // Токен бота (обязательно)
    baseUrl: "https://platform-api2.max.ru", // Базовый URL API
    maxRps: 30                    // Максимальное количество запросов в секунду
);

🔄 Обработка ошибок

try
{
    var message = await client.SendTextMessageAsync(chatId, text);
}
catch (RequestException ex)
{
    Console.WriteLine($"Ошибка API: {ex.HttpStatusCode} - {ex.Message}");
}

📝 Примеры

Полный пример бота для организации экскурсий доступен в папке samples/city-trip-bot.

⚠️ Лимиты API

MAX API ограничивает отправку сообщений: не более 2 в секунду на диалог.

🛠 Сборка и публикация

# Сборка пакета
dotnet build src/MaxSharp.Core/MaxSharp.Core.csproj -c Release

# Создание nupkg
dotnet pack src/MaxSharp.Core/MaxSharp.Core.csproj -c Release -o ./nupkgs

# Публикация (требуется NUGET_API_KEY)
dotnet nuget push ./nupkgs/MaxSharp.0.1.0-alpha.nupkg \
    --api-key YOUR_NUGET_API_KEY \
    --source https://api.nuget.org/v3/index.json

📄 Лицензия

MIT

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.3-alpha 76 8/19/2026
0.1.2-alpha 80 8/18/2026
0.1.1-alpha 75 8/16/2026
0.1.0-alpha 69 8/16/2026

Alpha версия: базовая поддержка API MAX — отправка сообщений (текст, фото, видео, файлы, геолокация), inline/reply клавиатуры, загрузка вложений, обработка обновлений, retry-логика.