مقاله خود را جستجو کنید
در این بخش میتوانید مقاله خود به صورت حرفه ای جستجو نماید.
در این بخش میتوانید مقاله خود به صورت حرفه ای جستجو نماید.
آموزش برنامه نویسی ساخت ربات کوتاه کننده لینک تلگرام
ربات بدین صورت عمل خواهد کرد – زمانی که کاربر وارد ربات میشود و هر پیامی رو که ارسال میکند ما به منزله لینک دریافت میکنیم و با فانکشن FILTER_VALIDATE_URL لینک ارسالی کاربر را چک میکنیم در صورتی که لینک صحیح نباشد پیام (invalid url) را برای کاربر ارسال میکنم . و در صورتی که لینک صحیح باشه لینک رو به همراه عدد تصادفی (لاین ۵۱) در دیتابیس sqlite ذخیره میکنیم .
فایل bot.php :
<?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 را باز کنید و توکن ربات + آدرس سایت را جایگزین کنید .
موفق باشید