گام هفتم: واکنش به آپدیت بخش 2
حالا برای هر یک از این دو کامند بالا یک کلاس ساختیم:Services\Bot\Handlers\StartCommandHandler.cs
Services\Bot\Handlers\WhoisCommandHandler.cs
سپس متد OnMessage آپدیت هندلر خود را برای عکسالعمل نشان دادن به کامندها بروز کردیم:
برای رجیستر کردن این هندلرها یک اکستنشن متد جدید ایجاد کردیم تا فایل Program . cs تمیز باقی بماند و رجیسترها در جایی مستقل اتفاق بیافتد.
Configs\ServicesConfigs.cs
سپس این متد را در Program . cs صدا کردیم.
اکنون بعد از اجرای پروژه و ارسال دستور /start شاهد واکنش بات خود خواهید بود.
فهرست آموزش@BaleBotNet | کلاینت داتنت بازوی بله
حالا برای هر یک از این دو کامند بالا یک کلاس ساختیم:Services\Bot\Handlers\StartCommandHandler.cs
using System.Text;
using BaleBotNet;
using BaleBotNet.Methods;
using BaleBotNet.Types;
namespace MyBaleBot.Services.Bot.Handlers;
public class StartCommandHandler(BaleBotClient bot)
{
public async Task Run(Message message)
{
var chatId = message.Chat.Id;
List<Task> tasks = [bot.SendChatAction(chatId, BaleBotNet.Enums.ChatAction.Typing)];
StringBuilder messageBuilder = new();
messageBuilder.AppendLine($"به بازوی @{bot.Me.Username} خوش آمدید.");
messageBuilder.AppendLine();
foreach (var menu in BotConsts.CommandsMenu)
{
messageBuilder.AppendLine($"{menu.Key} | *{menu.Value}*");
}
tasks.Add(bot.SendMessage(chatId: chatId, text: messageBuilder.ToString()));
await Task.WhenAll(tasks);
}
}
Services\Bot\Handlers\WhoisCommandHandler.cs
using System.Text;
using BaleBotNet;
using BaleBotNet.Methods;
using BaleBotNet.Types;
namespace MyBaleBot.Services.Bot.Handlers;
public class WhoisCommandHandler(BaleBotClient bot)
{
public async Task Run(Message message)
{
var chatId = message.Chat.Id;
List<Task> tasks = [bot.SendChatAction(chatId, BaleBotNet.Enums.ChatAction.Typing)];
StringBuilder messageBuilder = new();
messageBuilder.AppendLine($"*{BotConsts.CommandsMenu[BotConsts.Commands.Whois]}*");
messageBuilder.AppendLine();
var user = message.Chat;
messageBuilder.AppendLine($"نام: *{user.FirstName} {user.LastName}*");
if (user.Username is string username)
messageBuilder.AppendLine($"نام کاربری: *@{username}*");
messageBuilder.AppendLine($"شناسه: *{user.Id}*");
tasks.Add(
bot.SendMessage(
chatId: chatId,
text: messageBuilder.ToString(),
replyMarkup: ReplyKeyboard.CreateInline(
[
[
new()
{
Text = "کپی شناسه",
CopyText = new() { Text = user.Id.ToString() }
}
]
]
)
)
);
await Task.WhenAll(tasks);
}
}
سپس متد OnMessage آپدیت هندلر خود را برای عکسالعمل نشان دادن به کامندها بروز کردیم:
private static async Task OnMessage(IServiceScope scope, int updateId, Message message)
{
Task? task = null;
if (message.IsPrivate() && message.IsCommand(BotConsts.Commands.Start))
task = scope.Get<StartCommandHandler>().Run(message);
else if (message.IsCommand(BotConsts.Commands.Whois))
task = scope.Get<WhoisCommandHandler>().Run(message);
task ??= Task.CompletedTask;
await task;
}
برای رجیستر کردن این هندلرها یک اکستنشن متد جدید ایجاد کردیم تا فایل Program . cs تمیز باقی بماند و رجیسترها در جایی مستقل اتفاق بیافتد.
Configs\ServicesConfigs.cs
using MyBaleBot.Services.Bot.Handlers;
namespace MyBaleBot.Configs;
public static class ServicesConfigs
{
public static void AddServices(this WebApplicationBuilder builder)
{
builder.Services.AddScoped<StartCommandHandler>();
builder.Services.AddScoped<WhoisCommandHandler>();
}
}
سپس این متد را در Program . cs صدا کردیم.
using MyBaleBot.Configs;
var builder = WebApplication.CreateBuilder(args);
builder.AddBaleBot(addLongPollingService: builder.Environment.IsDevelopment());
builder.AddServices();
var app = builder.Build();
if (app.Environment.IsDevelopment())
{
app.StartBotLongPolling();
}
else
{
app.MapBotWebhook();
}
app.Run();
اکنون بعد از اجرای پروژه و ارسال دستور /start شاهد واکنش بات خود خواهید بود.
فهرست آموزش@BaleBotNet | کلاینت داتنت بازوی بله
۱K
۱۷:۴۵
BaleBotNet.4.2.0.zip
۶۹۰.۴۶ کیلوبایت
به درخواست شما عزیزان
فایل nuget و dll های پروژه جهت استفاده مستقیم
روش نصب:چندین روش برای استفاده از فایل nupkg وجود دارد که در ادامه یکی از این روشها را توضیح میدهیم.
ابتدا در پوشهای که فایل csproj شما قرار دارد یک پوشه با نام nupkgs ایجاد کنید و فایل BaleBotNet.4.2.0.nupkg که در این فایل زیپ قرار دارد در آن کپی کنید.سپس وارد فایل csproj خود شده و کد زیر را در آن اضافه کنید.
موفق و پیروز باشید.
@BaleBotNet | کلاینت داتنت بازوی بله
فایل nuget و dll های پروژه جهت استفاده مستقیم
روش نصب:چندین روش برای استفاده از فایل nupkg وجود دارد که در ادامه یکی از این روشها را توضیح میدهیم.
ابتدا در پوشهای که فایل csproj شما قرار دارد یک پوشه با نام nupkgs ایجاد کنید و فایل BaleBotNet.4.2.0.nupkg که در این فایل زیپ قرار دارد در آن کپی کنید.سپس وارد فایل csproj خود شده و کد زیر را در آن اضافه کنید.
<ItemGroup>
<PackageReference Include="BaleBotNet" Version="4.2.0" />
</ItemGroup>
<PropertyGroup>
<RestoreSources>$(RestoreSources);./nupkgs</RestoreSources>
</PropertyGroup>
موفق و پیروز باشید.
@BaleBotNet | کلاینت داتنت بازوی بله
۸۵۸
۱۶:۱۵
لیست میرورهای داخلیکه توسط یکی از اعضای گروه گفتگو ارائه شده:
repo.ito.gov.ir runflare.com/mirrorsmirror.arvancloud.irmirror.mobinhost.comrepo.iut.ac.irmirror.rasanegaar.commirror.shatel.irmirrors.kubarcloud.comJamko.irhub.hamdocker.irhttps://mirror.cdn.ir/repository/debianhttps://mirror.cdn.ir/repository/pypi/https://cloud.ir/weblog/asiatech/how-to-setup-mirror-repository-for-open-source-software/https://liara.ir/mirrors/https://mirror.iranserver.com/megan.ir/serviceshttps://mirror.chabokan.net/https://mirror2.chabokan.net/https://mirrors.pardisco.co/posts/
گروه گفتگو:ble.ir/join/6jpNUuVFZR
repo.ito.gov.ir runflare.com/mirrorsmirror.arvancloud.irmirror.mobinhost.comrepo.iut.ac.irmirror.rasanegaar.commirror.shatel.irmirrors.kubarcloud.comJamko.irhub.hamdocker.irhttps://mirror.cdn.ir/repository/debianhttps://mirror.cdn.ir/repository/pypi/https://cloud.ir/weblog/asiatech/how-to-setup-mirror-repository-for-open-source-software/https://liara.ir/mirrors/https://mirror.iranserver.com/megan.ir/serviceshttps://mirror.chabokan.net/https://mirror2.chabokan.net/https://mirrors.pardisco.co/posts/
گروه گفتگو:ble.ir/join/6jpNUuVFZR
۸۳۸
۱۹:۳۹
این لیست هم توسط اعضای گروهمون منتشر شد:
فایل نصب dotnet-sdk-10.0.102-win-x64
https://uploadkon.ir/uploads/8a3f21_26dotnet-sdk-10-0-102-win-x64-001.ziphttps://uploadkon.ir/uploads/27b321_26dotnet-sdk-10-0-102-win-x64-002.ziphttps://uploadkon.ir/uploads/06df21_26dotnet-sdk-10-0-102-win-x64-003.ziphttps://uploadkon.ir/uploads/131721_26dotnet-sdk-10-0-102-win-x64-004.ziphttps://uploadkon.ir/uploads/43fa21_26dotnet-sdk-10-0-102-win-x64-005.ziphttps://uploadkon.ir/uploads/526621_26dotnet-sdk-10-0-102-win-x64-006.zip
#تذکربا توجه به اینکه فایل توی سرور اشتراک فایل آپلود شده، در صورت نیاز به استفاده سعی کنید با آنتیویروس چک کنیدش.
گروه گفتگو:ble.ir/join/6jpNUuVFZR
فایل نصب dotnet-sdk-10.0.102-win-x64
https://uploadkon.ir/uploads/8a3f21_26dotnet-sdk-10-0-102-win-x64-001.ziphttps://uploadkon.ir/uploads/27b321_26dotnet-sdk-10-0-102-win-x64-002.ziphttps://uploadkon.ir/uploads/06df21_26dotnet-sdk-10-0-102-win-x64-003.ziphttps://uploadkon.ir/uploads/131721_26dotnet-sdk-10-0-102-win-x64-004.ziphttps://uploadkon.ir/uploads/43fa21_26dotnet-sdk-10-0-102-win-x64-005.ziphttps://uploadkon.ir/uploads/526621_26dotnet-sdk-10-0-102-win-x64-006.zip
#تذکربا توجه به اینکه فایل توی سرور اشتراک فایل آپلود شده، در صورت نیاز به استفاده سعی کنید با آنتیویروس چک کنیدش.
گروه گفتگو:ble.ir/join/6jpNUuVFZR
۸۵۸
۱۹:۴۸
BaleBotNet.4.3.0.nupkg
۲۴۸.۷۹ کیلوبایت
نسخه ۴.۳.۰ منتشر شد.
تغییرات این نسخه:
بهبود عملکرد اندپوینت وب هوک
اضافه شدن ابزار لانگ پولینگ
https://nuget.org/packages/BaleBotNethttps://hamgit.ir/moqavem/balebotnet
روش استفاده از فایل ناگت
تغییرات این نسخه:
https://nuget.org/packages/BaleBotNethttps://hamgit.ir/moqavem/balebotnet
روش استفاده از فایل ناگت
@BaleBotNet | کلاینت داتنت بازوی بله۷۴۶
۹:۰۹
۸۳۳
۹:۱۲
نسخه 4.3.1 BaleBotNet منتشر شد.
تغییرات این نسخه:
بهبود ابزار لانگ پولینگ مربوط به DI
اضافه شدن مثالهای جدید در پوشه Samples پروژه در همگیت
اضافه شدن روش استفاده از ناگت به صورت لوکال مشاهده تغییرات مورد نیاز
https://nuget.org/packages/BaleBotNethttps://hamgit.ir/moqavem/balebotnet
تغییرات این نسخه:
https://nuget.org/packages/BaleBotNethttps://hamgit.ir/moqavem/balebotnet
@BaleBotNet | کلاینت داتنت بازوی بله۷۸۷
۸:۳۴
نسخه 5.0.0 BaleBotNet منتشر شد.
تغییرات این نسخه:
تغییر متد MapBaleBotWebhook جهت مدیریت خطا در زمان قطعی ایپیآی بله
اضافه شدن مثال جدید در پوشه Samples\Webhook : روش انعطافپذیری در مقابل در دسترس نبودن ایپیآی بله
امکان دانلود فایلهای ناگت از صفحه اول پروژه https://hamgit.ir/moqavem/balebotnet
در نسخه جدید و همچنین در مثال جدید امکان اجرای اپ در زمان قطعی Api بله وجود دارد و به جای رخ دادن خطا، به صورت خودکار تا زمان وصل شدن Api بله تلاش میکند تا وب هوک را ست کند و باقی قسمتهای اپ شما همزمان به کار خود ادامه میدهد.
روش استفاده از ناگت به صورت لوکال
https://nuget.org/packages/BaleBotNethttps://hamgit.ir/moqavem/balebotnet
تغییرات این نسخه:
در نسخه جدید و همچنین در مثال جدید امکان اجرای اپ در زمان قطعی Api بله وجود دارد و به جای رخ دادن خطا، به صورت خودکار تا زمان وصل شدن Api بله تلاش میکند تا وب هوک را ست کند و باقی قسمتهای اپ شما همزمان به کار خود ادامه میدهد.
روش استفاده از ناگت به صورت لوکال
https://nuget.org/packages/BaleBotNethttps://hamgit.ir/moqavem/balebotnet
@BaleBotNet | کلاینت داتنت بازوی بله۱.۲K
۱۸:۳۲
بازارسال شده از نقطهی «باء»
تامین هزینه نگهداری بات قرائت
هزینه اجاره سرور جهت فعالیت مجدد بازو قرائت قرآن
تا کنون بیش از ۵۰۰ مرتبه قرآن کریم توسط شما عزیزان به کمک این بازو ختم شده است.
الحمدلله ربات فعال شد؛اما برای ادامه فعالیت میتونید بانی این امر خیر باشید.
@QeraatBot
تا کنون بیش از ۵۰۰ مرتبه قرآن کریم توسط شما عزیزان به کمک این بازو ختم شده است.
الحمدلله ربات فعال شد؛اما برای ادامه فعالیت میتونید بانی این امر خیر باشید.
@QeraatBot
۰ ریال
از ۱۸۰,۰۰۰,۰۰۰ ریال
۰%
تامین شده
متوقف شد
جزئیات
۱
۶:۴۹
بازارسال شده از نقطهی «باء»
۱
۸:۲۸