تکه کدهای php در رباتسازی | ویو پنل | viewpanel

آموزش تلگرام, آموزش کدنویسی, ربات تلگرام 4 27 خرداد 1400 لایک

ربات جهت دریافت عکس های پروفایل

در این قسمت نمونه کدی قرار دادیم که با دریافت شناسه یک کاربر در تلگرام تمام تصاویر پروفایل او را نمایش می دهد. برای استفاده از این نمونه برنامه باید یک ربات ایجاد کرده و توکن آن را داشته باشید . همچنین باید شناسه کاربری (user_id) کاربر را هم داشته باشید.


<?php
$user_id=$_GET['user_id'];
define("API_KEY" , "your bot api token ");
$url = "https://api.telegram.org/bot".API_KEY."/getUserProfilePhotos?user_id=$user_id";
$updates= json_decode(file_get_contents($url));
if($updates->ok == true){
$photos = $updates->result->photos;
if ( count($photos)>0)
{
for($i=0 ; $i<count($photos); $i++) {
$file_id = $photos[$i][0]->file_id;
$url = "https://api.telegram.org/bot" . API_KEY . "/getFile?file_id=$file_id";
$updates = json_decode(file_get_contents($url));
if ($updates->ok) {
$file_path = $updates->result->file_path;
$path = "https://api.telegram.org/file/bot".API_KEY."/$file_path";
echo "<img align='left' src='$path'>";
}
}
}
}else echo "Error";
?>

در برنامه فوق ثابت API_KEY باید با توکن ربات مقداردهی شود و این برنامه را می توانید روی سرور محلی قرارداده و اجرا کنید ، هنگام درخواست برنامه باید یک پارامتر بنام user_id  با مقدار شناسه کاربری به آن بفرستید.


http://domin.com/profile/profile.php?user_id=190555695

ربات برای تکرار پیام فرستاده شده

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


<?php
function sendMessage($datas){
$url = "https://Domin.com/api/bot/sendMessage";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
$datas["api_key"]=API_KEY;
curl_setopt($ch, CURLOPT_POSTFIELDS,
http_build_query($datas));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($ch);
curl_close ($ch);
return json_decode($server_output);
}
ob_start();
$content= file_get_contents("php://input");
$update = json_decode($content);
define("API_KEY" , "584bbd612a4499f7d707b50e:8053b5664");
$text = $update->message->text;
$text_reply ="payame shoma: $text";
sendMessage([
"text"=>$text_reply,
"chat_id"=>$update->message->chat->id,
"reply_to_message_id"=>$update->message->message_id
]);
?>

تابع sendMessage پیاده سازی شده که یک آرایه به عنوان پارامتر می پذیرد و متد sendMessage بات ساز را صدا می زند. مقادیر داخل آرایه به عنوان پارامترهای متد در کوئری قرار داده شده و به بات ساز فرستاده می شوند.

تیکه کد میدلاین جهت تبدیل استیکر متحرک به گیف از طریق ربات

if($text == 'to gif' or $text == 'به گیف'){
if (isset($update['message']['reply_to_msg_id'])) {
$soltan = $update['message']['reply_to_msg_id'];
if($type3 == "supergroup"||$type3 == "chat"){
$messeg = yield $MadelineProto->channels->getMessages(['channel' =>$peer, 'id' =>[$soltan],]);
}else{
$messeg = yield $MadelineProto->messages->getMessages(['id' =>[$soltan],]);
}
if (isset($messeg['messages'][0]['media']['document']['attributes']['1']['alt'])) {
$media = $messeg['messages'][0]['media'];
yield $MadelineProto->messages->editMessage(['peer' =>$peer,
'id' =>$msg_id,
'message' =>"» درحال تبدیل استیکر متحرک مورد نظر به گیف . . . !",
'parse_mode'=>"MarkDown"]);
$MadelineProto->messages->sendMedia(['peer' =>"@souresphp", 'media' =>$media]);
file_put_contents("pnlmsgid.txt",$msg_id);
file_put_contents("pnlpeer.txt","$peer");
} 
}
}

