keyboard_return  چسبون مقالات آموزشی استفاده از تلگرام Telegram در لاراول ۵.۴
  1. استفاده از تلگرام Telegram در لاراول ۵.۴

 ارسال پیام به تلگرام در لاراول بعد از لاگین کردن کاربر

تلگرام Telegram یک پیام رسان رایگان، امن و سریع می باشد که توجه مخاطبان زیادی را در سرتاسر جهان به خود جلب کرده است. در این پست قصد داریم نحوه ارسال پیام به تلگرام در اپلیکیشن لاراول را به شما دوستان عزیز آموزش دهیم.

در این آموزش ما از پکیج رایگان irazasyed/Telegram-BOT-SDK استفاده می کنیم. این پکیج می تواند پیام هایی را به کانال تلگرام، گروه ها یا چت های یک نفره ارسال کند. شما می توانید از این پکیج برای ارسال پیام هایی نظیر خوش آمدگویی به کاربران جدید، تایید پرداخت های انجام شده، انتشار پست های جدید و ... به کاربران خود در تلگرام استفاده کنید.

این پروژه روی لاراول نسخه ۵٫۳ و ۵٫۴ تست شده است.

خب ابتدا یک پروژه لاراول ایجاد کنید:

composer create-project laravel/laravel Notification --prefer-dist

در مرحله بعد یک کلید جدید برای پروژه خود ایجاد کنید:

php artisan key:generate

حالا نوبت به نصب پکیج تلگرام می رسد دستور زیر را در CMD وارد کنید:

composer require irazasyed/telegram-bot-sdk

بعد از نصب کامل پکیج، فایل app.php موجود در پوشه config را باز کرده و service provider زیر را به آن اضافه کنید:

Telegram\Bot\Laravel\TelegramServiceProvider::class,

همچنین Alias زیر را به aliases اضافه کنید:

'Telegram' => Telegram\Bot\Laravel\Facades\Telegram::class,

خب دستور زیر را نیز در ترمینال/ CMD وارد کنید:

php artisan vendor:publish --provider="Telegram\Bot\Laravel\TelegramServiceProvider"

با اجرای این دستور فایل حاوی تنظیمات با نام telegram.php به پوشه config پروژه اضافه می شود که می توانید Token مربوط به ربات تلگرام خود را در آن تنظیم نمایید تا اپلیکیشن شما بتواند کانال/گروه تلگرام مورد نظر شما را شناسایی کند.

خب نوبت به ساخت یک ربات تلگرام می رسد. این ربات وظیفه برقراری ارتباط بین اپلیکیشن لاراول و تلگرام را به عهده دارد.

ساخت ربات:

جهت ساخت ربات تلگرام به آدرس https://telegram.me/botfather و یا BotFather@ مراجعه کنید. جهت شروع باید از دستور new/ استفاده کنید. در ادامه نام نمایشی Bot از شما پرسیده می شود (مثلا Chasboon) و سپس نام کاربری Bot از شما پرسیده می شود دقت کنید این نام باید به کلمه bot ختم شود (مثلا ChasboonBot).

Create-Telegram-Bot

خب در انتها یک Token به شما اختصاص داده می شود که باید از این توکن جهت شناسایی ربات به لاراول استفاده کنید.

فایل env. را باز کنید و توکن دریافتی را در آن ثبت کنید:

TELEGRAM_BOT_TOKEN=123456789:ABCDEF1GHIJ2KLM3N_OPQRST

ارسال پیام به گروه تلگرام:

یگ گروه (group) در تلگرام بسازید و ربات ساخته شده را در آن به عنوان Administrator اضافه کنید. برای ارسال پیام به گروه مورد نظر نیاز به CHAT_ID گروه دارید.

توجه داشته باشید که تنها با داشتن chat_id گروه می توانید پیامی را به آن گروه ارسال کنید. برای بدست آوردن Chat_id گروهی که ربات در آن عضو است به آدرس زیر مراجعه کنید:

https://api.telegram.org/botYourBOTToken/getUpdates

بجای عبارت YourBOTToken باید توکن دریافتی از BotFather را وارد کنید. دقت کنید حتما کلمه bot را در ابتدای توکن بنویسید. بعنوان مثال (bot123456:abcdef_123) با مراجعه به آدرس فوق، تلگرام نام و Chat_ID گروهی که ربات در آن عضو است را به شما نمایش می دهد. chat_id یک عدد می باشد مثلا ۱۲۳۴۵۶۷۸۹-

ارسال پیام به کانال تلگرام:

