Telegram Bot Framework · C#

Next Bot App MVC

Next Bot App MVC یک Framework برای توسعه ربات‌های تلگرام با زبان C# است که معماری آن از ASP.NET Core MVC الهام گرفته شده است. این فریم‌ورک مفاهیمی مانند Controller، View، Middleware، Routing و Dependency Injection را برای ساخت ربات‌ها فراهم می‌کند.

امکانات

ویژگی‌ها

مفاهیم آشنای ASP.NET Core MVC، اکنون برای توسعه ربات تلگرام.

معماری MVC

جداسازی منطق، داده و نمایش دقیقاً مطابق با الگوی Controller / View که در ASP.NET Core آشنا است.

Routing انعطاف‌پذیر

مسیریابی پیام‌ها و دستورات تلگرام مشابه Routing در وب اپلیکیشن‌های ASP.NET Core.

Dependency Injection

مدیریت سرویس‌ها و وابستگی‌ها به‌صورت داخلی، بدون نیاز به پیکربندی دستی.

Middleware Pipeline

امکان افزودن لایه‌های پردازشی پیش و پس از اجرای هر Handler برای پیام‌ها.

Authorization

کنترل دسترسی کاربران به Command ها و بخش‌های مختلف ربات به‌صورت اعلانی (Declarative).

State Management

مدیریت وضعیت مکالمه کاربران برای ساخت جریان‌های گفت‌وگوی چندمرحله‌ای.

Markdown Views

نگارش پاسخ‌های ربات با View های مبتنی بر Markdown، مشابه Razor Views.

Telegram Bot Development

یکپارچه با Telegram Bot API برای ساخت سریع ربات‌های حرفه‌ای.

معماری

الهام‌گرفته از ASP.NET Core MVC

هر پیام دریافتی از تلگرام مانند یک Request در نظر گرفته می‌شود که از میان Middleware ها عبور کرده، توسط Router به Controller مناسب هدایت شده و در نهایت با یک View (پاسخ) پردازش می‌شود؛ دقیقاً همان جریانی که در ASP.NET Core MVC وجود دارد.

مفهوم ASP.NET Coreمعادل در Next Bot App MVC
Controllerمدیریت Command ها و پیام‌های ورودی
Viewقالب پاسخ (Markdown View)
Routingمسیریابی Command ها و Callback ها
Middlewareپردازش پیش/پس از دریافت پیام
DI Containerمدیریت سرویس‌های ربات
StartCommandController.cs
public class StartController : BotController
{
    public IActionResult Index()
    {
        return View("Welcome");
    }
}

// Middleware, Routing و DI به‌صورت خودکار
// توسط Next Bot App MVC مدیریت می‌شوند
چرا این فریم‌ورک؟

چرا از Next Bot App MVC استفاده کنیم

برای توسعه‌دهندگان C# که با ASP.NET Core آشنا هستند، یادگیری تقریباً صفر است.

یادگیری سریع

اگر با ASP.NET Core MVC کار کرده باشید، ساختار این فریم‌ورک برایتان کاملاً آشناست.

مقیاس‌پذیر

مناسب برای ربات‌های ساده تا پروژه‌های بزرگ با چندین ماژول و Controller.

قابل تست

جداسازی لایه‌ها امکان نوشتن Unit Test برای منطق ربات را فراهم می‌کند.

شروع کار

Getting Started

در چند دقیقه اولین ربات خود را با Next Bot App MVC اجرا کنید.

bash
# نصب قالب پروژه
$ dotnet new install NextBotAppMVC.Templates

# ساخت پروژه جدید
$ dotnet new nextbotmvc -n MyTelegramBot

# اجرای ربات
$ dotnet run
نمونه‌ها

نمونه کد

یک Controller ساده برای مدیریت دستور /start

Controllers/StartController.cs
[Route("start")]
public class StartController : BotController
{
    private readonly IUserService _users;

    public StartController(IUserService users)
    {
        _users = users;
    }

    public async Task<IActionResult> Index()
    {
        await _users.RegisterAsync(CurrentUser);
        return View("Welcome");
    }
}
مستندات

مستندسازی

مستندات کامل Next Bot App MVC شامل راهنمای نصب، معماری، Controller ها، Middleware نویسی و مدیریت وضعیت به‌زودی در مخزن GitHub پروژه منتشر می‌شود.

مستندات کامل به‌زودی منتشر می‌شود.

راهنمای شروع

نصب، پیکربندی و اجرای اولین پروژه.

راهنمای معماری

جزئیات Controller، Middleware و DI.

Authorization

کنترل دسترسی کاربران به دستورات.

State Management

مدیریت جریان‌های گفت‌وگوی چندمرحله‌ای.

نقشه راه

Roadmap

مسیر توسعه Next Bot App MVC.

در حال توسعه

پشتیبانی کامل از Inline Query

افزودن Handler های اختصاصی برای Inline Mode تلگرام.

برنامه‌ریزی‌شده

CLI اختصاصی پروژه

ابزار خط فرمان برای ساخت سریع Controller و View جدید.

در بررسی

قالب‌های آماده (Starter Templates)

مجموعه‌ای از قالب‌های آماده برای شروع سریع پروژه‌های رایج.

همین حالا اولین ربات خود را بسازید

کد را از GitHub دریافت کنید یا آخرین نسخه منتشرشده را دانلود کنید.