در مقاله قبلی نحوه اتصال برنامه با ربات تلگرام رو با پکیج telegram-bot-sdk گفتم.
در این مقاله دستورات کاربردی که برای کنترل ربات و ارسال پیام و ویدئو و ... به تلگرام نیاز هست رو بررسی میکنیم.
ارسال پیام متنی به تلگرام:
Telegram::sendMessage(['chat_id' => $this->chat_id, 'text' => 'پیام تستی']);
ارسال پیام متنی با فرمت صفحات وب:
$text = 'WhatsApp:' . '<a href="https://yoursite.com/98' . ltrim($customer->phone, '0') . '"> ارسال پیام به واتس اپ </a>' . "\n" Telegram::sendMessage(['chat_id' => $key, 'text' => $text, 'parse_mode' => 'HTML']);
کاراکتر سطر جدید بین پیام های متنی:
$NewLine = "\n";
ارسال یک پیام همراه با ایجاد یک منو برای انتخاب کاربر:
$keyboard = [['عضویت', 'ورود'], [''سایت شرکت ما'], ['کانال تلگرامی ما'],]; $reply_markup = Keyboard::make([ 'keyboard' => $keyboard, 'resize_keyboard' => true, 'one_time_keyboard' => true ]); $res = Telegram::sendMessage([ 'chat_id' => $this->chat_id, 'text' => $text, 'reply_markup' => $reply_markup ]);
ارسال یک تصویر:
$img = Image::make('./images/pic1.png'); $img->save('./images/bot/wallet_with_text.jpg'); Telegram::sendPhoto([ 'chat_id' => $this->chat_id, 'photo' => InputFile::create($img, 'wallet'), ]);
دریافت فایل از کاربر و ارسال آن به تلگرام:
$file = $Message->FileID; $FileType = $Message->FileType; $UserCount = 0; foreach ($users as $user) { try { $chat_id = $user->chat_id; if ($file == null) { Telegram::sendMessage(['chat_id' => $chat_id, 'text' => $Message->Sharh]); } else { switch ($FileType) { case 'audio': Telegram::sendAudio([ 'chat_id' => $chat_id, 'audio' => $file, 'caption' => $Message->Sharh, ]); break; case 'photo': Telegram::sendPhoto([ 'chat_id' => $chat_id, 'photo' => $file, 'caption' => $Message->Sharh, ]); break; case 'document': Telegram::sendDocument([ 'chat_id' => $chat_id, 'document' => $file, 'caption' => $Message->Sharh, ]); break; case 'video': Telegram::sendVideo([ 'chat_id' => $chat_id, 'video' => $file, 'caption' => $Message->Sharh, ]); break; case 'voice': Telegram::sendVoice([ 'chat_id' => $chat_id, 'voice' => $file, 'caption' => $Message->Sharh, ]); break; case 'video_note': Telegram::sendVideoNote([ 'chat_id' => $chat_id, 'video_note' => $file, 'caption' => $Message->Sharh, ]); break; } $UserCount += 1; //----------------- }
اگر آی دی یک پیام ویدئویی رو داشته باشیم و بخواهیم از طریق خود تلگرام این ویدئو رو به کاربران بفرستیم باید به طریق زیر عمل نماییم:
Telegram::sendVideo([ 'chat_id' => $this->chat_id, 'video' => 'BAACAgQAdd64f545d4ff5d4f5df4wuaAAIrBgACAaaJUtM0-OH8bX5EHgQ', ]);
توجه داشته باشید برای اینکه کیفیت ویدئوی ارسالی خوب باشد مجبور هستیم که یک فایل رو به تلگرام بفرستیم و آی دی اون رو بگیریم و از این طریق به کاربران بفرستیم.
امیدوارم که این مطلب کاربردی باشه. منتظر ادامه نوشته ها در این زمینه باشید.