کد زیر رو بیرون از حلقه ادمین قرار بدید

if($from_id == 678654309 ,$update){
if($update['message']['media']['document']['mime_type'] == "video/mp4"){
$soltan_msgid = file_get_contents("pnlmsgid.txt");
$soltan_peer = file_get_contents("pnlpeer.txt");
yield $MadelineProto->messages->sendMedia([
'peer'=>$soltan_peer,
'media' =>$update['message']['media'],
'message' =>"» استیکر متحرک شما با موفقیت به گیف تبدیل شد !"
,'parse_mode'=>"MarkDown"
,'reply_to_msg_id' =>$soltan_msgid
]);
unlink("pnlmsgid.txt");
unlink("pnlpeer.txt");
}
}

 

تیکه کد میدلاین جهت دانلود عکس های نابود شونده


ابتدا متغییرهای زیر را قرار دهید

$peer = yield $this->getId($update);
$message_id = $update['message']['id'] ?? 0;
$replyToId = $update['message']['reply_to']['reply_to_msg_id']?? 0;
$info = yield $this->getInfo($update);
$me = yield $this->getSelf();
$me_id = $me['id'];
$type = $info['type'];


سپس هم کد اصلی زیر را



if (preg_match('#^[!/]?DON#i', $text) and $replyToId) {
if($type == "user"){
$doni = yield $this->messages->getMessages([
'peer' => $peer,
'id' => [$update['message']['reply_to']['reply_to_msg_id']]
]);
}elseif($type == "supergroup"){
$doni = yield $this->channels->getMessages([
'channel' => $peer,
'id' => [$update['message']['reply_to']['reply_to_msg_id']]
]);
}
$file = isset($doni['messages'][0]['media']) ? $doni['messages'][0]['media'] : "none";
if($file != "none"){
$output_file_name = yield $this->downloadToFile($file, getcwd(). '/tak_php.jpg');
yield $this->messages->sendMessage([
'peer' => $peer,'reply_to_msg_id'=>$message_id,
'message' => " با موفقیت دانلود شد",
]);
yield $this->messages->sendMedia([
'peer' => $me_id,
'media' =>['_' => 'inputMediaUploadedDocument',
'file' => 'tak_php.jpg',
'attributes' => [['_' => 'documentAttributeFilename',
'file_name' => 'tak_php.jpg']]]]);
}
unlink("tak_php.jpg");
}

مهم : کدها و متغییرا را باید با سورس خودتون ست کنید.

 

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

مدیر سایت
مدیر سایت

بنده حمیدرضا یک طراح ربات تلگرام و سایت های وردپرسی هستم که مدت 5 سالی میشه که تو این رشته بصورت حرفه ای بیشتر در حال فعالیت بودم و همچنین هستم. همه تلاشم و میکنم تا بتونم بهترین آموزش های رباتسازی و سورس کدهای ربات را به بهترین شکل ممکن برای شما عزیزان منتشر کنم.

امتیاز :
بدون رای!

مطالب مشابه

نظرات

قوانین ارسال دیدگاه :

چنانچه دیدگاهی توهین آمیز باشد و متوجه اشخاص مدیر، نویسندگان و سایر کاربران باشد تایید نخواهد شد.

چنانچه دیدگاه شما جنبه ی تبلیغاتی داشته باشد تایید نخواهد شد.

چنانچه از لینک سایر وبسایت ها و یا وبسایت خود در دیدگاه استفاده کرده باشید تایید نخواهد شد

چنانچه در دیدگاه خود از شماره تماس، ایمیل و آیدی تلگرام استفاده کرده باشید تایید نخواهد شد.

چنانچه دیدگاهی بی ارتباط با موضوع آموزش مطرح شود تایید نخواهد شد.

برای ارسال دیدگاه شما باید وارد سایت شوید.