مقاله خود را جستجو کنید
در این بخش میتوانید مقاله خود به صورت حرفه ای جستجو نماید.
در این بخش میتوانید مقاله خود به صورت حرفه ای جستجو نماید.
<?php function objectToArray( $object ) { if( !is_object( $object ) && !is_array( $object ) ){ return $object; } if( is_object( $object ) ){ $object = get_object_vars( $object ); } return array_map( 'objectToArray', $object ); } $string = json_decode(file_get_contents('php://input')); $result = objectToArray($string); $user_id = $result['message']['from']['id']; $text = $result['message']['text']; $token = '361224581:AAExi7x443GvN5jhjhc5N4RGt6FbmI43Q'; switch ($text) { case '/start': $text_reply = "سلام به ربات کوتاه کننده لینک خوش آمدید."; break; default: $text_reply = sortLink($text); break; } $url = 'https://api.telegram.org/bot'.$token .'/sendMessage?text='.$text_reply.'&chat_id='.$user_id; $res = file_get_contents($url); function sortLink($text){ $address = "https://alimajidi.com/bot-short-link/"; try{ $conn = new PDO("sqlite:db.sqlite"); $conn->exec('set names utf8'); }catch(PDOException $e){ echo $e->getMessage(); } if(empty($text)) return "empty"; elseif(filter_var($text, FILTER_VALIDATE_URL) === false) return "invalid url"; else{ $name = substr(str_shuffle("0123456789abcdefghijklmnopqrstvwxyz"), 0, 7); $insert = $conn->prepare("INSERT INTO urls (url , name) VALUES (:url , :name)"); $query = $insert->execute(array( ':url' => $text, ':name' => $name )); if($query == '1') return $address.$name; else return "nameError"; } }– توکن ربات رو جایگزین کنید . – در فانکشن sortLink آدرس سایت و نام دیتابیس را وارد کنید . در ادامه یک فایل با نام index.php ایجاد میکنم تا زمانی که کاربر بر روی لینک کوتاه ما کلیک میکند به آدرس مورد نظر ریدایرکت شود . ابتدا عدد تصادفی رو از انتهای آدرس دریافت کنیم (http://alimajidi.com/sort-lin/index.php?url=fdf83d9) و عدد را در دیتابیس sqlite جستجو می کنیم و url ثبت شده در دیتابیس را دریافت میکنم . و در نهایت کاربر را به url درج شده در دیتابیس ریدایرکت میکنیم . فایل index.php :
<?php try{ $conn = new PDO("sqlite:db.sqlite"); $conn->exec('set names utf8'); }catch(PDOException $e){ echo $e->getMessage(); } function clean($str) { $str = @trim($str); if(get_magic_quotes_gpc()) { $str = stripslashes($str); } return $str; } $name = clean($_REQUEST['url']); if(isset($name)){ $stmt = $conn->prepare("SELECT * FROM urls WHERE name = :name ORDER BY id DESC LIMIT 1" ); $stmt->execute(array( ':name' => $name )); $value = $stmt->fetchObject(); if(count($value) == 1 ){ header("Location: ".$value->url); exit; }else{ echo "<div style='text-align: center; margin-top: 20px; font: bold 15px arial;'>چنین آدرسی وجود ندارد</div>"; } }راه اندازی ربات در ۳ مرحله : ۱- فایل های ربات را دانلود کنید و در هاست خودتان آپلود کنید (سایت حتما داری ssl باشد). ۲- https://api.telegram.org/bot<token>/setWebhook?url=<url> آدرس زیر در نوار آدرس مرورگر کپی کنید و توکن + آدرس فایل bot.php در هاست خودتان را جایگزین کنید . مثل آدرس رو به رو : (https://alimajidi.com/bot-short-link/bot.php). ۳- فایل bot.php را باز کنید و توکن ربات + آدرس سایت را جایگزین کنید . موفق باشید