پرش به محتویات

دستورپخت‌ها

همهٔ مثال‌ها از متدهای واقعی پکیج استفاده می‌کنند. برای امضاها به مرجع رابط برنامه‌نویسی مراجعه کنید.

ارسال پیام

Bale::sendMessage(chatId: 123456789, text: 'سلام');

پاسخ به پیام

Bale::replyToMessage($update['message'], 'پاسخ شما');

دکمه‌های درون‌خطی و پاسخ انتخاب

Bale::sendMessage(
    chatId: 123456789,
    text: 'انتخاب کنید',
    options: ['reply_markup' => ['inline_keyboard' => [
        [['text' => 'تأیید', 'callback_data' => 'confirm']],
    ]]],
);

Bale::answerCallbackQuery(callbackQueryId: $update['callback_query']['id']);

آپلود فایل محلی

Bale::sendDocument(
    chatId: 123456789,
    document: new SplFileInfo(storage_path('app/report.pdf')),
);

استفادهٔ دوباره از شناسهٔ فایل

Bale::sendDocument(chatId: 123456789, document: 'bale-file-id');

دانلود و ذخیرهٔ فایل

use Illuminate\Support\Facades\Storage;

Storage::put('bale/report.pdf', Bale::downloadFile($fileId));

ارسال گروه رسانه

Bale::sendMediaGroup(
    chatId: 123456789,
    media: [
        ['type' => 'photo', 'media' => 'attach://first'],
        ['type' => 'photo', 'media' => 'attach://second'],
    ],
    attachments: [
        'first' => new SplFileInfo(storage_path('app/first.jpg')),
        'second' => new SplFileInfo(storage_path('app/second.jpg')),
    ],
);

دریافت دوره‌ای با getUpdates

$updates = Bale::getUpdates(['offset' => $nextOffset, 'timeout' => 30]);

این فقط یک درخواست است؛ حلقه و ذخیرهٔ offset بر عهدهٔ برنامهٔ شماست.

وب‌هوک در لاراول ۱۳

// routes/web.php
Route::post('/bale/webhook', fn (\Illuminate\Http\Request $request) => response()->noContent());

// سپس در bootstrap/app.php همان URI را از CSRF مستثنا کنید.
Bale::setWebhook('https://example.test/bale/webhook');

برای جزئیات 419 به رفع اشکال مراجعه کنید. پکیج مسیر یا کنترل‌کننده نمی‌سازد.

askReview

Bale::askReview(userId: 123456789, delaySeconds: 30);

آزمون اتصال به بله

Bale::fake();

Bale::sendMessage(chatId: 123456789, text: 'سلام');

Bale::assertSent('sendMessage', ['text' => 'سلام']);

جزئیات در راهنمای آزمون است.