Author Archives: بنیامین خلیفه

ساخت فروشگاه اینترنتی در تلگرام

در این مطلب با ربات جامع فروشگاهی آشنا می شوید

 

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

نحوه کار ربات به این صورت است که پنلی مخصوص ادمین به شما داده می شود و می توانید محصولات خود را به ربات اضافه کنید و محصول را به کانال خود ارسال کنید دکمه خرید زیر پست محصولات قرار میگیره و مشتری با کلیک روی دکمه خرید وارد ربات فروشگاه میشه و می تونه رنگ و سایز محصول را انتخاب کنه

ساخت فروشگاه در تلگرام

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

ساخت ربات فروشگاهی تلگرام

عکس رسید پرداخت همراه با لیست سفارشات و مشخصات مشتری برای ادمین فروشگاه ارسال می شود و ادمین پس از برسی محصول می تواند فاکتور ان را تایید و یا رد نماید

پس از تایید رسید و سفارشات مشتری پیامی به مشتری ارسال می شود که فاکتور و سفارشات شما تایید شده است و به زودی برای شما ارسال خواهد شد

اما اگر سفارش مشتری را رد نمایید می توانید دلیل رد سفارشاتش را نوشته و ارسال کنید مثلا ب کاربر بگویید که عکس رسید پرداخت خود را ارسال کنید

مشتری قابلیت ویرایش سبد خرید خود را دارد و می تواند لیست فاکتور های خود را همراه با وضعیت آن مشاهده کنند در ادامه با سایر قابلیت های ربات اشنا می شود

ربات جامع فروشگاهی

از قابلیت های ربات فروشگاه :

قابلیت کار با سه سطح دسترسی ( ادمین و همکار و مشتری )

قابلیت افزودن محصولات جدید به ربات همراه با قیمت خرید فروش و قیمت همکار و هزینه  پستی

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

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

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

@benyaminir


معرفی ویرایشگر کد php

یک محیط کد نویسی مناسب یا همون IDE می تونه در نوشتن یک برنامه بسیار تاثیر گذار باشه برای مثال شما می تونید کد های php خودتون رو توی نوت پد هم بنویسید ولی خب کار مشکلیه و برسی کد ها و همین طور نوشتن کد رو برای شما سخت میکنه

کد ادیتور های زیادی برای php وجود داره اما میخوایم 2 تا برنامه معرفی کنیم که هم کاملا رایگان هستند و تقریبا همه ویژگی های یه IDE خوب رو دارن و از همه مهمتر روی تمامی سیستم عامل ها قابل دسترس هستند

eclips

eclips یک IDE کامل است شما به وسیله آن می توانید برنامه های جاوا php و یا حتی اپلیکیشن اندروید بسازید ( البته برای برنامه نویسی اندروید بهتره از اندروید استادیو اسفاده کنید )

لینک برنامه : دانلود اکلیپس

اکلیپس نسخه های مختلفی داره که با توجه به نیاز خودتون می تونید یکی رو دانلود کنید برای برنامه نویسی php بهتره نسخه PDT رو دانلود کنید اما اگر نسخه های دیگه اون رو دانلود کردید و دید که قابلیت ایجاد پروژه php رو نداره میتونید زبان php رو به این صورت اضافه کنید:

از منوی Help گزینه Installation New Software رو انتخاب کنید و در قسمت Work with ادرس Neon – http://download.eclipse.org/releases/neon رو انتخاب کنید صبر کنید تا برنامه اطلاعات رو در کادر پایین اون نشون بده بعد توی قسمت Type filter text عبارت PDT رو بنویسید به سری پلاگین بهتون نشون میده گزینه های توی بخش Language رو تیک بزنید اسمایی شبه به این دارن : PDT Develop Tools

و بعد هم نصبشون کنید بعد از نصب اکلیپس رو یکبار ببندید و دوباره اجرا کنید حالا اگر new project می تونید گزینه php رو ببینید خب بعد از ساخت اولین پروژه php از قسمت Project Explorer روی فولدر پروژتون راست کلیک کنید و از منوی Configure گزینه Convert To php رو انتخاب کنید و کار تمومه حالا می تونید از برنامه نویسی php لذت ببرید

