#آموزش

#آموزش
➖➖➖➖➖➖➖➖
◾️بدلیل درخواستهای زیادی که اعضای محترم کانال داشتن،میخوایم یکبار دیگه با هم،ساخت ربات با زبان php رو مرور کنیم
با بقیه روشها مثل گیت آپدیتس و ... کاری ندارم،همون روشی که روال شده رو پیش میریم

◾️یکی از کارهایی که باید انجام بدیم،اینه که باید توکن رباتمون رو تو سورسمون جایگزین کنیم
که هم میتونه با استفاده از یه تابع ثابت انجام بشه و هم از طریق متغیر که ما برای راحتی کار،با تابع ثابت کار میکنیم.

◾️یکی دیگه از کارهایی که باید انجام بدیم اینه که تابع define رو تعریف کنیم.تابع define هم همونطور که مطلع هستید،یه تابع ثابته و قبلا تو کانال زیاد توضیح دادیم.

◾️برای ادیت ما باید توکن رو در این تابع جایگزین کنیم
مثال :

define('APIKEY', 'توکن');

بعد از اینکار،ما تو سورس هر جا API
KEY رو بکار بگیریم،توکنی که بهش دادیم رو،خودش جایگزین میکنه،البته باید به اینصورت نوشته بشه
".APIKEY."

◾️کار بعدیه ما اینه که باید یه تابع با crul بنویسیم که کارهای اصلی ربات ما رو انجام میده

function bot($method,$datas=[]){
$url = "https://api.telegram.org/bot".API
KEY."/".$method;
$ch = curlinit(); curlsetopt($ch,CURLOPTURL,$url); curlsetopt($ch,CURLOPTRETURNTRANSFER,true); curlsetopt($ch,CURLOPTPOSTFIELDS,$datas);
$res = curl
exec($ch);
if(curlerror($ch)){
var
dump(curlerror($ch));
}else{
return json
decode($res);
}
}

◾️اینی که نوشتیم،دو ورودی داره که ورودی اول method که اسمش روشه و متده و ورودی دوم datas که دیتاهای ورودی متد رو در قالب آرایه تعریف میکنه.

◾️اگه به اول کد دقت کنید بعد از function نوشتیم bot ،درسته؟
احتمالا تو سورسها زیاد دیدید که هر چی دلشون خواسته نوشتن،شما هم میتونی هرچی دلت خواست بذاری،فقط تا آخر سورس باید به همون منوال پیش بری.

◾️اگه خودتون یه سر به سایت تلگرام قسمت بات ها بزنید
تو قسمت Sendmessage
۷ پارامتر مشاهده میکنید.

chatid =
آیدی کاربر رو میگیره و فقط به همون کاربر پیام میده
text =
همون متنی هستش که به کاربر نشون میده
parse
mode =
این میتونه html باشه یا Markdown
یعنی شما میتونید به متنهای خودتون فرمت بدید که متن رو بولد نشون بده یا هایپر یا ...

disablewebpagepreview =
اگه true باشه
کاری که انجام میده اینه که اگه متن شما یه لینک داشت دیگه لینک رو پیش نمایش نمیده

disable
notification =
اگه true باشه
وقتی پیام به کاربر میفرسته دیگه بهش اطلاع نمیده

replytomessageid =
اگه خواستیم پیامی که ربات میفرسته ریپلای بشه به پیام کاربر از این استفاده میکنیم

reply
markup =
درصورتیکه خواستیم بهش دکمه اضافه کنیم تعریف این لازمه
خب این تا اینجا
الان بهتره بریم و توابعی که لازم داریم رو تعریف کنیم که مهمترینش 👇🏼

function sendmessage($chatid, $text){
bot('sendMessage',[
'chat
id'=>$chatid,
'text'=>$text,
'parse
mode'=>"MarkDown"
]);
}
شما میتونید طبق نیازی که دارید و توضیحاتی که قبلا فرستادیم واستون تو کانال هر تابعی که خواستید رو اضافه کنید.
میریم سراغ متغیرها

تلگرام پیغام‌ها رو با متد POST برای فایل معرفی شده با getwebhook ارسال می‌کنه.
این متغیری که تو اکثر سورسها میبینید،واسه همینه
"php://input"
که کل پارامترهای دریافتی از post رو دریافت ‌کنه.
$update = jsondecode(filegetcontents('php://input'));
متغیر بعدی
$message = $update->message;
بعدی
$chat
id = $message->chat->id;
ما باید چت آیدی رو تعریف کنیم چون وقتی که تو ربات یه کاربر پیامی رو فرستاد،ربات فقط جواب همون کاربرو بده نه کاربر دیگه رو...
متغیر بعدی
$text = $message->text;
این متغیر کارش اینه ببینه کاربر چه چیزی فرستاده تا طبق اون،بهش جواب بده
(بطور مثال ما تعریف میکنیم که وقتی کاربر استارت زد،جواب بده و بگه سلام) و فقط همین جواب رو بده،اگه کاربر درخواست دیگه ای داشت،باید به نوعی پردازش کنه و این پردازش رو ما باید از قبل برای ربات تعریف کنیم.
₪₪₪₪₪₪₪₪₪₪₪₪₪₪
فعلا تا اینجای آموزش فکر میکنم کافی باشه و جلسه بعد ادامه آموزش رو پیش میریم تا برسیم به آخر سورس.

تمرین کنید،کمتر کپی پیست کنید تا یاد بگیرید.با کپی پیست امکان نداره حتی بعد از چندین سال،بتونید یه خط کد رو درست بنویسید.انقدر باید اشتباه کنید و اشتباهاتتون رو برطرف کنید تا به موفقیت برسید.هیچکس مادرزاد علمی کسب نمیکنه که با ۶ تا مدرک دکترا زیر بغلش بدنیا بیاد.بلااستثناء برای رسیدن به هدفی که دارید،باید سختی ها و تمرینهای زیاد و ... تحمل کنید.شاید با پول به خیلی چیزا برسی،ولی یکی یه سوال بپرسه ازت،گیرپاچ میکنی.
➖➖➖➖➖➖➖➖
@BotSorce