نحوه راه اندازی یک تلگرام با PHP

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

 

آنچه ما انجام می دهیم

در این مقاله یک کرونومتر ساده ربات Telegram ایجاد خواهیم کرد. من به شما نشان خواهم داد که چگونه ربات خود را بسازید، با تجزیه و تحلیل، ارتباط با یک کد بنویسید و در نهایت ربات خود را به یک فروشگاه ربات اضافه کنید.

به هر حال، من قبلا یک نسخه آزمایشی را آماده کرده ام، بنابراین شما می توانید آن را فقط با اضافه کردنstopwatchbot به لیست تماس Telegram خود را تست کنید.

 

یک Bot با BotFather ایجاد کنید

اولین گام برای ایجاد یک ربات، ثبت حساب کاربری ربات شما در Telegram است. و یک bot برای آن وجود دارد که BotFather نامیده می شود. فقط آن را به لیست مخاطبین خود اضافه کنید و می توانید با ایجاد تایید دستور / newbot و پیروی از دستورالعمل BotFather بتوانید ربات های Telegram را ایجاد و راه اندازی کنید. پس از ثبت ربات جدید خود، یک پیام تبریک با یک نشانه مجوز دریافت خواهید کرد. ما از این نشانه به زودی برای تأیید یک ربات و ارسال درخواست به API Bot استفاده خواهیم کرد. بعدا می توانید BotFather را برای اضافه کردن توصیف ها یا عکس ها به پروفایل های ربات های خود، استفاده از نشانه های بازسازی، تنظیم لیست هایی از دستورات برای استفاده، حذف حساب ها و غیره استفاده کنید. برای دریافت یک لیست کامل از دستورات، فقط تایپ / کمک در یک چت برای دریافت لیستی از دستورات BotFather.

 

 

اتصال به تجزیه و تحلیل Botan

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

و یک ابزار ساده برای اتصال ربات خود به تجزیه و تحلیل، به نام Botan وجود دارد. این بر اساس Yandex AppMetric و کاملا رایگان است. با استفاده از Botan، می توانید مخاطبان خود را جدا کنید، اطلاعات مربوط به پروفایل های کاربری را دریافت می کنید، دستور العملی را استفاده می کنید، و نمودار های زیبا را در پیام رسان خود دریافت کنید، مانند این:

 

 

برای شروع، شما باید ربات خود را در Botan ثبت نام کنید و یک نشانه دریافت کنید. و دوباره، شما می توانید آن را با یک ربات BotanioBot انجام دهید:

 

 

فقط روی کلید «افزودن ربات» در صفحهکلید محاوره کلیک کنید، نام ربات خود را تایپ کنید، و رکورد آهنگ رباتتان را دریافت خواهید کرد. در حال حاضر Botanio آماده است تا رویدادهای ربات خود را پیگیری کند و شما می توانید آمار را توسط کاربران، جلسات، نگهداری و رویدادها را درست در رسول خود دریافت کنید.

 

SSL Webhook  را ایجاد و ثبت کنید

در Telegram دو راه برای دریافت پیام از کاربران شما وجود دارد: رای گیری طولانی و webhooks.

 

 

اساسا، با رای گیری طولانی، شما باید پیام های جدید را از API درخواست کنید، و با webhooks که شما تنظیم callback، که Telegram API خواهد تماس اگر یک پیام جدید از یک کاربر وارد شود. من ترجیح می دهم از webhooks استفاده کنم زیرا به نظر می رسد ارتباطات در زمان واقعی است، بنابراین در این مقاله ما از این روش نیز استفاده خواهیم کرد. در حال حاضر ما باید یک URL فراخوانی را برای چکمه وب خود انتخاب کنیم، که باید تحت پروتکل HTTPS رسیده باشد، و ما باید آن را واقعا مطمئن کنیم، بنابراین اسکریپت خود را در یک مسیر مخفی پنهان می کنیم، همانطور که در کتابچه راهنمای گفته می شود:

 

 

اگر گواهینامه SSL شما مورد اعتماد باشد، همه ی مواردی که باید انجام دهید این است که URL را در مرورگر خود باز کنید:

 

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

 

فراموش نکنید که پورت SSL را باز کنید:

 

برای دریافت گواهی چک شده و دامنه وب مورد نظر خود را برای اعتماد تنظیم کنید، باید گواهینامه کلیدی عمومی خود را آپلود کنید:

 

در نهایت شما یک پاسخ JSON مانند این دریافت خواهید کرد:

 

این می گوید که webhook تنظیم شده است و ما آماده ایم موتور ربات را شروع کنیم.

 

ساخت یک پایگاه داده

حالا ما باید یک پایگاه داده برای تایمر هایمان ایجاد کنیم. چه چیزی باید در آن ذخیره کنیم؟ هنگامی که یک کاربر برای شروع کرونومتر دستور می دهد، ما شناسه گپ را می گیریم و یک ردیف را با شناسه چت و زمان فعلی یونیکس ذخیره می کنیم، که تعداد ثانیه ها بین زمان حال و شروع دوره یونیکس است که در ۱ ژانویه ۱۹۷۰ در ساعت UTC. در نتیجه، یک ردیف را با شناسه گپ و علامت صحیح زمان فعلی یونیکس ذخیره خواهیم کرد.

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

بنابراین اجازه دهید یک پایگاه داده و جدول برای ذخیره اطلاعات کرونومتر ایجاد کنیم:

 

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

سرانجام آماده هستیم که برنامه را شروع کنیم. اجازه دهید یک کلاس برای کار با پایگاه داده در یک فایل به نام stopwatch.php  ایجاد کنیم و از یک سازنده شروع کنیم که دو متغیر خصوصی را تعیین می کند، جایی که ما شناسه چت و اتصال MySQL فعلی را ذخیره می کنیم:

 

وقتی کاربر تایمر را شروع می کند، زمان فعلی یونیکس را دریافت می کنیم و آن را در یک ردیف با شناسه چت ذخیره می کنیم، بنابراین در اینجا روش start () است:

 

اگر تایمر متوقف شود، ما باید یک ردیف از پایگاه داده را حذف کنیم:

 

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

 

 

همانطور که می بینید، اگر مقدار در پایگاه داده وجود نداشته باشد، وضعیت متد () هیچ چیزی را باز نمی گرداند و ما یک مقدار صفر مانند یک تایمر متوقف را پردازش می کنیم.

 

انتخاب یک کتابخانه پی اچ پی

بسیاری از کتابخانه های پی اچ پی وجود دارد که برای کار با API Telegram وجود دارد، اما حداقل در لحظه نوشتن این مقاله، تنها یک آن وجود دارد که از تکه تکه کردن Telegram Bot API و ردیابی Botan پشتیبانی می کند. و PHP Telegram Bot API نامیده می شود.

 

شروع اسکریپت Webhook

و اکنون قسمت اصلی شروع می شود – ما یک اسکریپت برای پردازش تماس های بازگشتی از API Telegram Bot ایجاد خواهیم کرد. یک فایل با نام index.php را بسازید و Composer autoload و یک کلاس جدید Stopwatch را وارد کنید. یک اتصال MySQL را باز کنید، یک مشتری جدید Telegram API ایجاد کنید و آن را اجرا کنید:

 

ایجاد دستورات

حالا ما باید یک ربات برای پاسخ به فرمان / شروع کنیم. این فرمان برای شروع تمام ربات های Telegram استفاده می شود و کاربران هنگام ارسال چت اولیه ابتدا پیام خوش آمد گویی ما را نشان می دهند.

 

در اینجا، در فرمان ()، یک تعطیل برای دریافت یک دستور تعریف کردیم. این بسته به شناسه چت فعلی می رسد و یک پیام خوش آمدید ارسال می کند. همچنین، تمام دستورات ثبت شده به صورت نامحدود به صورت خودکار ردیابی می شوند.

برای شروع کرونومتر، ما دستور / go را تعریف می کنیم:

 

این یک نمونه از کلاس Stopwatch است و یک تایمر را فراخوانی می کند که متد start () را که قبلا تعریف کردیم شروع می کنیم.

برای تعریف دستور / status، ما باید همین کار را انجام دهیم. فقط با استفاده از روش status () و نتیجه را برمی گردانیم. اگر روش برگشتی ندهد، به کاربر اطلاع دهید که تایمر شروع نشده است.

 

 

و اگر کاربر تایمر را متوقف کند، ما باید ابتدا وضعیت را دریافت کنیم، زمان نشان داده شده را نشان می دهد، و متوقف کردن تایمر با استفاده از روش stop ().

 

 

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

 

افزودن یک صفحه کلید

برای نشان دادن به کاربر که دستورات او می تواند اجرا شود، می توانیم یک صفحه کلید را به یک پیام اضافه کنیم. کرونومتر ما می تواند در حال اجرا یا متوقف شود و دو حالت برای هر ایالت وجود خواهد داشت. برای نشان دادن یک صفحه کلید به کاربر، ما فقط باید روش sendMessage () را گسترش دهیم:

 

 

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

 

اضافه کردن ربات شما به فروشگاه

خوب، حالا ما کار داریم، و ما می خواهیم آن را به جهان نشان دهیم. بهترین راه این است که ربات را در یک کاتالوگ بوت ثبت کنید. در حال حاضر Telegram یک فروشگاه رسمی مانند این ندارد، اما چندین غیر رسمی وجود دارد و بزرگترین Storebot.me است که هزاران نفر از رباتها قبلا ثبت شده اند.

و یک ربات … برای ثبت ربات خود را در فروشگاه ربات وجود دارد! storebot را به لیست مخاطبین خود اضافه کنید، دستور / add را وارد کنید و دستورالعمل ها را دنبال کنید. از شما خواسته می شود نام کاربری، نام و توضیحات ربات را وارد کنید، یکی از دسته های استاندارد را انتخاب کنید و مالکیت ربات را با ارسال نشانه آن تأیید کنید.

 

بعد از مدتی، ربات شما فرایند ارسال را منتقل می کند و در نمودار Storebot ظاهر می شود. در حال حاضر شما و کاربرانتان می توانند ربات خود را در فروشگاه رأی گیری، ربات خود را پیدا کنید و آن را ارزیابی کنید تا به بالا رفتن از نمودار کمک کنید.

 

نتیجه

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

0 دیدگاه برای “نحوه راه اندازی یک تلگرام با PHP”

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*