Visual Studio Code

برنامه بعدی برای کد نویسی ویژال استادیو کد نام داره که توسط ماکروسافت ساخته شده و رایگان و اپن سورسه و برای هر سه پلتفرم ویندوز لینوکس و مک قابل دریافته

ویژال استادیو کد برنامه ای کم حجم و سبک و تقریبا سادست شاید به اندازه اکلیپس قوی نباشه اما ویرایشگر خوب و کار رابندازیه 🙂

لینک : دانلود ویژال استادیو کد

بعد از نصب و اجرا از منو سمت چپ گزینه Extensions را انتخاب کنید و در کادر search عبارت PHP Extension Pack رو بنویسید و نصبش کنید یک بار برنامه رو ببندید و دوباره اجرا کنید حالا برنامه برای کد نویسی php اماده شده


ارتباط سریع با اینترنت در اندروید

کتابخانه های زیاد برای برقراری ارتباط با اینترنت برای اندروید وجود دارد اما یک کتابخانه جامع که بتونه اکثر نیاز های ما را هنگام برنامه نویسی رفع کنه خیلی مفید خواهد بود همچنین این کتابخونه باید به گونه ای باشه که کار باهاش ساده باشه و برنامه نویس را زیاد درگیر کدنویسی نکنه درواقع کدنویسی رو برای ما کاهش بده کتابخونه ای که در ادامه معرفی میکنیم دارای این ویژگی ها مفید است پس این کتابخونه را از دست ندهید 🙂

نام این کتابخونه : Fast Android Networking Library

نحوه استفاده :

برای افزودن این کتابخونه به پروژه کد زیر رو در build.gradle خود اضافه کنید

compile 'com.amitshekhar.android:android-networking:1.0.0'

برای اجازه دسترسی با اینترنت هم باید کد زیر رو در manifest پروژتون اضافه کنید

در متد onCreate کلاس application کد زیر رو مینویسیم این کد کتابخونه ما رو مقدار دهی اولیه  میکنه و برای استفاده اماده میکنه

AndroidNetworking.initialize(getApplicationContext());

// Adding an Network Interceptor for Debugging purpose:
OkHttpClient okHttpClient = new OkHttpClient().newBuilder().addNetworkInterceptor(new StethoInterceptor()).build();
AndroidNetworking.initialize(getApplicationContext(),okHttpClient);

Making a GET Request :

AndroidNetworking.get("https://fierce-cove-29863.herokuapp.com/getAllUsers/{pageNumber}")
                 .addPathParameter("pageNumber", "0")
                 .addQueryParameter("limit", "3")
                 .addHeaders("token", "1234")
                 .setTag("test")
                 .setPriority(Priority.LOW)
                 .build()
                 .getAsJSONArray(new JSONArrayRequestListener() {
                    @Override
                    public void onResponse(JSONArray response) {
                      // do anything with response
                    }
                    @Override
                    public void onError(ANError error) {
                      // handle error
                    }
                });

 

 

Making a POST Request

AndroidNetworking.post("https://fierce-cove-29863.herokuapp.com/createAnUser")
                 .addBodyParameter("firstname", "Amit")
                 .addBodyParameter("lastname", "Shekhar")
                 .setTag("test")
                 .setPriority(Priority.MEDIUM)
                 .build()
                 .getAsJSONObject(new JSONObjectRequestListener() {
                    @Override
                    public void onResponse(JSONObject response) {
                      // do anything with response
                    }
                    @Override
                    public void onError(ANError error) {
                      // handle error
                    }
                });

You can also post java object, json, file, etc in POST request like this.

User user = new User();
user.firstname = "Amit";
user.lastname = "Shekhar";

AndroidNetworking.post("https://fierce-cove-29863.herokuapp.com/createUser")
                 .addBodyParameter(user) // posting java object
                 .setTag("test")
                 .setPriority(Priority.MEDIUM)
                 .build()
                 .getAsJSONArray(new JSONArrayRequestListener() {
                    @Override
                    public void onResponse(JSONArray response) {
                      // do anything with response
                    }
                    @Override
                    public void onError(ANError error) {
                      // handle error
                    }
                });


