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 | مدیریت سرویسهای ربات |
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 اجرا کنید.
# نصب قالب پروژه
$ dotnet new install NextBotAppMVC.Templates
# ساخت پروژه جدید
$ dotnet new nextbotmvc -n MyTelegramBot
# اجرای ربات
$ dotnet run
نمونه کد
یک Controller ساده برای مدیریت دستور /start
[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)
مجموعهای از قالبهای آماده برای شروع سریع پروژههای رایج.