مقاله خود را جستجو کنید
در این بخش میتوانید مقاله خود به صورت حرفه ای جستجو نماید.
در این بخش میتوانید مقاله خود به صورت حرفه ای جستجو نماید.
CREATE TABLE "main"."users" ("id" INTEGER PRIMARY KEY NOT NULL UNIQUE , "user_id" VARCHAR, "name" VARCHAR, "last_name" VARCHAR, "username" VARCHAR, "date" DATETIME DEFAULT CURRENT_TIMESTAMP)تیبل users رو در sqlite رو ایجاد کنید . برای مدیریت sqlite بهترین گزینه افزونه فایرفاکس است .
try{ $conn = new PDO("sqlite:db.sqlite"); $conn->exec('set names utf8'); }catch(PDOException $e){ echo $e->getMessage(); } try { $insert = $conn->prepare("INSERT INTO `users` ( `user_id`, `name`, `last_name`, `username`) VALUES (:user_id, :name , :last_name , :username)"); $insert->execute(array( ':user_id' => '465428445', ':firest_name' => 'tooba', ':last_name' => 'web', ':username' => '@tooba_co', )); } catch(PDOException $e) { echo $e->getMessage(); }در قدم بعد فایل sql رو به همراه index.php در هاستتون آپلود کنید و مطمئن بشید که کوئری insert به درستی کار میکنید . توضیحات کد بالا : – ابتدا میایم به sqlite متصل میشیم . – در سطر ۹ اطلاعاتی رو که ربات تلگرام برامون ارسال میکنه رو به صورت آبجکت دریافت میکنیم . توسط فانکشن objectToArray اطلاعات دریافتی رو به آرایه تبدیل میکنیم . – در سطر ۱۲ چت آیدی خودتون رو وارد کنید ( برای دریافت چت ایدی میتونید از این ربات استفاده کنید ) و در سطر ۶۸ توکن ربات رو وارد کنید . – فانکشن sendMessage برای ارسال پیام به کاربر می باشد .
<?php try{ $conn = new PDO("sqlite:db.sqlite"); $conn->exec('set names utf8'); }catch(PDOException $e){ echo $e->getMessage(); } $string = json_decode(file_get_contents('php://input')); $result = objectToArray($string); $user_id = $result['message']['from']['id']; $admin = '219985226'; $from = $result['message']['from']; $text = $result['message']['text']; $users = $conn->query("SELECT * FROM `users`"); $keyboard = array('keyboard' => array(array("تعداد کاربران", "خرید سرور مجازی")),'one_time_keyboard'=>true,'resize_keyboard'=>true); $keyboard = json_encode($keyboard); if( $admin != $user_id){ if($text == '/start'){ try { $insert = $conn->prepare("INSERT INTO `users` ( `user_id`, `name`, `last_name`, `username`) VALUES (:user_id, :name , :last_name , :username)"); $insert->execute(array( ':user_id' => $user_id, ':name' => $from['first_name'], ':last_name' => $from['last_name'], ':username' => $from['username'], )); sendMessage("خوش امدید . اطلاعات شما در سیستم ثبت شد ." , $user_id , null); } catch(PDOException $e) { echo $e->getMessage(); } } }else{ if($text == '/start') sendMessage("خوش آمدید" , $user_id , $keyboard); elseif($text == 'تعداد کاربران') sendMessage("تعداد کاربران : ".count($users->fetchAll()) , $user_id , $keyboard); elseif($text == 'خرید سرور مجازی') sendMessage("https://my.tooba.co/cart.php?gid=3¤cy=2" , $user_id , $keyboard); else{ foreach($users->fetchAll(PDO::FETCH_ASSOC) as $value){ sendMessage($text , $value['user_id'] , $keyboard); } } } 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 ); } function sendMessage($text , $user_id , $keyboard = null){ $token = '414354064:AAsgrcHLd3fi4mEErMPP45selX_Zoi2o'; $key = ($keyboard != null)? $keyboard : ''; $url = 'https://api.telegram.org/bot'.$token .'/sendMessage?text='.$text.'&chat_id='.$user_id.'&reply_markup='.$key ; file_get_contents($url); }برای ارسال پیام به همه کاربران، لازمه از تلگرام ادمین (همون چت آیدی که در سطر ۱۲ وارد کرده اید) پیام رو ارسال کنید . کاربران قادر به مشاهده کیبورد اختصاصی نمی باشند. اگر سوالی براتون پیش اومد میتونید تو کامنت بپرسید . دانلود فایل ربات + دیتابیس