شما این محصولات را انتخاب کرده اید

سبد خرید

شناسه پست: 13822
بازدید: 1667

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

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

<pre class="theme:light-abite lang:null decode:true lang:"><?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  با مقدار شناسه کاربری به آن بفرستید.

<pre class="lang: decode:true">http://domin.com/profile/profile.php?user_id=190555695</pre>

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

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

<pre class="theme:light-abite lang:null decode:true lang:"><?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
]);
?></pre>

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

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

<pre class="theme:light-abite lang:null decode:true lang:"> 
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");
}
}
}</pre>

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

<pre class="lang: decode:true">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");
}
}
</pre>

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

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

<pre class="theme:light-abite lang:null decode:true lang:">$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'];</pre>

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

<pre class="theme:light-abite lang:null decode:true lang:">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");
}</pre>

تکه کد گرفتن آمار ربات

این کد رو زیر قسمت استارت ربات اضافه کنید

if (!file_exists("data/$from_id/step.txt")) {
save("data/$from_id/step.txt", "none");
$myfile2 = fopen("files/allmember.txt", "a") or die("Unable to open file!");
fwrite($myfile2, "\n$from_id");
fclose($myfile2);
}

برای مشاهده آمار ربات

elseif($textmessage == "آمار"){
$allm = file_get_contents("files/allmember.txt");
$member_id = explode("\n",$allm);
$mmemcount = count($member_id) -1;
sendmessage($chat_id,"تعداد کاربران ربات:
$mmemcount");
}

تیکه کد گرفتن کامنت اول

برای ربات میدلاین ، متغیر ها رو با توجه به سورس خودتون ست کنید

if (isset($update['message']['fwd_from']['saved_from_peer'])){
yield $this->messages->sendMessage(['peer' => $chatID, 'message' => 'کامنت اول با موفقیت گرفته شد .', 'parse_mode' => 'Markdown', 'reply_to_msg_id' => $msg_id]);
}

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


if (isset($update['message']['fwd_from']['saved_from_peer'])){
yield $this->messages->sendMessage(['peer' => $chatID, 'message' => 'کامنت اول با موفقیت اشغال شد !✅ | ᴛʜᴇ ғɪʀsᴛ ᴄᴏᴍᴍᴇɴᴛ ᴡᴀs ᴛᴀᴋᴇɴ sᴜᴄᴄᴇssғᴜʟʟʏ !✅', 'parse_mode' => 'Markdown', 'reply_to_msg_id' => $msg_id]);
}

 

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

 

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

 

نویسنده

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