JSONObject jsonObject = new JSONObject();
try {
    jsonObject.put("firstname", "Amit");
    jsonObject.put("lastname", "Shekhar");
} catch (JSONException e) {
  e.printStackTrace();
}
       
AndroidNetworking.post("https://fierce-cove-29863.herokuapp.com/createUser")
                 .addJSONObjectBody(jsonObject) // posting json
                 .setTag("test")
                 .setPriority(Priority.MEDIUM)
                 .build()
                 .getAsJSONArray(new JSONArrayRequestListener() {
                    @Override
                    public void onResponse(JSONArray response) {
                      // do anything with response
                    }
                    @Override
                    public void onError(ANError error) {
                      // handle error
                    }
                });
                
AndroidNetworking.post("https://fierce-cove-29863.herokuapp.com/postFile")
                 .addFileBody(file) // posting any type of file
                 .setTag("test")
                 .setPriority(Priority.MEDIUM)
                 .build()
                 .getAsJSONObject(new JSONObjectRequestListener() {
                    @Override
                    public void onResponse(JSONObject response) {
                      // do anything with response
                    }
                    @Override
                    public void onError(ANError error) {
                      // handle error
                    }
                });

Using it with your own JAVA Object – JSON Parser

/*--------------Example One -> Getting the userList----------------*/
AndroidNetworking.get("https://fierce-cove-29863.herokuapp.com/getAllUsers/{pageNumber}")
                .addPathParameter("pageNumber", "0")
                .addQueryParameter("limit", "3")
                .setTag(this)
                .setPriority(Priority.LOW)
                .build()
                .getAsObjectList(User.class, new ParsedRequestListener<List<User>>() {
                    @Override
                    public void onResponse(List<User> users) {
                      // do anything with response
                      Log.d(TAG, "userList size : " + users.size());
                      for (User user : users) {
                        Log.d(TAG, "id : " + user.id);
                        Log.d(TAG, "firstname : " + user.firstname);
                        Log.d(TAG, "lastname : " + user.lastname);
                      }
                    }
                    @Override
                    public void onError(ANError anError) {
                     // handle error
                    }
                });
/*--------------Example Two -> Getting an user----------------*/
AndroidNetworking.get("https://fierce-cove-29863.herokuapp.com/getAnUserDetail/{userId}")
                .addPathParameter("userId", "1")
                .setTag(this)
                .setPriority(Priority.LOW)
                .build()
                .getAsObject(User.class, new ParsedRequestListener<User>() {
                     @Override
                     public void onResponse(User user) {
                        // do anything with response
                        Log.d(TAG, "id : " + user.id);
                        Log.d(TAG, "firstname : " + user.firstname);
                        Log.d(TAG, "lastname : " + user.lastname);
                     }
                     @Override
                     public void onError(ANError anError) {
                        // handle error
                     }
                 }); 
/*-- Note : YourObject.class, getAsObject and getAsObjectList are important here --*/

دانلود یک فایل از سرور

AndroidNetworking.download(url,dirPath,fileName)
                 .setTag("downloadTest")
                 .setPriority(Priority.MEDIUM)
                 .build()
                 .setDownloadProgressListener(new DownloadProgressListener() {
                    @Override
                    public void onProgress(long bytesDownloaded, long totalBytes) {
                      // do anything with progress  
                    }
                 })
                 .startDownload(new DownloadListener() {
                    @Override
                    public void onDownloadComplete() {
                      // do anything after completion
                    }
                    @Override
                    public void onError(ANError error) {
                      // handle error    
                    }
                });

اپلود فایل به سرور

AndroidNetworking.upload(url)
                 .addMultipartFile("image",file)    
                 .addMultipartParameter("key","value")
                 .setTag("uploadTest")
                 .setPriority(Priority.HIGH)
                 .build()
                 .setUploadProgressListener(new UploadProgressListener() {
                    @Override
                    public void onProgress(long bytesUploaded, long totalBytes) {
                      // do anything with progress 
                    }
                 })
                 .getAsJSONObject(new JSONObjectRequestListener() {
                    @Override
                    public void onResponse(JSONObject response) {
                      // do anything with response                
                    }
                    @Override
                    public void onError(ANError error) {
                      // handle error 
                    }
                 });

