لوگوی پیام رسان بلهدانلود «بله»
عکس پروفایل BaleBotNetB
۲۷۵ عضو

BaleBotNet

ابزار متن‌باز توسعه بازو برای بله در دات نتOpen source sdk for development bots with dotnet
ناگت:nuget.org/packages/BaleBotNet
ریپو:https://hamgit.ir/moqavem/balebotnet
گروه گفتگو:ble.ir/join/6jpNUuVFZR
ثبت سفارش، توسعه‌دهنده: @moqavem8
مشاهده در وب بله
۲۱ اسفند ۱۴۰۴
گام هفتم: واکنش به آپدیت بخش 2
حالا برای هر یک از این دو کامند بالا یک کلاس ساختیم: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 | کلاینت دات‌نت بازوی بله
undefined۲

۱.۱K

۱۷:۴۵

۶ فروردین

BaleBotNet.4.2.0.zip

۶۹۰.۴۶ کیلوبایت

به درخواست شما عزیزان
فایل 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 | کلاینت دات‌نت بازوی بله
undefined۵

۹۱۵

۱۶:۱۵

۸ فروردین
لیست میرورهای داخلیکه توسط یکی از اعضای گروه گفتگو ارائه شده:
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
undefined۵

۸۹۶

۱۹:۳۹

این لیست هم توسط اعضای گروهمون منتشر شد:
فایل نصب 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
undefined۴

۹۲۱

۱۹:۴۸

۲۰ فروردین

BaleBotNet.4.3.0.nupkg

۲۴۸.۷۹ کیلوبایت

نسخه ۴.۳.۰ منتشر شد.
تغییرات این نسخه:
undefined بهبود عملکرد اندپوینت وب هوکundefined اضافه شدن ابزار لانگ پولینگ
https://nuget.org/packages/BaleBotNethttps://hamgit.ir/moqavem/balebotnet
روش استفاده از فایل ناگت

‌

@BaleBotNet | کلاینت دات‌نت بازوی بله
undefined۶

۸۱۴

۹:۰۹

BaleBotNet
undefined #مثال #مثال_تک_فایلی بات اکوروش اجرا @BaleBotNet | کلاینت دات‌نت بازوی بله
thumbnail
#مثال #مثال_تک_فایلی
بات اکو با روش جدید

روش اجرا


@BaleBotNet | کلاینت دات‌نت بازوی بله
undefined۴

۹۰۵

۹:۱۲

۲۱ فروردین
نسخه 4.3.1 BaleBotNet منتشر شد.
تغییرات این نسخه:
undefined بهبود ابزار لانگ پولینگ مربوط به DIundefined اضافه شدن مثال‌های جدید در پوشه Samples پروژه در هم‌گیتundefined اضافه شدن روش استفاده از ناگت به صورت لوکال مشاهده تغییرات مورد نیاز
https://nuget.org/packages/BaleBotNethttps://hamgit.ir/moqavem/balebotnet

‌

@BaleBotNet | کلاینت دات‌نت بازوی بله
undefined۳
undefined۲
undefined۱

۸۶۴

۸:۳۴

نسخه 5.0.0 BaleBotNet منتشر شد.
تغییرات این نسخه:
undefined تغییر متد MapBaleBotWebhook جهت مدیریت خطا در زمان قطعی ای‌پی‌آی بلهundefined اضافه شدن مثال جدید در پوشه Samples\Webhook : روش انعطاف‌پذیری در مقابل در دسترس نبودن ای‌پی‌آی بلهundefined امکان دانلود فایل‌های ناگت از صفحه اول پروژه https://hamgit.ir/moqavem/balebotnet
در نسخه جدید و همچنین در مثال جدید امکان اجرای اپ در زمان قطعی Api بله وجود دارد و به جای رخ دادن خطا، به صورت خودکار تا زمان وصل شدن Api بله تلاش می‌کند تا وب هوک را ست کند و باقی قسمت‌های اپ شما همزمان به کار خود ادامه می‌دهد.
روش استفاده از ناگت به صورت لوکال
https://nuget.org/packages/BaleBotNethttps://hamgit.ir/moqavem/balebotnet

‌

@BaleBotNet | کلاینت دات‌نت بازوی بله
undefined۷
undefined۱
undefined۱
undefined۱

۱.۴K

۱۸:۳۲

۶ مهر
نسخه 6.0.0 BaleBotNet منتشر شد.
تغییرات این نسخه:
undefined اضافه شدن BusinessClient جهت ارسال با اعتبار پنل کسب‌وکار بله لینک مستندات

https://nuget.org/packages/BaleBotNethttps://hamgit.ir/moqavem/balebotnet

‌

@BaleBotNet | کلاینت دات‌نت بازوی بله
undefined۳

۱۳۳

۸:۵۴

thumbnail
#مثال #مثال_تک_فایلی
ارسال پیام با اعتبار پنل کسب‌وکار

روش اجرا

نسخه 6.0.0 منتشر شد
@BaleBotNet | کلاینت دات‌نت بازوی بله
undefined۴

۳۰۹

۸:۵۷