یگ کانال (channel) در تلگرام بسازید و ربات ساخته شده را در آن به عنوان Administrator اضافه کنید. برای ارسال پیام به کانال مورد نظر نیاز به CHAT_ID کانال دارید. برای بدست آوردن id کانال مورد نظر آدرس زیر را در مرورگر خود وارد کنید:

https://api.telegram.org/botYourBotToken/sendMessage?chat_id=@YourChannelName&text=test

بجای عبارت YourBotToken باید توکن ربات خود و بجای YourChannelName نام کانال خود را وارد کنید. دقت کنید حتما کلمه bot را در ابتدای توکن بنویسید. بعنوان مثال (bot123456:abcdef_123). 

Get-Telegram-Channel-ID

خب حالا دستور زیر را در ترمینال/CMD اجرا کنید:

php artisan make:auth

با اجرای این دستور کاربران برای دسترسی به صفحاتی که شما تعیین کردید باید ثبت نام و لاگین کنند. در صورت نیاز باید از دستور زیر جهت ساخت جدول مربوط به کاربران نیز استفاده کنید:

php artisan migrate

کنترلر HomeController موجود در پوشه App/Http/Controllers را باز کنید:

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;

class HomeController extends Controller {
/**
* Create a new controller instance.
* 
* @return void
*/ 
public function __construct() { 
	$this->middleware('auth'); 
}
/** 
* Show the application dashboard.
* 
* @return \Illuminate\Http\Response 
*/
public function index() { 
	return view('home'); 
} 
}

Facades زیر را به کنترلر اضافه کنید

use Telegram\Bot\Laravel\Facades\Telegram; 
use Illuminate\Support\Facades\Auth;

و در تابع index کد زیر را اضافه کنید:

Telegram::sendMessage([ 'chat_id' => '-180940913',//Your Bot Chat_ID
'text' => Auth::user()->name .' Welcome to my web site' ]);

توجه داشته باشید که در کد فوق chat_id مربوط به گروه یا کانال خود را وارد کنید تا پیام ارسالی به گروه/کانال مورد نظرتان ارسال شود.

وارد ترمینال/CMD شده و دستور زیر را وارد کنید تا پروژه اجرا شود:

php artisan serve

کافیست تا با نام کاربری خود لاگین کنید تا پیام خوش آمدگویی به گروه/کانال تلگرام شما ارسال شود.

در صورتیکه با Error مربوط به cURL مواجه شدید آموزش رفع خطای cURL ssl certificate را مطالعه کنید.

خب به پایان این آموزش رسیدیم. امیدوارم از این آموزش لذت برده باشید.

چسبون مرجع برنامه نویسی و طراحی وب

استفاده از تلگرام Telegram در لاراول ۵.۴ - 4.2 از 5 بر اساس 150 رای

امتیاز کاربران

استفاده از تلگرام Telegram در لاراول ۵.۴
دیدگاه‌ها
sajjad sajjad 6 سال پیش
Telegram \ Bot \ Exceptions \ TelegramSDKException cURL error 28: Connection timed out after 10015 milliseconds (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) خطا میده
آرمان بابائی آرمان بابائی 6 سال پیش
با توجه به مسدود شدن تلگرام خطای time out دارید می گیرید و این طبیعیه!
Benyamin Benyamin 7 سال پیش
منم همین ارور رو دریافت کردم ...
آرمان بابائی آرمان بابائی 7 سال پیش
این پست رو مشاهده کنید: https://chasboon.ir/curl-ssl-certificate-guzzle
Benyamin Benyamin 7 سال پیش
این پست برای Xamp است .. | من برای Wamp رو احتیاج دارم .. + علاوه بر این دوستمون در بالا به این اشاره کرد که در هاست هم نمیتونن !!
pure pure 7 سال پیش
cURL error 60: SSL certificate problem: self signed certificate in certificate chain (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
Ben Ben 7 سال پیش
متاسفانه منم همین اررور رو گرفتم . . . "cURL error 60: SSL certificate problem: self signed certificate in certificate chain (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)"
dariush dariush 7 سال پیش
خطای curl ssl certificate با راه حل شما خل نشد و اررور: cURL error 60: SSL certificate problem: self signed certificate in certificate chain (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) که با کلی سرچ باز هم نتونستم حلش کنم. همچنین وقای توی هاست واقعی تست کردم اررور: (2/2) TelegramResponseException Not Found لطفا کمک کنین .....
آرمان بابائی آرمان بابائی 7 سال پیش
با درود. شما احتمالا یکی از مراحل رو اشتباه رفتید یا پروژه تون مشکل داره. این روش کاملا تست شده می باشد.

2024 © Copyright کليه حقوق مادی و معنوی براي چسبون محفوظ است و هرگونه کپی برداری پیگرد قانونی دارد.