تبلیغات اینستاگرام
ads.fileon.ir

ارتباط ربات تلگرام با دیتابیس

نویسنده : سمانه KZ | زمان انتشار : 27 بهمن 1398 ساعت 18:49

در این مطلب قصد داریم نحوه اتصال ربات تلگرام به دیتابیس (پایگاه داده) را آموزش دهیم.

از آنجایی که بعضی از دوستان نحوه اتصال ربات تلگرام به دیتابیس و ذخیره اطلاعات کاربران رو از بنده خواسته بودن تصمیم گرفتم این مطلب رو توس سایت ارائه بدم تا همه عزیزان استفاده کنند.

خب در ابتدای کار باید بگم که طبق روند از آنجایی که در مورد اتصال حرف زده شده باید کدی بنویسیم که به پایگاه داده متصل بشیم تا بعدا بتونیم با اون اتصال اطلاعات کاربران رو توی دیتابیس ذخیره کنیم.

ابتدا میاییم یه فایل به نام db.php میسازیم و با کدهای زیر رو داخل این فایل قرار میدیم تا به فایل اصلی ربات تعریف کنیم که با استفاده از فایل db.php به دیتابیس متصل بشه :

<?php

define('DB_NAME','');// نام پایگاه داده

define('DB_USER','');// یوزرنیم پایگاه داده

define('DB_PASSWORD','');// پسورد پایگاه داده

define('DB_HOST','localhost');// هاست نیم

$connect=newmysqli(constant("DB_HOST"),constant("DB_USER"),constant("DB_PASSWORD"),constant("DB_NAME"));

// Check connection

if($conn->connect_error){

    die("Connection failed: ".$conn->connect_error);

}

mysqli_set_charset($connect,'utf8');

?>

خب حالا یه دیتابیس جدید توی هاست میسازیم و مقادیر رو در کدهای بالا اضافه میکنیم. همانطور که میبینید من اومدم تکه کد ” mysqli_set_charset ” هم به فایل اضافه کردم. این تکه کد میاد کاراکترهای مارو بصورت فارسی توی دیتابیس ذخیره میکنه تا حروف بصورت ناخوانا نباشه.

خب تا اینجای کار امیدوارم مطلب رو فهمیده باشید.

حالا باید بریم سراغ فایل اصلی ربات و فایل db.php رو داخلش فراخوانی کنیم. با استفاده از کد زیر فایل db.php رو توی فایل اصلی رباتمون فراخوانی میکنیم :

خب حالا فایل اصلی ربات به دیتابیس متصل هست پس میریم سراغ ادامه کار :

برای اینکه مطلب قابل فهم باشه و زیاد طولانی نشه کار رو با یک مثال شروع میکنم.

فرض کنید میخواییم وقتی کاربری به ربات پیام /start رو ارسال کرد نام کاربر توی دیتابیس ذخیره بشه. پس ما ابتدا باید یخ جدول توی دیتابیس درست کنیم. من جدول رو از قبل نوشتم و واسه بقیه دوستان قرار میدم :

CREATETABLE`users`(

  `id`INTNOT NULLAUTO_INCREMENT,

  `name`varchar(160)COLLATEutf8_unicode_ciNOT NULL,

  PRIMARYKEY(`id`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8COLLATE=utf8_unicode_ci;

این کد هارو باید توی فایل با پسوند .sql در دیتابیس ایمپورت کنید.

همونطور که میبینید یک قسمت به نام id و یک قسمت به نام name توی جدول مربوطه نوشتم که قسمت id بصورت خودکار از ۱ شروع میشه و قسمت name هم قراره وقتی کاربری /start را ارسال کرد نام کاربر در این فیلد ذخیره بشه.

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

تکه کد زیر میاد توسط ربات نام کاربر رو میگیره :

$from_first=$update->message->from->first_name;

خب همانطور که میبینید نام کاربر با استفاده از کد from_first$ گرفته میشه \س با همین کد اطاعات رو به دیتابیس ارسال میکنیم :

mysqli_query($connect,"INSERT INTO `users` VALUES ('', '$from_first')");

خب این کد رو هم باید جایی بزارید که طبق خواسته خودتون کاربر چه کلمه ای رو ارسال کنه تا نام کاربر در دیتابیس ذخیره بشه. همانطور که گفتم من فرض میکنم کاربر متن /start رو ارسال کرد اطلاعات ذخیره بشه، پس کد بالا رو بصورت زیر تکمیل میکنم :

$text=$message->text;

if($text=="/start"){

    mysqli_query($connect,"INSERT INTO `users` VALUES ('', '$from_first')");

}

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

در صورت داشتن هرگونه سوال از طریق بخش نظرات همین پست جوابتون رو میدم.