loader image
php-code-under-control

این پست را به اشتراک گذارید

بخش اول

یکی از تابع های برای تشخص بزرگ و کوچکی استارت این تابع است. (preg_match) که تعریف اش بصورت زیر است :

    preg_match('/^\/([Ss]tart)/',$text)    

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

این تابع هم خیلی کاربردی است و در همه سورس ها باید دیده باشید. (file_get_contents) که تعریف اش به عنوان مثل میشه :

    $ali = file_get_contente('data/ali.txt');    

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

یکی دیگر از تابع هایی که میشه ازش استفاده های زیادی برد (file_put_contents) است.که تعریف تابع به عنوان مثل :

    $ali = file_put_contents('data/ali.txt');    

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

دوستان این تابع خیلی زیاد کاربرد داره ولی متاسفانه چون کسی کاربرد اش رو نمیدونه استفاده زیادی ازش نمیشه.این تابع است (!file_exists) که تعریف اش به عنوان مثال :

  (!file_exists("data/$from_id/ali.txt")){    

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

بخش دوم

تیکه کد پشتیبانی_برای کاربرانی که فورواردشون_بسته هستش

  ابتدا متغیر زیر رو در سورس قرار بدید:    $state = file_get_contents("data/$chat_id/state.txt");  $firstname = $update->callback_query->message->chat->first_name;  

سپس تیکه کد زیر رو در بات قرار بدید:

    elseif($data =="sup"){  file_put_contents("data/$chatid/state.txt","mok");  bot('editMessagetext',[  'chat_id'=>$chatid,  'message_id'=>$messageid,  'text'=>"لطفا نظر،پیشنهاد و مشکل خود را اِرسال کنید",  'reply_markup'=>json_encode([  'inline_keyboard'=>[  [['text'=>"برگشت",'callback_data'=>"back"]],  ],  'resize_keyboard'=>true,  ])  ]);  }  elseif($state == "mok"){  file_put_contents("data/$chat_id/state.txt","no");  bot('sendMessage',[  'chat_id'=>$admin,  'text'=>"  مدیر یک پیام با اطلاعات زیر داری:  نام کاربر : $firstname  ایدی کاربر: @$username  ایدی عددی کاربر: $from_id  متن پیام : $text  ",  'parse_mode'=>'html',  'reply_markup'=>json_encode([  'inline_keyboard'=>[  [['text'=>"پاسخ به کاربر",'callback_data'=>"pm|$from_id"]],  ],  'resize_keyboard'=>true,  ])  ]);  bot('sendMessage',[  'chat_id'=>$chat_id,  'text'=>"ارسال شد",  'reply_markup'=>json_encode([  'inline_keyboard'=>[  [['text'=>"برگشت",'callback_data'=>"back"]],  ],  'resize_keyboard'=>true,  ])  ]);  }  elseif(strpos($data,"pm|" ) !== false ){  $exit = explode("|",$data);  $key = $exit[1];  file_put_contents("data/$chatid/info.txt","$key");  file_put_contents("data/$chatid/state.txt","pm1");  bot('sendMessage',[  'chat_id'=>$admin,  'text'=>"  شما در حال پاسخ به ایدی $key هستید  ",  'parse_mode'=>'html',  ]);  }  elseif($state == "pm1"){  file_put_contents("data/$from_id/sendpm.txt","$text");  file_put_contents("data/$chat_id/state.txt","no");  $info = file_get_contents("data/$from_id/info.txt");  $sendpm = file_get_contents("data/$from_id/sendpm.txt");  bot('sendMessage',[  'chat_id'=>$info,  'text'=>"  پاسخ پیام شما از پشتیبانی : $sendpm  ",  'parse_mode'=>'MarkDown',  ]);  bot('sendMessage',[  'chat_id'=>$chat_id,  'text'=>"ارسال شد",  ]);  }    

توجه کنید این تیکه کد برای ربات با دکمه شیشه ای هست میتونید تغییرش بدید و دکمه ایش کنین این روش راحت از تیکه کد قبلی پشتیبانی است که در کانال قرار گرفته بود. متغیر های لازم رو با سورستون ست کنید.

بخش سوم

تیکه کد های مدلاین

    کد تبدیل گروه به سوپر گروه    $Updates = $MadelineProto->messages->migrateChat(['chat_id' => $CHAT_ID, ]);    کد پاک کردن یک کانال    $MadelineProto->channels->deleteChannel(['channel' => $CHANNEL, ]);    کد دلیت اکانت    $MadelineProto->account->deleteAccount(['reason' => $USERNAME, ]);    کد بستن تاریخچه گروه برای اعضای جدید    $MadelineProto->channels->togglePreHistoryHidden(['channel' => $CHAT_ID, 'enabled' => true, ]);    کد دریافت بلاک لیست اکانت    $MadelineProto->contacts->getBlocked(['offset' => 0, 'limit' => 200, ]);    کد گزارش کردن پیام مخصوص فیلتر کردن    $MadelineProto->messages->report(['peer' => $IDCHANNEL, 'id' => [$MESSAGE_ID], 'reason' => $TEXT, ]);    کد گزارش اسپم برای کسی که اومده پیوی    $MadelineProto->account->reportPeer(['peer' => $USAR_ID, 'reason' => $TEXT, ]);    

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

بخش چهارم

یه تیکه کد ساده برای حذف مسدودیت کاربر داخل گروه

    bot('UnbanChatMember',[  'chat_id'=>$chat_id,  'user_id'=>$id  ]);   }    

