BotFather ارسال شده در 16 شهریور، ۱۳۹۶ گزارش اشتراک گذاری ارسال شده در 16 شهریور، ۱۳۹۶ در این آموزش قصد داریم که اطلاعات تمامی کاربران رو در دیتابیس sqlite ذخیره کنیم، تا هم آمار کاربران ربات رو داشته باشیم و هم بتوانیم به تمامی کاربران پیام ارسال کنیم . ابتدا یک ربات در تلگرام ایجاد کنید، در صورتی که نیاز به آموزش ساخت دارید به این مطلب مراجعه کنید . ۱- یک دیتابیس با فیلد های (id – user_id – name – last_name – username – date) در sqlite یا mysql ایجاد میکنیم . چون میخوایم با PDO کار کنیم مهم نیست از چه دیتابیسی استفاده میکنید . 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("sqliteb.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("sqliteb.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_ke yboard'=>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.'&re ply_markup='.$key ; file_get_contents($url); } برای ارسال پیام به همه کاربران، لازمه از تلگرام ادمین (همون چت آیدی که در سطر ۱۲ وارد کرده اید) پیام رو ارسال کنید . کاربران قادر به مشاهده کیبورد اختصاصی نمی باشند. سورس کامل ربات پیوست شد. bot-send-message.zip 2 نقل قول لینک به دیدگاه به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
syed esmaeil ارسال شده در 5 اردیبهشت، ۱۳۹۷ گزارش اشتراک گذاری ارسال شده در 5 اردیبهشت، ۱۳۹۷ با سلام و سپاس خوشحالم که در کنار شما عزیزان هستم ببخشید اطلاعات دیتابیس رو کجای این index.php باید اعمال کنیم . چون من قسمتی مربوط به dbname , userdb ,password پیدا نکردم . مممنون نقل قول لینک به دیدگاه به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
syed esmaeil ارسال شده در 7 اردیبهشت، ۱۳۹۷ گزارش اشتراک گذاری ارسال شده در 7 اردیبهشت، ۱۳۹۷ uppppppppppppp نقل قول لینک به دیدگاه به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
syed esmaeil ارسال شده در 10 اردیبهشت، ۱۳۹۷ گزارش اشتراک گذاری ارسال شده در 10 اردیبهشت، ۱۳۹۷ عجبببببببببببببببببببببببببببببببببببببب نقل قول لینک به دیدگاه به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
pario0o0 ارسال شده در 11 اردیبهشت، ۱۳۹۷ گزارش اشتراک گذاری ارسال شده در 11 اردیبهشت، ۱۳۹۷ uhgd نقل قول لینک به دیدگاه به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
syed esmaeil ارسال شده در 8 شهریور، ۱۳۹۷ گزارش اشتراک گذاری ارسال شده در 8 شهریور، ۱۳۹۷ ریدید با این سایتتون بابا نقل قول لینک به دیدگاه به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .