Warning: Creating default object from empty value in /home/targostar/public_html/wp-content/plugins/seoaal-core-/admin/ReduxCore/inc/class.redux_filesystem.php on line 29

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/targostar/public_html/wp-content/plugins/wp-jalali/lib/date.php on line 96

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/targostar/public_html/wp-content/plugins/wp-jalali/lib/date.php on line 98

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/targostar/public_html/wp-content/plugins/wp-jalali/lib/date.php on line 260

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/targostar/public_html/wp-content/plugins/wp-jalali/lib/date.php on line 262

Deprecated: Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)` in /home/targostar/public_html/wp-content/plugins/wp-jalali/lib/date.php on line 283

Deprecated: Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)` in /home/targostar/public_html/wp-content/plugins/wp-jalali/lib/date.php on line 351

Deprecated: Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)` in /home/targostar/public_html/wp-content/plugins/wp-jalali/lib/date.php on line 353

Warning: Cannot modify header information - headers already sent by (output started at /home/targostar/public_html/wp-content/plugins/seoaal-core-/admin/ReduxCore/inc/class.redux_filesystem.php:29) in /home/targostar/public_html/wp-includes/feed-rss2.php on line 8
فناوران تارگستر http://targostar.net طراحی وب سایت Mon, 26 Dec 2022 17:23:16 +0000 en-US hourly 1 https://wordpress.org/?v=6.4.4 ربات آپلودر پست و کسب درآمد از تلگرام http://targostar.net/%d8%b1%d8%a8%d8%a7%d8%aa-%da%a9%d8%b3%d8%a8-%d8%af%d8%b1%d8%a7%d9%85%d8%af-%d8%a7%d8%b2-%d8%aa%d9%84%da%af%d8%b1%d8%a7%d9%85-%d9%88-%d9%be%d8%b3%d8%aa-%d9%be%d9%88%d9%84%db%8c/ http://targostar.net/%d8%b1%d8%a8%d8%a7%d8%aa-%da%a9%d8%b3%d8%a8-%d8%af%d8%b1%d8%a7%d9%85%d8%af-%d8%a7%d8%b2-%d8%aa%d9%84%da%af%d8%b1%d8%a7%d9%85-%d9%88-%d9%be%d8%b3%d8%aa-%d9%be%d9%88%d9%84%db%8c/#respond Mon, 05 Dec 2022 12:47:18 +0000 http://targostar.net/?p=1530 حتما تا به حال به این موضوع فکر کرده اید که چگونه میتوان از کانال خود در  تلگرام کسب درامد کنید و یا پست های ویژه ای در کانال خود ارسال کنید که بتوانید آمار آنها را مشاهده کرده و یکسری ویژگی مشخص که تلگرام بصورت پیشفرض آن را پشتیبانی نمیکند مانند پسورد دار کردن

The post ربات آپلودر پست و کسب درآمد از تلگرام appeared first on فناوران تارگستر.

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

ربات کسب درامد از تلگرام و اپلودر پست

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

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

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

مشکلات بالا تماما توسط ربات ارسال پست(VIP) برطرف میشود.

این ربات که با زحمت جمعی از متخصصین آی تی ایجاد شده است دارای امکاناتی همچون:

✅ امکان ارسال پست های ویژه ( پست پولی )
✅ اپلود گروهی پست ها
✅ فروش فایل تکی
✅ تعریف و فروش اشتراک زمانی دلخواه به کاربران خود
✅ تنظیم رمز عبور برای دیدن پست ها
✅ تنظیم وضعیت حذف خودکار پس از نمایش پست برای کاربر
✅ مشاهده آمار و اطلاعات ربات
✅ درگاه پرداخت آنلاین برای فعالسازی سریع اشتراک کاربران
✅ امکان ایجاد لینک جوین اجباری برای کاربران استفاده کننده
✅ تمدید و شارژ کاربران بصورت دستی
✅ مشاهده لیست کاربران ربات
✅ تنظیمات مدیریتی مانند تنظیم متن دکمه ها و …
✅ ارسال مستقیم پست به کانال شما

میباشد. توجه کنید تمامی این امکانات بصورت اختصاصی بر روی ربات اختصاصی خودتان( token مخصوص خودتان) راه اندازی میگردد و هیچ نام و نشانی از سازنده اصلی در آن قابل مشاهده نیست.

آموزش ایجاد ربات اختصاصی

شما پس از ورود به ربات با زدن دکمه ساخت ربات توکن مخصوص به خود را که قبلا از botfather دریافت کرده اید را ارسال میکنید و سپس ربات اختصاصی خود را استارت میکنید. به همین سادگی همه چیز برای کسب درامد و متمایز کردن کانالتان آمادست.

حالا میتوانید با استفاده از دکمه تنظیمات ویژگی های زیر را تنظیم کنید

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

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

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

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

تنظیمات عضویت اجباری: شما می توانید کاربران خود را به عضویت در کانال خود دعوت کنید تا پس از ان بتوانند از خدمات ربات استفاده کنند.

پیام دکمه تماس با ما: این دکمه ارتباط شما با کاربران رباتتان میباشد که میتوانید در آن اطلاعات تماس خود را قرار دهید

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

 

۱ ارسال بصورت تکی:

زمانی که شما بخواهید یک پست را آماده و ارسال کنید کافی است با زدن این دکمه وارد فرایند ارسال شوید. در مرحله نخست شما میبایست پست اولیه خود را تنظیم کنید. کاربران با دیدن این پست و زدن بر روی دکمه زیر آن به ربات شما هدایت میشوند. مثلا شما میخواهید یک آهنگ برای فروش قرار دهید.خب در پست اولیه شما یک دمو(ربات ساخت دمو از آهنگ) و توضیحات کوتاهی از آهنگ نهایی در اختیار کاربرانتان قرار میدهید.

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

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

۲ ارسال بصورت گروهی:

این روش نسبت به روش قبل کمی ساده تر و سریع تر است. شما میتوانید پس از انتخاب این دکمه تمام پستهایی که مایل به ارسال به کانال خود هستید را بصورت تک به تک ارسال کنید و پس از اینکه همه پست های مورد نظر خود را ارسال کردید با زدن کلید /save آنها را برای استفاده ذخیره و یا آپلود کنید.

 

پس از اینکه شما پست های خود را آماده کردید قبل از ارسال به کانال میتوانید تنظیمات بیشتری بر روی آن اعمال کنید این تنظیمات شامل موارد زیر میباشد:

 

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

تغییر قیمت: اگر قیمت را اشتباه وارد کرده اید میتوانید آن را ویرایش کنید

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

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

تغییر پست اولیه: چنانچه مشکلی در پست اولیه وجود دارد با استفاده از این دکمه آن را ویرایش کنید

مشاهده امار و اطلاعات: آمار و اطلاعات پست خود را مشاهده کنید مانند: تعداد بازدید – تعداد خرید و …

تنظیم حالت محافظت شده: با فعال کردن این دکمه امکان فوروارد و یا ذخیره پست شما وجود نخواهد داشت

خب ممکن است سوال بپرسید من مایل نیستم همه پست های خود را بصورت غیر رایگان ارائه کنم و نیاز دارم کاربران از من اشتراک زمان دار خریداری کنند. پاسخ شما در دکمه ساخت پکیج زمانی خلاصه میشود

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

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

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

درگاه پرداخت ندارید؟ نگران نباشید ما درگاه پرداخت را در اختیار شما قرار میدهیم اما برای تضمین ارائه خدمات توسط شما فرایند تسویه حساب تا ۴۸ ساعت زمان نیاز دارد.

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

برای ورود به ربات اینجا را کلیک کنید

 

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

The post ربات آپلودر پست و کسب درآمد از تلگرام appeared first on فناوران تارگستر.

]]>
http://targostar.net/%d8%b1%d8%a8%d8%a7%d8%aa-%da%a9%d8%b3%d8%a8-%d8%af%d8%b1%d8%a7%d9%85%d8%af-%d8%a7%d8%b2-%d8%aa%d9%84%da%af%d8%b1%d8%a7%d9%85-%d9%88-%d9%be%d8%b3%d8%aa-%d9%be%d9%88%d9%84%db%8c/feed/ 0
رفع ارور های رایج در لاراول http://targostar.net/%d8%b1%d9%81%d8%b9-%d8%a7%d8%b1%d9%88%d8%b1-%d9%87%d8%a7%db%8c-%d8%b1%d8%a7%db%8c%d8%ac-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84/ http://targostar.net/%d8%b1%d9%81%d8%b9-%d8%a7%d8%b1%d9%88%d8%b1-%d9%87%d8%a7%db%8c-%d8%b1%d8%a7%db%8c%d8%ac-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84/#respond Thu, 09 Jan 2020 21:47:08 +0000 http://targostar.net/?p=1472 زمانی که شما به عنوان یک تازه کار شروع به استفاده از لاراول میکنید ممکن است با مشکلات متعددی روبرو شوید. ما در این مقاله از سری آموزشهای لاراول به بررسی ۵ خطای رایج در اجرای پروژه های لاراولی میپردازیم. برخی از این خطاها میتواند باعث شکست برنامه و عدم اجرای لاراول شود رفع ارور

The post رفع ارور های رایج در لاراول appeared first on فناوران تارگستر.

]]>
زمانی که شما به عنوان یک تازه کار شروع به استفاده از لاراول میکنید ممکن است با مشکلات متعددی روبرو شوید. ما در این مقاله از سری آموزشهای لاراول به بررسی ۵ خطای رایج در اجرای پروژه های لاراولی میپردازیم. برخی از این خطاها میتواند باعث شکست برنامه و عدم اجرای لاراول شود

رفع ارور های رایج در لاراول

 

MethodNotAllowedHttpException

این ارور زمانی بوجود میآید که http method ها در route به درستی مقدار دهی نشده باشد به عنوان مثال زمانی که شما در هنگام تعریف یک URL انتظار دارید اطلاعات بصورت POST برایترفع ارور های رایج در لاراولان ارسال شود اما برنامه اطلاعات را بصورت GET دریافت میکند در این حالت ارور بالا نمایش داده میشود.
برای حل این مشکل کافیست متد مربوط به ارسال اطلاعات را دوباره بررسی کنید.

۴۱۹ Error / Page Expired
این ارور مربوط به ساختار امنیتی وردپرس میباشد ارور ۴۱۹ یا page expire زمانی نمایش داده میشود که CSRF_TOKEN در بدنه فرم های HTML شما وجود نداشته باشد.
برای حل این مشکل میبایست این کد را در فرم های خود قرار دهید

<input type="hidden" name="_token" id="csrf-token" value="{{ Session::token() }}" />

 

Excluding routes from CSRF Protection
ممکن است شما بخواهید در برخی از درخواست ها بررسی CSRF را غیر فعال کنید برای این منظور کافی هست که در mdidleware آن ًRoute را استثنا کنید مانند مثال زیر

<?php

namespace App\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;

class VerifyCsrfToken extends Middleware
{
    /**
    * The URIs that should be excluded from CSRF verification.
    *
    * @var array
*/
    protected $except = [
        'stripe/*',
        'http://example.com/foo/bar',
        'http://example.com/foo/*',
    ];
}

 

 

File Permission for storage

رفع ارور های رایج در لاراول

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

sudo chmod -R 776 /bootstrap /storage

 

ReflectionException / Class does not exist
این مشکل زمانی اتفاق میفتد که ما در کدها به یک کلاس اشاره میکنیم اما آن کلاس وجود ندارد
برای مثال ما در فایل web.php یک URI را به یک کنترلر ارجاع میدهیم اما آن کنترلر توسط سیستم شناسایی نمیشود که ممکن است به دلیل نام کنترلر یا نام کلاس تعریف شده در کنترلر باشد. دقت کنید که باید حتما نام فایل با نام کلاس یکسان باشد

۵۰۰ Error
این ارور خطرناک ترین ارور حتی برای برای برنامه نویسان باتجربه میباشد! برای حل مشکل ارور ۵۰۰ در لاراول ابتدا ما نیاز داریم که سرور را بررسی کنیم اگر وضعیت سرور بدون مشکل بود در مرحله بعد ما میبایست به دنبال ارورهای منطقی در سورس کدهای خود باشیم که البته این مرحله ممکن است برای برنامه نویسان تازه کار زمانبر باشد. درصورتی که مشکل با این بررسی ها حل نشد باید Log هایی که در پوشه storage ایجاد شده است را بررسی کنید

The post رفع ارور های رایج در لاراول appeared first on فناوران تارگستر.

]]>
http://targostar.net/%d8%b1%d9%81%d8%b9-%d8%a7%d8%b1%d9%88%d8%b1-%d9%87%d8%a7%db%8c-%d8%b1%d8%a7%db%8c%d8%ac-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84/feed/ 0
نکاتی در مورد وب سرویس در لاراول http://targostar.net/%d9%86%da%a9%d8%a7%d8%aa%db%8c-%d8%af%d8%b1-%d9%85%d9%88%d8%b1%d8%af-%d9%88%d8%a8-%d8%b3%d8%b1%d9%88%db%8c%d8%b3-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84/ http://targostar.net/%d9%86%da%a9%d8%a7%d8%aa%db%8c-%d8%af%d8%b1-%d9%85%d9%88%d8%b1%d8%af-%d9%88%d8%a8-%d8%b3%d8%b1%d9%88%db%8c%d8%b3-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84/#respond Thu, 09 Jan 2020 09:43:05 +0000 http://targostar.net/?p=1453 نکاتی در مورد وب سرویس در لاراول توسعه API ها روز به روز در حال گسترش و محبوبیت است اما با این وجود این بحث در بین برخی از توسعه دهندگان همچنان نامفهوم و مبهم باقی مانده است. ما در این مقاله از سری آموزشهای لاراول تعدادی از سوالات متداول را جمع آوری کرده و

The post نکاتی در مورد وب سرویس در لاراول appeared first on فناوران تارگستر.

]]>
نکاتی در مورد وب سرویس در لاراول

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

۱- Api بطور کلی چیست:
ویکیپدیا توضیحات قابل درک و مفیدی را در خصوص مفهوم کلی API فراهم کرده است. اما اجازه دهید بصورت خلاصه مفهوم کلی از آن را بیان کنیم.
در API یک interface وجود دارد که اجازه میدهد سایر برنامه با آن تعامل داشته باشند. البته بعضی از API ها پیچیده تر هستند و بعضی از آنها تنها اطلاعات را به اشتراک میگذارند و اجازه دریافت اطلاعات از سمت کاربر را نمیدهند.

۲ – منظور از RESTful چسیت؟
اگر شما علاقه مند به یادگیری کل معماری وب سرویس ها هستید میبایست کمی عمیق تر کاوش کنید به این معنی که ساختار endpoint های مختلف شما را به سایر endpoint ها ارجاع میدهد البته این دیگر بحث ساده ای نیست
ما از متد های HTTP متفاوت برای ساخت endpoint های متفاوت استفاده میکنیم
اجازه دهید این جمله را با چند مثال توضیح دهیم.

# List all the posts
GET /posts

# Create a post
POST /posts

# View a post
GET /posts/{id}

# Update a post
PATCH /posts/{id}

# Delete a post
DELETE /posts/{id}

 

آز آنجایی که میدانید ما دار این مثال از endpoint های مختلف برای کارهای مختلف استفاده میکنیم . در لاراول ما میتوانیم هر کدام از این endpoint ها را به به کنترلر های مختلف ارجاع دهیم.

در مثال بالا ما از متد GET لیست پستها را دریافت میکنیم از متد POST اطلاعات مربوط به پست ها را ارسال میکنیم و …

۳ – سرویس های stateless چیست؟
سرویس های stateless از دیتابیس و یا سرویس های کش برای نگهداری وضعیت خود استفاده می کند.
در سرویس های رسمی – مانند یک سرویس وب سنتی – کاربر باید با استفاده از ایمیل / رمز عبور خود وارد سیستم شود در این حالت ما اطلاعات کاربر معتبر را در یک session ذخیره میکنیم و هر زمان که لازم باشد داده ها را از آن بازیابی می کنیم.
اما سرویس های Stateless به روش دیگری عمل میکنند به این معنی که سرویس stateless اطلاعات را در خود ذخیره نمیکند به عبارت دیگر این نگهداری اطلاعات در دیتابیس و یا سرویس های کش بصورت از راه دور اتفاق میفتد.

۴- سرویس های احراز هویت به چه صورت عمل میکند؟
معمولا API ها کاربران را با استفاده از توکن شناسایی میکنند و  برای دریافت این توکن در برنامه آنها را در query string یا در header ارسال میکنند. دو روش احراز هویت محبوب در بین توسعه دهندگان وجود دارد
اولین سرویس احراز هویت این است که برای کاربر یک توکن از پیش ایجاد میشود اگر ما این توکن را در هنگام درخواست ارسال کنیم سرویس API کاربر را درbackground احراز هویت میکند. لاراول بصورت پیشفرض از این قابلیت پشتیبانی میکند.

 

روش دیگر JSON web tokens نام دارد. که این روش نسبت به روش قبل کمی پیچیدگی بیشتری دارد اما با این وجود این روش امنیت بالاتری را به کاربر ارائه میدهد البته بصورت پیشفرض لاراول از این قابلیت پشتیبانی نمیکند اما یک پکیج مناسب برای این کار در لاراول وجود دارد

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

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

۵- چرا لاراول در middleware ها برای API و Web دسته بندی متفاوتی دارد؟
سرویس های API و WEB به تنظیمات و ورودی های متفاوتی نیاز دارند به عنوان مثال:

بدون ssesion: در وب سرویس ها ما به سرویس های اجرا کننده session نیازی نداریم

مدیریت درخواستها در API: ما در وب سرویس ها نیاز داریم که سرعت دریافت درخواست ها را مدیریت کنیم

استفاده از CSRF token: در وب سرویس ما نیازی به CSRF نداریم

The post نکاتی در مورد وب سرویس در لاراول appeared first on فناوران تارگستر.

]]>
http://targostar.net/%d9%86%da%a9%d8%a7%d8%aa%db%8c-%d8%af%d8%b1-%d9%85%d9%88%d8%b1%d8%af-%d9%88%d8%a8-%d8%b3%d8%b1%d9%88%db%8c%d8%b3-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84/feed/ 0
چگونه ربات تلگرام بسازیم؟ http://targostar.net/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%b3%d8%a7%d8%ae%d8%aa-%d8%b1%d8%a8%d8%a7%d8%aa-%d8%aa%d9%84%da%af%d8%b1%d8%a7%d9%85/ http://targostar.net/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%b3%d8%a7%d8%ae%d8%aa-%d8%b1%d8%a8%d8%a7%d8%aa-%d8%aa%d9%84%da%af%d8%b1%d8%a7%d9%85/#respond Mon, 06 Jan 2020 09:59:31 +0000 http://tou.targostar.net/?p=1284 در بخش نخست این مقاله ما با آموزش ساخت ربات تلگرام در بات فادر آشنا خواهیم شد و در مقالات بعدی با اجرای یک پروژه عملی شما را بصورت کامل با پیاده سازی یک ربات با استفاده از زبان برنامه نویسی PHP آشنا خواهیم کرد  ربات تلگرام یک ساختار جانبی برای ارتباط با کاربران داخل

The post چگونه ربات تلگرام بسازیم؟ appeared first on فناوران تارگستر.

]]>
در بخش نخست این مقاله ما با آموزش ساخت ربات تلگرام در بات فادر آشنا خواهیم شد و در مقالات بعدی با اجرای یک پروژه عملی شما را بصورت کامل با پیاده سازی یک ربات با استفاده از زبان برنامه نویسی PHP آشنا خواهیم کرد

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

ربات تلگرام چگونه کار میکند؟

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

  • ارسال پیام یا کامند به ربات بوسیله باز کردن آن بصورت جعبه گفتگو یا اد کردن آن به گروههای تلگرامی
  • ارسال درخواست بصورت مستقیم از طریق ورودی متن بصورت تایپ یوزر نیم ربات مانند @exampleBot

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

چگونه ربات تلگرام بسازیم؟

برای اینکار ابتدا نیاز دارید تا نام مورد نظر خود را ثبت نمایید. برای دریافت نام میبایست به ربات BotFather  یک پیام ارسال کنید

مرحله اول ارسال دستور: /newbot

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

در مرحله بعد شما میبایست یک نام کاربری (username) برای ربات خود انتخاب نمایید. دقت کنید این نام باید با کلمه bot به پایان برسد

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

این Token در مراحل بعد در هنگام نصب سورس ربات مورد نیاز شما خواهد بود.

The post چگونه ربات تلگرام بسازیم؟ appeared first on فناوران تارگستر.

]]>
http://targostar.net/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%b3%d8%a7%d8%ae%d8%aa-%d8%b1%d8%a8%d8%a7%d8%aa-%d8%aa%d9%84%da%af%d8%b1%d8%a7%d9%85/feed/ 0
ساخت وب سرویس در لاراول http://targostar.net/%d8%b3%d8%a7%d8%ae%d8%aa-%d9%88%d8%a8-%d8%b3%d8%b1%d9%88%db%8c%d8%b3-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84/ http://targostar.net/%d8%b3%d8%a7%d8%ae%d8%aa-%d9%88%d8%a8-%d8%b3%d8%b1%d9%88%db%8c%d8%b3-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84/#respond Mon, 06 Jan 2020 09:37:24 +0000 http://tou.targostar.net/?p=1278 ساخت وب سرویس با استفاده از لاراول ۵٫۷ API به عنوان وب سرویس شناخته می شود. آیا شما دنبال این می کردین که چطور می توانید در لاراول ۵٫۷ میشه restful api ساخت؟ اگر بله من اینجا قدم به قدم آموزش آن را برای شما نوشته ام با استفاده از احراز هویت با پاسپورت. امروزه،

The post ساخت وب سرویس در لاراول appeared first on فناوران تارگستر.

]]>
ساخت وب سرویس با استفاده از لاراول ۵٫۷

API به عنوان وب سرویس شناخته می شود. آیا شما دنبال این می کردین که چطور می توانید در لاراول ۵٫۷ میشه restful api ساخت؟ اگر بله من اینجا قدم به قدم آموزش آن را برای شما نوشته ام با استفاده از احراز هویت با پاسپورت.

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

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

  • نصب لاراول ۵٫۷ :

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

composer create-project –prefer-dist laravel/laravel blog

 

  • نصب پاسپورت:

در این مرحله ما نیاز داریم که پاسپورت را نصب کنیم بنابراین یک خط فرمان باز کنید و دستور زیر را در آن وارد کنید:

composer require laravel/passport

 

بعد از نصب موفقیت آمیز این پکیج، ما نیاز داریم که migration را اجرا کنیم تا جدول جدید را در دیتابیسان بسازیم. بنابراین خط زیر را وارد کنید:

php artisan migrate

  • تنظیمات پاسپورت

در این مرحله، ما مجبور هستیم تنظیمات را روی سه فایل، مدل، service provider و auth config انجام دهیم. تغییرات را در این فایل ها دنبال کنید:

  • در مدل ما کلاس HasApiTokens را اضافه می کنیم.
  • در AuthServiceProvider این عبارت را اضافه می کنیم Passport::routes().
  • در php ما api auth را اضافه می کنیم.

app/User.php

<?php

namespace App

use Illuminate\Notifications\Notifiable;

use Illuminate\Contracts\Auth\MustVerifyEmail;

use Laravel\Passport\HasApiTokens;

use Illuminate\Foundation\Auth\User as Authenticatable;




class User extends Authenticatable implements MustVerifyEmail

{

    use HasApiTokens, Notifiable;




    /**

     * The attributes that are mass assignable.

     *

     * @var array

     */

    protected $fillable = [

        'name', 'email', 'password',

    ];




    /**

     * The attributes that should be hidden for arrays.

     *

     * @var array

     */

    protected $hidden = [

        'password', 'remember_token',

    ];
}

app/Providers/AuthServiceProvider.php

<?php

namespace App\Providers;


use Laravel\Passport\Passport;

use Illuminate\Support\Facades\Gate;

use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;




class AuthServiceProvider extends ServiceProvider

{

    /**

     * The policy mappings for the application.

     *

     * @var array

     */

    protected $policies = [

        'App\Model' => 'App\Policies\ModelPolicy',

    ];




    /**

     * Register any authentication / authorization services.

     *

     * @return void

     */

    public function boot()

    {

        $this->registerPolicies();




        Passport::routes();

    }

}

config/auth.php

<?php




return [

    .....

    'guards' => [

        'web' => [

            'driver' => 'session',

            'provider' => 'users',

        ],

        'api' => [

            'driver' => 'passport',

            'provider' => 'users',

        ],

    ],

    .....

]


 

 

  • اضافه کردن جدول محصول و مدل:

سپس، ما نیاز داریم که migration را برای جدول نوشته ها در لاراول ۵٫۷ با استفاده از دستور artisan بسازیم، پس دستور زیر را وارد کنید:

php artisan make:migration create_products_table

بعد از این دستور شما یک فایل در این مسیر پیدا خواهید کرد database/migrations و شما باید کد زیر را در فایل migration برای ساخت جدول products قرار دهید.

 

<?php




use Illuminate\Support\Facades\Schema;

use Illuminate\Database\Schema\Blueprint;

use Illuminate\Database\Migrations\Migration;




class CreateProductsTable extends Migration

{

    /**

     * Run the migrations.

     *

     * @return void

     */

    public function up()

    {

        Schema::create('products', function (Blueprint $table) {

            $table->increments('id');

            $table->string('name');

            $table->text('detail');

            $table->timestamps();

        });

    }




    /**

     * Reverse the migrations.

     *

     * @return void

     */

    public function down()

    {

        Schema::dropIfExists('products');

    }

}

 

 

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

php artisan migrate

بعد از این که جدول را ساختید شما باید مدل Product را برای آن بسازید، ابتدا فایل را در این مسیر بسازید app/Product.php و کد زیر را در آن قرار دهید:

<?php

namespace App;


use Illuminate\Database\Eloquent\Model;




class Product extends Model

{

    /**

     * The attributes that are mass assignable.

     *

     * @var array

     */

    protected $fillable = [

        'name', 'detail'

    ];

}

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

routes/api.php

<?php

/*

|--------------------------------------------------------------------------

| API Routes

|--------------------------------------------------------------------------

|

| Here is where you can register API routes for your application. These

| routes are loaded by the RouteServiceProvider within a group which

| is assigned the "api" middleware group. Enjoy building your API!

|

*/

Route::post('register', 'API\RegisterController@register');

Route::middleware('auth:api')->group( function () {

       Route::resource('products', 'API\ProductController');

});

 

  • ساخت فایل Controller

در مرحله بعدی، ما چند کنترل جدید به این نام ها می سازیم: BaseController، ProductController و RegisterController. من یک پوشه جدید ساختم به نام API و پوشه Controllers زیرا ما فقط کنترلر های api را در آن قرار می دهیم.

app/Http/Controllers/API/BaseController.php

<?php




namespace App\Http\Controllers\API;




use Illuminate\Http\Request;

use App\Http\Controllers\Controller as Controller;




class BaseController extends Controller

{

    /**

     * success response method.

     *

     * @return \Illuminate\Http\Response

     */

    public function sendResponse($result, $message)

    {

       $response = [

            'success' => true,

            'data'    => $result,

            'message' => $message,

        ];




        return response()->json($response, 200);

    }




    /**

     * return error response.

     *

     * @return \Illuminate\Http\Response

     */

    public function sendError($error, $errorMessages = [], $code = 404)

    {

       $response = [

            'success' => false,

            'message' => $error,

        ];




        if(!empty($errorMessages)){

            $response['data'] = $errorMessages;

        }




        return response()->json($response, $code);

    }

}

app/Http/Controllers/API/ProductController.php

<?php

namespace App\Http\Controllers\API;

use Illuminate\Http\Request;

use App\Http\Controllers\API\BaseController as BaseController;

use App\Product;

use Validator;

class ProductController extends BaseController

{

    /**

     * Display a listing of the resource.

     *

     * @return \Illuminate\Http\Response

     */

    public function index()

    {

        $products = Product::all();

        return $this->sendResponse($products->toArray(), 'Products retrieved successfully.');

    }

    /**

     * Store a newly created resource in storage.

     *

     * @param  \Illuminate\Http\Request  $request

     * @return \Illuminate\Http\Response

     */

    public function store(Request $request)

    {

        $input = $request->all();

        $validator = Validator::make($input, [

            'name' => 'required',

            'detail' => 'required'

        ]);

        if($validator->fails()){

            return $this->sendError('Validation Error.', $validator->errors());      

        }

        $product = Product::create($input);

        return $this->sendResponse($product->toArray(), 'Product created successfully.');

    }

    /**

     * Display the specified resource.

     *

     * @param  int  $id

     * @return \Illuminate\Http\Response

     */

    public function show($id)

    {

        $product = Product::find($id);

        if (is_null($product)) {

            return $this->sendError('Product not found.');

        }

        return $this->sendResponse($product->toArray(), 'Product retrieved successfully.');

    }

    /**

     * Update the specified resource in storage.

     *

     * @param  \Illuminate\Http\Request  $request

     * @param  int  $id

     * @return \Illuminate\Http\Response

     */

    public function update(Request $request, Product $product)

    {

        $input = $request->all();

        $validator = Validator::make($input, [

            'name' => 'required',

            'detail' => 'required'

        ]);

        if($validator->fails()){

            return $this->sendError('Validation Error.', $validator->errors());      

        }

        $product->name = $input['name'];

        $product->detail = $input['detail'];

        $product->save();

        return $this->sendResponse($product->toArray(), 'Product updated successfully.');

    }

    /**

     * Remove the specified resource from storage.

     *

     * @param  int  $id

     * @return \Illuminate\Http\Response

     */

    public function destroy(Product $product)

    {

        $product->delete();

        return $this->sendResponse($product->toArray(), 'Product deleted successfully.');

    }

}

 

app/Http/Controllers/API/RegisterController.php

<?php

namespace App\Http\Controllers\API;

use Illuminate\Http\Request;

use App\Http\Controllers\API\BaseController as BaseController;

use App\User;

use Illuminate\Support\Facades\Auth;

use Validator;

class RegisterController extends BaseController

{

    /**

     * Register api

     *

     * @return \Illuminate\Http\Response

     */

    public function register(Request $request)

    {

        $validator = Validator::make($request->all(), [

            'name' => 'required',

            'email' => 'required|email',

            'password' => 'required',

            'c_password' => 'required|same:password',

        ]);

        if($validator->fails()){

            return $this->sendError('Validation Error.', $validator->errors());      

        }

        $input = $request->all();

        $input['password'] = bcrypt($input['password']);

        $user = User::create($input);

        $success['token'] =  $user->createToken('MyApp')->accessToken;

        $success['name'] =  $user->name;

        return $this->sendResponse($success, 'User register successfully.');

    }

}

 

حالا ما آماده هستیم که restful api و passport api را در لاراول را اجرا کنیم . برای این منظور دستور زیر را در خط فرمان اجرا کنید

php artisan serve

حال برای مشاهده عملیات انجام شده header را به این صورت تنظیم نمایید:

'headers' => [

    'Accept' => 'application/json',

    'Authorization' => 'Bearer '.$accessToken,

]

 

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

۱) Login: Verb:GET, URL:http://localhost:8000/oauth/token

۲) Register: Verb:GET, URL:http://localhost:8000/api/register

۳) List: Verb:GET, URL:http://localhost:8000/api/products

۴) Create: Verb:POST, URL:http://localhost:8000/api/products

۵) Show: Verb:GET, URL:http://localhost:8000/api/products/{id}

۶) Update: Verb:PUT, URL:http://localhost:8000/api/products/{id}

۷) Delete: Verb:DELETE, URL:http://localhost:8000/api/products/{id}

 

 

 

The post ساخت وب سرویس در لاراول appeared first on فناوران تارگستر.

]]>
http://targostar.net/%d8%b3%d8%a7%d8%ae%d8%aa-%d9%88%d8%a8-%d8%b3%d8%b1%d9%88%db%8c%d8%b3-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84/feed/ 0