کد نمایش پینگ سرور

     elseif($text == "پینگ"){  $load = sys_getloadavg();  sendmessage($chat_id , "پینگ سرور : $load[0]", "html","true");  }     

حلقه فور جهت اسپم زدن

     elseif($text == "on"){  for ($i=0; $i <= 10000; $i++){  bot('sendmessage',[  'chat_id'=>$chat_id,  'text'=> "Hello HamidReza!",  ]);  }     

تیکه کد تبدیل استیکر به عکس

     elseif($text == "/photo"){  file_put_contents("data/$from_id/step.txt","sticker2monstersource");  bot('sendMessage',[  monstersource'chat_id'=>$chat_id,  'text'=>"استیکر رو بده :",  'reply_to_message_id'=>$message_id,  'parse_mode'=>"MarkDown",  ]);  }  elseif($step == "sticker2monstersource"){  file_put_contents("data/$from_id/step.txt","none");  if(isset($message->sticker)){  $file = $message->sticker->file_id;  $get = bot('getfile',['file_id'=>$file]);  $patch = $get->result->file_path;  file_put_contents("data/$from_id/monstersource.png",file_get_contents("https://api.telegram.org/file/bot".API_KEY."/$patch"));  bot('sendphoto',[  monstersource'chat_id'=>$chat_id,  'photo'=>new CURLFile("data/$from_id/monstersource.png"),  'caption'=>"Your photo created"  ]);  unlink("data/$from_id/monstersource.png");  }  }     

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

     کد زیر رو تو قسمت کد استارت بزارید    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");  }     

اگه سورستون پنل مدیریت نداره میتونین بهش پنل اضافه کنید با این روش از رباتتون امار بگیرین.

بخش پنجم

چند تا از فانکشن های مهم که در همه ربات ها استفاده میشود

    function bot($method,$datas=[]){  $url = "https://api.telegram.org/bot".API_KEY."/".$method;  $ch = curl_init();  curl_setopt($ch,CURLOPT_URL,$url);  curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);  curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($datas));  $res = curl_exec($ch);  if(curl_error($ch)){  var_dump(curl_error($ch));  }else{  return json_decode($res);  }  }     function SendMessage($chat_id, $text){   bot('sendMessage',[  'chat_id'=>$chat_id,  'text'=>$text,  'parse_mode'=>"MarkDown"  ]);  }    function SendSticker($chat_id, $sticker){   bot('sendSticker',[  'chat_id'=>$chat_id,  'sticker'=>$sticker  ]);  }    function Forward($KojaShe,$AzKoja,$KodomMSG){  bot('ForwardMessage',[  'chat_id'=>$KojaShe,  'from_chat_id'=>$AzKoja,  'message_id'=>$KodomMSG  ]);  }    function save($filename,$TXTdata){  $myfile = fopen($filename, "w") or die("Unable to open file!");  fwrite($myfile, "$TXTdata");  fclose($myfile);  }    

ادامه دارد …

لینک کوتاه پست

https://viewpanel.ir/?p=10395

حمیدرضا

حمیدرضا

من یک طراح و برنامه نویس وب سایت وردپرس هستم که کدنویسی ربات تلگرام را بصورت حرفه ای انجام میدم !

تمام پست ها

مشترک شدن در خبرنامه ما

همیشه به روزرسانی کنید و از بهترین ها بیاموزید

دیدگاهتان را بنویسید

مقالات مرتبط

تکه کدهای php در رباتسازی

ربات جهت دریافت عکس های پروفایل در این قسمت نمونه کدی قرار دادیم که با دریافت شناسه یک کاربر در