معرفی ربات پیشرفته اموزشی مدارس هوشمند

تلگرام به دلیل فراگیر شدنش در ایران و قابلیت ساخت ربات در آن می تواند بستر مناسبی برای آموزش دانش آموزان فراهم کند در ادامه با ربات هوشمند ezlearnbot بیشتر آشنا شوید

“Read More”


فشرده سازی عکس بدون افت کیفیت

دلایل زیادی وجود دارد که باعث می شود بخواهیم عکس های خودمان را تا حد ممکن و بدون افت کیفیت کاهش حجم دهیم

در ویندوز برنامه های مختلفی برای این کار وجود داره که با یه جستجوی ساده می توان برنامه ای مناسب برای این کار پیدا کرد

Optimize Jpeg Images

در این پست ما نحوه کاهش حجم عکس هایی با فرمت های png و jpg را در توزیع محبوب ابونتو اموزش می دهیم . ابتدا برای کاهش حجم تصاویر با فرمت jpg باید برنامه jpegOptim را نصب کنیم به صورت زیر

sudo apt-get install jpegoptim

بعد از نصب شدن برنامه به پوشه ای که عکس مورد نظر در آن قرار دارد رفته و روی پنجره راست کلیک می کنیم و open terminal را می زنیم و کد زیر را درون ان می نویسیم

jpegoptim filename.jpg

که باید به جای filename.jpg نام فایل خودتون را بنویسید و اینتر را بزنید تا کاهش حجم شروع شود . حالا چگونه می توانیم حجم عکس مورد نظر را به اندازه دلخواه خود تغییر دهیم ؟ در کد زیر ما تعیین میکنیم که حجم عکس باید به 250 کیلوبایت کاهش یابد :

jpegoptim --size=250k fileName.jpg

Optimizing PNG images

اما با  این روش نمیتوانیم  حجم عکس های png را کاهش دهیم برای عکس های png باید برنامه OptiPNG را نصب کنید

sudo apt-get install optipng

روش کار این برنامه هم تقریبا مشابه برنامه jpegOptim است برای کاهش حجم خودکار فایل های png به این صورت عمل میکنیم :

optipng filename.png

 

 


معرفی ربات مسابقه خوانندگی و موسیقی و دابسمش

در این پست به معرفی ربات playme می پردازیم

playme.ir که یک سایت تازه تاسیس در زمینه موسیقی است مسابقه ای در زمینه های خوانندگی و نوازندگی و دابسمش با جوایز نفیس برگزار می کند برای شرکت در این مسابقه استعداد یابی می توانید با کلیک روی لینک زیر وارد ربات مسابقه شده و ویدیو خود را برای مسابقه ارسال کنید

ربات مسابقه: @playme_ir_bot

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

ساخت ربات تلگرام

 بعد از ورود به ربات به بخش ثبت نام برید و اسمو مشخصات خود را تکمیل کنید سپس به قسمت شرکت در مسابقه برید و مسابقه ای که می خواید در ان شرکت کنید را انتخاب کنید بعد از ان می توانید ویدیو خود را برای مسابقه ارسال کنید

بعد از اسال ویدیو کارشناسان ویدیو شما را برسی میکنند و درصورت نبود مشگل ان را تایید میکنند در قسمت اشتراک گذاری می توانید ویدیو های تایید شده خود را مشاهده کنید

برای سفارش ربات می توانید با ایمیل:

[email protected]

و یا ایدی تلگرام :

@nvioir

در ارتباط باشید


سفارش ساخت ربات تلگرام

اگر برای کسب و کار خود و یا به هر دلیلی نیاز به ساخت ربات کاملا حرفه ای تلگرام دارید با ایمیل زیر در ارتباط باشید

[email protected]

“Read More”


ساخت ربات تلگرام با botfire

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

کتاب خانه بات فایر – botfire

در این کتاب خانه برخی از پیچیدگی هایی که برای ساخت و پردازش اطلاعات لازم بود کاسته شده می تونید سورس این کتابخونه کاربردی رو از لینک زیر دانلود کنید

https://github.com/botfire/botfire

به دنبال آن هستیم که به زودی فیلم های آموزشی مناسب هم ایجاد کنیم و در اختیار شما قرار بدیم

کتاب خانه ربات آتش ( botfire ) به تازگی منتشر شده و در حال گسترش و بروزرسانی متسمر قرار دارد

به نمونه کد زیر توجه کنید

bot::token('token-string');
bot::autoInput();

bot::this()->message( bot::text() )->send();

این سه خط کد رباتی ایجاد می کنه که متن ارسالی کاربر رو دریافت می کنه و همون متن رو برای خودش ارسال میکنه. کافیه توی خط اول توکن ربات رو جایگزین کنید و بعد وب هوک پروژه رو ست کنید

برای شروع کار و خواندن مستندات اینجا کلیک کنید

همچنین برای مشاهده ویدیو های آموزشی و یا دانلود آنها روی لینک زیر کلیک کنید

مشاهده لیست آموزش های ساخت ربات


توابع مهم و کاربردی php قسمت اول

در این پست یک سری از توابع مهم و پرکاربرد php را قرار دادیم

این تابع بیشتر به درد پارسی زبان ها می خوره با قرار دادن یکی از کد های کلمات فارسی به شکل صحیح خودشون نشان داده می شوند و متن ها را به صورت utf-8 نمایش می دهد

header('Content-type: text/plain; charset=utf-8');

// برای زمانی که متن خروجی شما با ساختار جیسون باشد می توانید از این کد استفاده کنید
header('Content-Type: application/json ; charset=utf-8 ');

 

برای تبدیل ارایه به رشته جیسون

echo json_encode($myArray,JSON_UNESCAPED_UNICODE);

چند مثال ساده:

$myArray['site']='Nitro Code';
$myArray['name']='Benyamin';
//خروجی \/
{"site":"Nitro Code","name":"Benyamin"}
//--------------------------------------
$myArray[]="blue";
$myArray[]="red";
$myArray[]="white";
// خروجی
{"blue","red","white"}

این تابع یک ورودی دریافت می کند و اگر ورودی ما تماما از عدد تشکیل شده باشد مقدار true و در غیر این صورت false را بر می گرداند

$bool=is_numeric($value);

تعدادی متد های با کاربرد های مشابه هم وجود دارند برای مثال اگر می خواهید برسی کنید که مقدار درون یک متغییر رشته است یا نه از متد is_string استفاده می کنیم

if( is_string($name) )

 

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

date_default_timezone_set("Asia/Tehran");
$date_time =  date('Y/m/d H:i:s');

 

برای بدست آورد تعداد عناصر ارایه می توانید از تابع count استفاده کنید

echo count([1,2,3,4,7,9]); // output = 6

برای مقایسه دو رشته با هم از strcasecmp($str1,$str2 ) استفاده می کنیم این تابع بین حروف کوچک و بزرگ حساس نیست

اماتابع Strcmp($str1,$str2) مقایسه را انجام می دهد و نسبت به حروف کوچک و بزرگ حساس است اگر دو رشته کاملا با هم برابر باشند مقدار 0 را بر می گرداند اگر با هم برابر نباشند مقدار -1

مثال :

if( strcasecmp($str1 ,$str2)===0){
  // دو رشته باهم برابر هستند
}

 


چند مطلب مهم و پایه ای فریم ورک فت فری

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

در حالت عادی زمانی که شما یک فایل php را در سرور خود قرار میدهید ( فرض میکنیم اسم فایل php ما nitro.php است ) زمانی که می خواهیم این فایل را اجرا کنیم باید ادرس url رو به این صورت وارد کنیم :

http://yoursite.ir/file/nitro.php

یکی از امکانات فریم ورک ها قابلیت مسیردهی ( routing ) انها است که قابلیت انعطاف بالایی به ما می دهد برای مثال به راحتی می توانید به هر شکل که دوست دارید مسیر دهی به فایل php را انجام دهید برای مثال:

http://yoursite.ir/nitro

“Read More”


جستجوی هوشمند