روبات تلگرامی؛ معرفی، روش ساخت و کاربردها
علیرضا معظمی: تلگرام یک پیامرسان است که بواسطه ایدههای بکر تمام نشدنیاش، رشد خیرهکنندهای از ابتدای کار (سال 2013) تاکنون داشته است و هماکنون بیش از 2 میلیارد پیام در روز را ارسال میکند (منبع).
جالب اینجاست که ایرانیان، بیشترین رغبت را نسبت به تلگرام نشان دادهاند طوری که طبق آمار سایت الکسا، 25 درصد ترافیک تلگرام به ایرانیان اختصاص یافته است.
با توجه به open source بودن مکانیزم احراز هویت و تبادل اطلاعات تلگرام، از ابتدا برنامهها و رباتهای اتوماتیکی ساخته شده بود اما به دلیل سطح بالا بودن API تلگرام، تعداد بسیار اندکی ربات ساخته شد.
اما تلگرام 3 هفته قبل، یک API سادهتر برای ساخت روباتها ارائه کرد که خودش آن را «انقلاب روباتها» نامید و رشد انفجاری تعداد روزافزون روباتهای تلگرام در این سه هفته، تائید کننده صحت این نامگذاری است.
رباتهای تلگرام وظیفه اتصال کاربر به سازنده روبات را در محیط تلگرام برعهده دارند.
این رباتها با یک URL (که توسط سازنده ربات به تلگرام معرفی شده)، با سازنده ربات در ارتباط هستند. ارتباط روبات با کاربر، نمیتواند توسط روبات شروع شود و حتما باید اولین بار کاربر یک روبات را Start بزند. بنظر میرسد که این تمهید برای جلوگیری از گسترش Spam ها اندیشیده شده است.
زمانی که کاربر، متنی به عنوان پیام برای ربات ارسال میکند، سازنده ربات میتواند با دو روش متمایز RestFull API یا Webhook از این پیام مطلع شود و پس از اطلاع، میتواند بلافاصله به آن پاسخ دهد یا پاسخ به آن را به زمانی در آینده موکول کند.
یکی ار برگهای برنده تلگرام، امکان ارسال هر نوع فایلی تا حجم 1.5 گیگابایت (برای هر فایل) است. این قابلیت موجب شد بسیاری از افراد متخصص در رشتههای مختلف که نیاز روزانه و مستمر به تبادل فایل مرتبط با فعالیتشان دارند، تلگرام را جایگزین ایمیل کنند.
رباتها نیز از این قابلیت شگرف بهرهمند هستند و میتواند انواع فایلها (متن، فایل صوتی، تصویری و …) را به کاربر ارسال کند. اما از سمت کاربر به ربات، در حال حاضر فقط متن میتواند ارسال شود و فایل ارسالی از کاربر به ربات، توسط ربات قابل دستیابی نیست (اما قابل بازارسال به کاربر دیگر هست) هرچند تلگرام وعده امکان دسترسی به فایلهای دریافتی روباتها را در آینده نزدیک نیز داده است.
همانطور که اشاره شد، یک روبات میتواند با بلافاصله به درخواست کاربر پاسخ دهد که کاربردهای وسیعی دارد. رباتهایی هستند که حسب عبارت درخواستی و دستور کاربر، در یک دیتابیس جستجو میکنند و نتایجی متنی یا فایل صوتی، تصویری و … را برمیگردانند. رباتهایی که جنبه نظرسنجی یا برگزاری آزمون آنلاین و امثال آن را دارد و …
اما برخی روباتها نیز ارسال مطلب به کاربر به موکول کردن به آینده میکنند که این حالت هم کاربردهای جالب خودش را دارد. مثلا ارسال مطالب تفریحی، فرهنگی و … در فواصل زمانی منظم (روزانه یا هفتگی) است یا در زمان آماده شدن آن است. مثلا برخی روباتها مترصد آپدیت سایتهای مطلوب کاربر و فید آنها میشوند تا هر زمان که آپدیت شد، به کاربر اطلاع دهند. سایت شخصی شما نیز میتواند قطعهکد یا پلاگینی داشته باشد که پس از درج مطلب توسط شما در سایتتان، همان مطلب را توسط ربات تلگرام به اعضایی که قبلا با آن ربات در ارتباط بودهاند، ارسال نماید.
علاوه بر کاربردهای فوق، کاربردهای هوشمندانه دیگری نیز میتوان برای آن ابداع کرد. این کاربردها به دلیل وجود chat id است که تلگرام در اختیار روبات قرار میدهد. با استفاده از chat id مطالب دریافتی هر کاربر میتواند منحصر به آن فرد شود نه همه کاربران آن ربات. با کمک این نکته کاربردهای زیادی میتوان تعریف کرد. مثلا رباتهای تلگرامی میتوانند جایگزین دریافت اطلاعات، گزارشات و … ای باشد که تاکنون کاربر بر روی ایمیل با پیامک دریافت میکرده است. (خصوصا که دریافت روی پیامک، هم برای ارسال کننده و هم برای دریافت کننده ی پیامک دارای هزینه و مشکلات و محدودیتهایی میباشد)
همچنین پیشبینی میکنم در آینده نزدیک، تجارت الکترونیک نیز با روباتهای تلگرامی رایج شود. روباتهایی که برخی خدمات یا کالاها (خصوصا فایلهای دیجیتال) را در ازاء پرداخت مبلغی معین به کاربر ارائه کنند. پرداختی که با کمک یک کد USSD منحصر به آن خرید، به سادگی و با یک کلیک از طریق موبایل کاربر قابل انجام خواهد بود.
ساخت روبات برای تلگرام
برای ایجاد یک روبات چه هزینههایی لازم است؟
پاسخ: هزینه برنامهنویسی + هزینه هاست
برای ایجاد یک روبات، نیاز به مقداری برنامهنویسی دارید که با API روباتهای تلگرامی ارتباط برقرار کنید.
بجز برنامه نویسی چطور؟ آیا هاست لازم است؟
پاسخ: با توجه به انتظار شما از ربات، ممکن است هاست نیاز باشد یا نباشد.
1) اگر بخاهید روبات شما قابلیت پاسخ بلافاصله به کاربر را داشته باشد، لازم است یک فضا در اینترنت داشته باشید و سرویس webhook خود را با API تلگرام فعال کنید. سرور موردنیاز برای این کار نیز باید متناسب با تعداد درخواست مخاطبین ربات شما باشد. مثلا برای یک ربات ساده و تفننی، یک هاست اشتراکی ارزان یا حتی رایگان کافی است اما برای رباتی که بخواهد به کاربر فایلهای سنگین دریافت کند (یا در آینده نزدیک دریافت کند) و روی آنها هم پردازش خاصی انجام دهد یا رباتی که چندصدهزار درخواست در ساعت را باید پاسخگو باشد، یک سروری اختصاصی و مجزا نیاز است.
2) اما اگر ربات شما نخواهد بلافاصله پاسخ دهد بلکه مثلا یک روبات خبرنامهای است که کاربران فقط باید دکمه start را بزنند تا عضویتش در آن تائید شود و بعدا در زمانهایی که شما خواستید، مطالب را به کاربران عضوشده ارسال کنید، نیازی به سرور نیست و با یک برنامه تحت سیستمعامل هم میتوانید هر زمانی که نیاز بود، به اینترنت وصل شوید و به تمام کسانی که دکمه Start ربات شما را زدهاند، مطالب جدید را بفرستید یا به کسانی که در ربات شما سوال خاصی را خطاب به شما مطرح کردهاند، پاسخ مختص آن فرد را ارسال کنید. در این حالت نیاز نیست هزینهای برای هاست پرداخت کنید.
آیا بدون صرف هزینه میتوان صاحب یک روبات شد؟
پاسخ: بله
مثلا سرویس آنلاین paquebot.io برای همین منظور ایجاد شده است و اتفاقا رباتهای ساده زیادی با اینگونه سرویسها ساخته شده است اما چند نکته منفی در اینجا وجود دارد:
1. رباتهایی که با این روش ایجاد میشود بسیار ساده و تفننی هستند و فاقد قابلیتهای رباتی هستند که برنامهنویسی شده است.
2. رباتهایی که با این روش ایجاد شده (حسب تجربه شخصی نویسنده در تعامل با آنها) کند بوده و به درخواست کاربر دیر جواب میدهد و گاهی جواب نمیدهد!
3. کاربرانی که شما با تلاش خود برای ربات خود جمع کردهاید، میتواند به سادگی توسط ارائهدهنده سرویس رایگان برای ارسال تبلیغات و … مورد سوء استفاده قرار گیرد.
آیا کاربر برای کار با روبات همواره باید دستورات خاصی را تایپ کند؟
1) صفحه کلید جایگزین: این صفحه کلید توسط برنامهنویس تعریف میشود و یک نمونه تصویر از آن را در ابتدای همین پست میبینید. این صفحه کلید در وسایل دارای صفحات لمسی، جایگزین صفحه کلید مجازی خود وسیله میگردد و در نسخه تحت وب تلگرام، به صورت لینکهایی در زیر ورودی متن ظاهر میشود که کاربر میتواند روی آن کلیک کند. حتی برای شروع نیز لازم نیست دستوری تایپ کنید و تلگرام دکمه Start را برای این منظور به شما نشان میدهد.
ممکن است بگویید دستورات چه خاصیتی دارد و چه نیازی به وجود آنها هست؟
اگر بخواهید که روبات شما علاوه بر شخص، با گروههای تلگرامی نیز تعامل داشته باشد، لازم است از دستورات بهره ببرد چرا که تلگرام برای حفظ حریم خصوصی افراد فعال در گروه، اجازه دسترسی به نوشتههای گروه را به رباتی که خود یکی از اعضای گروه است، نمیدهد و تنها نوشتههایی که با اسلش شروع شده باشد و حاوی دستورات از پیش تعریف شده ی آن ربات باشد، به آن ربات ارسال میگردد.
در پایان برای تکمیل مطلب این نکته را ذکر میکنم که این سیاست حریم خصوصی ربات در گروه که اشاره شد و همچنین عدم امکان دریافت فایل توسط ربات و سایر محدودیتهای رباتها، مربوط به رباتهایی هستند که بعد از «انقلاب رباتها» و با API تسهیلشدهی تلگرام ایجاد شده باشند اما رباتهایی که با API پیچیده خود تلگرام نوشته شده باشند، مانند یک کاربر عادی عمل میکنند و تمام دسترسیها و کارهایی را که یک کاربر عادی دارند، خواهد داشت. یعنی مثل روبات clippy میتواند فایل ارسالی کاربر را دریافت کند و به آن دسترسی پیدا کند یا مثل آن روبات (که اسم نمیبرم) در گروهها عضو شود و به تمام مطالب نوشته شده در گروهها دسترسی داشته باشد و آنها را بلافاصله روی وب برای همگان منتشر کند.
این نوشتهها را هم بخوانید
یا خانم روباتی! بود که میتونست به متن ها دسترسی داشته باشه و در صورت دیدن کلمات خاصی در متن؛ پیغام خاصی بفرسته…
مثلا اگه تو یه جمله کلمه جوک یا jok به کار رفته باشه بدون توجه به کل متن، یه جوک میفرسته…
یا اگه کلمه جاسوس باشه تو جمله، متن مخصوص اینکه من جاسوس نیستم رو میفرسته… :)
بسیار بسیار عالی و به موقع بود – شدیدا دنبال سورس فارسی بودم که یکم اطلاعات در این زمینه کسب کنم.
سلام
کاش میشد اون قسمتی که بخواییم به عنوان خبرنامه ای یک روبات ایجاد کنیم رو بیشتر توضیح میدادید و عملا طریقه ساخت یک روبات رو میگفتید.
اون «عملا» ش دیگه میشه کدهای برنامه نویسی که در یک پزشک نباید دنبال آن باشید. همچنین ممکن بود من اینجا به زبان Go برای شما بنویسم و شما بفرمایید نه من با زبان Erlang کار میکنم!
نمونه کدهایی به زبان برنامه نویسی موردنظر شما برای کار با API روباتهای تلگرام در وب هست که با جستجو میتوانید به آن دست پیدا کنید.
سلام جناب معظمی
اگر بخوام برام یه رباط بنویسید این پروژه رو انجام میدید؟
هزینش رو هم ممنون میشم برآورد بفرمائید
منتظر پاسخ هستم
خب اینجا مکان مناسبی برای طرح این موضوع نبود اما به هر حال بنده و هر برنامهنویس دیگری که در کارش مسلط باشد، میتواند برای شما ربات کاملا سفارشی متناسب با نیازتان تهیه کند. آنچه مهم است این است که شما نیازها و امکانات موردانتظارتان را لیست کنید که به راحتی بتوانید با ارسال آن به برنامه نویسان مختلف، استعلام قیمت کنید.
البته آنچه عرض شد کلی بود اما در مورد شخص خودم؛ در حال حاضر به دلیل پروژههایی که بر عهده دارم (از جمله ربات یکی از سایتهای برتر ایران)، امکان پذیرش آن را ندارم.
سلام . لطفا در مورد حذف ربات ها و آر اس اس ها هم توضیح بدید . زمانی که درباره روبات ها و آر اس اس ها اینجا خوندم چند تایی سایت رو وارد کردم و الان با حذف و ادیت آنها مشکل دارم. ممنون
سازنده باید پیشبینی کنه و فکر کنم در همه باتها با یک دستور نشه، بات را حذف کرد. دستور /remove در تعدادی از باتها پاسخ میده.
در تمام رباتها به صورت پیشفرض دستور stop/ وجود دارد که با کمک آن میتوانید ادامه ارتباط تان را با آن ربات کات کنید. آرشیو مطالب پیشین ربات هم که قابل حذف است.
البته رباتها برعکس کاربرا فقط میتونین 50 مگابایت فایل ارسال کنن
ضمن تشکر از تذکر صحیح شما؛ بله همینطور است و برخلاف کاربران که تا سقف 1.5 گیگابایت میتوانن فایل ارسال کنند، در حال حاضر رباتها حداکثر تا سقف 50MB فایل میتوانند فایل ارسال کنند اما همانطور که در لینکی که از سایت reddit نقل کردم گفته شده، تلگرام در حال مطالعه رفتار روباتهاست و برخی محدودیتها هم به این دلیل است و در آینده احتمالا برداشته میشود.
البته من حدس زدم که این محدودیت (50 مگابایتی) برای فایل آپلودشده توسط ربات باشد نه فایلی که ربات با file_id میفرستد
و تست هم کردم و حدسم تائید شد:
من یک فایل 1.4 گیگابایتی به تلگرام ارسال کردم و سپس از طریق ربات آن فایل را (فقط file_id اش را) به کاربری فرستادم. به سادگی و در عرض 1 ثانیه ربات فایل 1.4 گیگی من را به کاربر موردنظر رساند.
لذا در عمده کاربردهای ربات برای کار با فایلهای سنگین، مشکلی نیست و مثلا اگر کسی بخاهد یک ربات تحویل دهنده نرم افزار! بسازد که هر کسی کلمهای مثل Office 2013 را برای ربات فرستاد، ربات بلافاصله فایل iso مربوط به DVD آن را به کاربر تحویل دهد، باز هم محدودیتی نخاهد داشت. چرا که صاحب اصلی این ربات بجای اینکه فایل را روی سرور خود آپلود کند، کافی است از اول (با سیستمش یا ریموت) فایل را در تلگرام شخصیاش آپلود کند و سپس file_id آن را در بانک ذخیره کند که هرگاه نیاز شد این فایل را برای کسی بفرستد، بتواند در یک ثانیه فایل موردنظر را به کاربر متقاضی تحویل دهد :)
سپاس از توضیحات کامل و مفیدتون!
الان داره رباط ها زیاد میشه
مثل @monobot
سلام
اگر امکان داره روش ساخت بات برای تلگرام را در پستی جداگانه به صورت کامل توضیح دهید چون واقعا یک نیاز است برای کاربران و بسیاری همانند من نیاز دارند تا یه بات داشته باشند برای سایتشون و اطلاع رسانی هایی در این زمینه
اگر رباتهای سادهی سرویسهای رایگان (که لینک دادم و راهنمای فارسی هم دارد!) برای نیازهای شما کافی است که تمام.
اما اگر سرویسهای رایگان پاسخگوی شما نیست، پس برای تهیه روبات نیاز به برنامه نویسی دارید. حال 2 حالت دارد:
1. اگر خودتان برنامهنویس هستید که بسم الله. در گوگل جستجو کنید، نمونه کدهای آموزشی زیادی وجود دارد. آنها را بگیرید و به دلخواه خود تغییر دهید.
2. اگر خودتان برنامه نویس نیستید که لازم است از یک برنامهنویس بخواهید که روبات موردنظر را برای شما برنامه نویسی کند.
دوست عزیز من یه گروه تو تلگرام دارم
آیا میتونم رباتی داشته باشم که برای هر عضو تازه وارد یک پیام مثلاً خوشامد گویی بفرستم؟
تا اونجا که مستنداتشو خوندم بله چنین امکانی قابل برنامه نویسی است و پیوستن و خارج شدن عضو به/از گروه، به عنوان یک رویداد قابل دسترسی است
آقای معظمی با تشکر از شما برای نوشتن این پست
به نظرم باید عنوان میکردید برای وب هوک نیاز به گواهی معتبر اس اس ال هست که خب افرادی مثل من مایل به پرداخت هزینه نیستن
از این رو برای استفاده از گت آپدیت باید هاست بشه و خب کدهای جدا نوشته بشه
اگه مایل بودید بهم خبر بدید تا کلاس و کد های سی شارپو بهتون بدم تا اینجا برای بقیه به اشتراک بزارید
نکات ریز پیرامون این قصه خیلی زیاده و من هر چی سعی کردم خلاصه بنویسم بازم پست طولانی شد.
بله همانطور که فرمودید، برای استفاده از سرویس webhook باید SSL داشته باشید که البته جسارتا خلاف فرمایش شما؛ رایگانش هم پیدا میشه اگه جوینده باشید. خصوصا که اخیرا داشتن SSL روی یک دامنه، از نظر گوگل یک امتیاز مهم تلقی میشه و در رنک سایت شما موثر هست لذا چه رایگان (و چه پولی با سالی صد تومن مثلا) لازمه که یک SSL برای دامنه خودتان تهیه کنید.
در مورد کدها هم که طبعا بهتره در گیت هاب گذاشته بشه که برنامه نویسان بهتر بتونن پیدا کنن (و خب گوگل هم که اهمیت ویژهای میده بهش و جستجوگران رو اونجا هدایت میکنه) و نهایتا مایل بودید اینجا لینکش رو درج بفرمایید
آقای مجیدی یه آموزش میزاشتید برای ساخت ربات به یکی از زبان های برنامه نویسی و دوستان استفاده میکردند چون الان بسیاری با بات های آشنایی دارند و اینکه هر وبسایتی برای خودش یه بات داشته باشد که بتواند اطلاعرسانی هایش را از این طریق نیز انجام دهد یک نقطه مثبت و عطف محسوب میشود.
همانطور که خودتان هم عرض کردید درسته که شاید محل مناسبی برای این امر نباشد 1 pezeshk ولی در صورتی که این عمل رخ دهد مشکل بسیاری از کاربران و همچنین بسیاری از افرادی که آشنایی کاملی با زبان های برنامه نویسی ندارند حل خواهد شد.
پیشاپیش ممنون از حس توجه تان
بله همانطور که عرض شد اینجا محل مناسبی برای نوشتن پستهایی که مخاطبش فقط برنامهنویسان هستند شاید نباشه و امکانات اولیه برای این کار مثل syntax highlighter ها برای نویسنده کامنتر فعال نیست. روند بلاگهای تکنولوژی دنیا مثل تک کرانچ و انگجت و امثال اینها هم این نیست.
لذا باز هم عرض میکنم که اگر برنامهنویس هستید که در github نمونهکدهای آموزشی زیادی وجود دارد که میتوانید دانلود و طبق نیازتان تغییرش دهید. اگر هم آماتور هستید که آموزشهای ساده در قالب پست، در سایتهایی که برنامهنویسی آموزش میدهند وجود دارد حتی به زبان فارسی مثلا ببینید: goo.gl/pslOQ7
با تشکر از مطلب خوب شما, یک سوال دارم . برای ساخت ربات باید سرور مجازی داشت یا با هاست های معمولی هم امکان ساخت ربات وجود دارد ؟
در لابلای مطلب اجمالا اشاره شد که بستگی به 2 چیز دارد:
1. تعداد استفادهکنندگان از ربات
2. میزان منابع سخت افزاری که برنامه ربات موجود در سرور شما، برای پاسخ نیاز دارد
مثلا اگر ربات شما بسیار پرمخاطب باشد و بخواهد به صد هزار نفر در ساعت پاسخ بگوید، قطعا هاست اشتراکی پاسخگوی نیاز شما نیست
یا اگر ربات قرار باشد برای پاسخ به کاربر، پردازش سنگینی (مثلا روی فایل تصویری یا فیلم) انجام دهد و سپس پاسخ را به کاربر تلگرام بفرستد، باز هم طبیعی است که هاست اشتراکی کافی نیست و لازم است سرور مجازی یا اختصاصی برای آن تهیه گردد
البته در مورد انتخاب هاست و سرور، قبلا یک پست مفید نوشتهام که توصیههایش به درد شما نیز میخورد: goo.gl/qCnwf3
همانطور که در آن پست نوشتهام، هیچگاه با تخمین اینکه سایت یا روبات یا … شما در مدت زمان کوتاهی به موفقیت عظیم و بازدید میلیونی! کسب خواهد کرد، برای هاست و سرور هزینه نکنید. همیشه با سبکترین پلنی که پاسخگوی کار شماست (و حتی هاست رایگان) شروع کنید و پس از مدتی اگر طبق تجربه خود یا کاربرانتان، حس کردید که هاست فعلی کافی نیست، در عرض چند دقیقه میتوانید سروری قویتر خریداری و سایتتان را روی آن تنظیم کنید بدون حتی یک ثانیه توقف.
با تشکر از پاسختون. من سوالم رو نا مناسب مطرح کردم. من اطلاعات کمی در مورد برنامه نویسی نحت وب دارم و با توجه به جستجو هایی که کرده بودم اکثر ربات ها به صورت کد های نرم افاری بودن که جهت اجر نیاز به محیط سیستم عامل داشتن.
سوال من این بود که ایا نوشتن و اجرای این روبوت ها به صورت کد های تحت وب مثلا PHP امکان پذیر هست یا خیر. البته با جواب کامل شما به این نتیجه رسیدم که این امکان وجود داره ممنون میشم راهنمایی کوچکی برای شروع در این زمینه به من بکنید. باز هم ممنونم
سلام. بله اطلاعات شما (در مورد لزوم استفاده از بستر سیستم عامل سرور و نرمافزارهای نصب شونده در سرور برای داشتن ربات تلگرامی) مربوط به قبل از انقلاب رباتهاست.
شما با داشتن یک هاست ساده و با کد php خالی هم میتوانید ربات سادهای داشته باشید که یک نمونه مطلب آموزشی در این مورد را میتوانید اینجا ببینید: goo.gl/pslOQ7
سلام من هاست و دامین دارم و گواهینامه ssl رو روی هاست نصب کردم به برنامه نویسی php هم آشنا هستم روبات رو هم ساختم و از متد setwebhook ادرس یه فایل php رو روی روباتم تنظیم کردم اما ربات هیچ پیغام و عکس العملی نداره لطفا اگه کسی میدونه راهنمایی کنه؟؟؟؟؟؟
seyedsajed5@gmail.com
چطور می تونم اشتراکم از ربات ۱پزشک قطع کنم. /stop رو امتحان کردم اما عمل نکرد.
فکر میکنم شما باید با ارسال /remove این عمل رو انجام بدید
سلام
ممنون میشم ربات زیر رو اد کنید:
رباتی برای علاقه مندان به شعر های جدید
شعر عاشقانه
+ فال حافظ
+داستان های کوتاه
ربات دوست من
@dostemanbot
سلام میشه بگید این چطوری ساخته شده؟
سامانه ی اطلاع رسانی هیات ریحانهالنبی
https://telegram.me/Reyhane_bot
ما می خواهیم بتونیم یه همچین چیزی داشته باشیم
سلام. زمانی که شما در رباتی که نام بردید ثبت نام کنید و سپس /stop کنید، به شما پیام زیر نمایش داده میشود:
سامانه ی اطلاع رسانی هیات ریحانهالنبی
Unsubscribed from @Reyhane_bot
Want to create your own Telegram bot
Here it is: http://paquebot.io
همانطور که در لینک فوق میبینید، این ربات و 99 درصد دیگر روباتهای تلگرامی، بدون برنامه نویسی و با سرویس رایگانی که در همین پست معرفی و لینک دادم، ساخته شده است و صرفا حالت خبرنامهای دارد.
برای ساخت روباتهای حرفهای مثل روبات قرآنی ذکر telegram.me/zekrbot نیاز به برنامه نویسی و سرور هست همانطور که مفصلا توضیح دادم.
ربات کتابخانه گوگولی بصورت آزمایشی در تلگرام آغاز به کار نمود
https://telegram.me/ketabgle_bot
یه سوال … ربات ها امکان داره لینکی که به یه ویروس ختم میشه رو بفرستن ، یا فایل ویروسی ؟ اگه پاسخ مثبته چه جوری باید تشخیص بدیم که ارتباط با یه ربات رو آغاز کنیم یا خیر ؟
پاسخ واضح است. رباتها هم مثل سازندگانش، مثل کسانی که ایمیل میفرستند، مثل این هم سایت اینترنتی و … میتوانند هر نوع محتوایی را ارسال و سرو کنند و قابل پیشبینی نیست که فلان ربات فایل/محتوای مخربی را میفرستد یا خیر.
در موضوع امنیت، هر کسی باید با نه فقط روباتها بلکه سایتها و ایمیلها و … را به صورت پیشفرض آلوده بداند و تمهیداتی برای آلوده نشدن از قبل اندیشیده باشد (مثلا آنتی ویروسی نصب کند، اجازه نصب از غیر Google play را بسته باشد، گوشی را روت نکرده باشد و …)
چگونه در رباط تلگرام پیام خوش امد گویی بزارم موقعی که فرد گزینه شروع میزنه لطفا به جیمیل ارسال کنید ممنون
سلام، اینکه نوشتید : «ﯾﺎ ﻣﺜﻞ ﺁﻥ ﺭﻭﺑﺎﺕ (ﮐﻪ ﺍﺳﻢ ﻧﻤﯽﺑﺮﻡ ) ﺩﺭ ﮔﺮﻭﻩﻫﺎ ﻋﻀﻮ ﺷﻮﺩ ﻭ ﺑﻪ ﺗﻤﺎﻡ ﻣﻄﺎﻟﺐ ﻧﻮﺷﺘﻪ ﺷﺪﻩ ﺩﺭ ﮔﺮﻭﻩﻫﺎ ﺩﺳﺘﺮﺳﯽ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ ﻭ ﺁﻧﻬﺎ ﺭﺍ ﺑﻼﻓﺎﺻﻠﻪ ﺭﻭﯼ ﻭﺏ ﺑﺮﺍﯼ ﻫﻤﮕﺎﻥ ﻣﻨﺘﺸﺮ ﮐﻨﺪ.»
لطفا اسم این ربات را خصوصی برای بنده (یا عمومی) بفرستید، چون برای نشر اینترنتی مطالب مفید در گروههای تخصصی بسیار کارایی دارد.
بنده ارشد مهندسی IT دارم، و طلبه سطوح عالی حوزه قم هستم، که بهمراه جمعی از طلاب چندین گروه تخصصی پرسمان اعتقادی و نقد مکاتب انحرافی داریم، که منظم با شمارگان پرسش و پاسخ مطرح میشود و اگر بشود که به محض ارسال سوال و جواب در گروه، در صفحه ای از نت هم ارسال شود، کارایی تالار بالاتر میرود.
هرچند بتازگی سایتی هم را انداخته ایم (aqayed.ir)، ولی ارسال کل آرشیو دو سال سابق به سایت طول میکشد تا اینکه به نشر اینترنتی مطالب جدید هم برسد. لذا همچنین رباتی فعلا خیلی بکار ما میآید.
آی دی تلگرام بنده
@msalehi
از مطلب خوبتان ممنونم و منتظر معرفی ربات مذکور هستم.
چطوری برای ربات خودم در قسمت کیبرد دکمه بزارم؟
سلام…من از طریق همین بوت یک پزشک با سایت عالی شما آشنا شدم…نوشته هاتن عالیه…فقط ی سوال ! از این دست ربات ها مشکلی که برای کاربر ایجاد نمیکنن؟ مثلا هک و اینا…چون هشدار ها راجع به بوت ها زیاده!
■ اگر از ربات استفاده شخصی میکنید که ابدا مشکلی وجود ندارد و چیزی در پشت پرده وجود ندارد و سازنده ربات تنها به نام و آیدی که خود شما در تلگرام انتخاب کردید اطلاع خواهد یافت و حتی به شماره تلفن شما که با آن به تلگرام لاگین کردید هم دسترسی ندارد
در این حالت (استفاده شخصی از ربات) تنها باید مواظب 2 چیز باشید:
1. آنچه شما برای ربات ارسال کنید… مراقب باشید که اطلاعات یا تصاویر یا فایل شخصی یا حاوی اطلاعات حساس را برای ربات ارسال نکنید چرا که هم سازنده ربات ممکن است به صورت دستی و موردی آنها را بررسی کند و مورد سوء استفاده قرار دهد و هم برخی رباتها به صورت اتوماتیک این کار را میکنند یعنی مثلا الآن برخی رباتها هستند که به شما میگویند که «یه عکس بده تا بهت یه عکس بدم» و تصویری از شما دریافت و ذخیره میکند و تصویری از تصاویر نفرات قبلی را به شما نمایش میدهند.
2. لینک یا فایل اجرایی (exe, apk و …) که ربات بفرستد
در این حالت هم لازم است دقت و وسواس لازم را به خرج دهید و همواره آنتی ویروس و فایروال و سایر تمهیدات (مانند روت نبودن گوشی و غیرفعال کردن امکان نصب برنامه از غیر گوگل پلی و امثال این تنظیمات) را انجام دهید.
■ اگر از ربات در گروه استفاده میشود، به صورت خلاصه بخام بگم: ربات میتواند تمامی مطالب ارسالی اعضا در گروه را ببیند و ذخیره کند. لذا در گروههای خصوصی مثل گروه خانوادگی و امثال آن که ممکن است مطالب غیرعمومی تری رد و بدل شود، توصیه میشود هیچ رباتی را اضافه نکنید.
البته برخی رباتها میگویند که ما تنظیمات privacy policy را enable کردهایم که ممکن هم هست راست بگویند اما این تنظیم در هر زمانی قابل سوئیچ و تغییر است لذا ربات را فقط به گروههای عمومی که مطلب حساسی در آن گفته نمیشود، اضافه کنید نه گروههای خصوصی.
خیلی ممنونم …لطف کردید
من از جوکوبات استفاده می کنم:
@jokobot
یا همون: https://telegram.me/jokobot
❤️ربات تیم رئال مادرید❤️
فعالیت های ربات شامل….
1⃣ اخبار جدید درباره تیم
2⃣ گزارش لحظه به لحظه بازی
3⃣عکس ها و کلیپ های ناب و کمیاب بازیکن ها
4⃣عکس ها و کلیپ های درخواستی
و..
اگه میخوای با ما همراه باشی روی این لینک کلیک کن بعد start رو بزن و عضو شو…
https://Telegram.me/halamadridiranbot
با سلام
به تازگی گروهی در تلگرام درست کردم به سرعت یه روبات با عکس های مستهجن وارد گروه شد . خیلی سریع اسم روبات رو از لیست مخاطبین پاگ گردم . اما هر یک از اعضا که می خواهد لینک روبات را پاک کند ، دوباره کپی می شود. چطور می تونم کلا از دست این روبات خلاص بشم و اون رو پاک کنم.
یکی از نواقص و اشکالات رباتهای تلگرام این بود که وقتی رباتی در گروه اضافه میشد، حتی وقتی حذف میشد باز هم منوهای آن ربات برای دیگر کاربران نمایش داده میشد که آزاردهنده بود.
الآن نمیدانم این نقیصه را برطرف کردهاند یا نه (و قطعا خواهند کرد) اما راهحل فعلی آن حسب تجربه این است که هر یک از افراد، آن ربات را به گروه اد و سپس حذف کنند.
راه دوم هم این است که گروه جدیدی تاسیس کنید و لینک join به آن گروه را در گروه قبلی قرار دهید تا همه اعضاء با کلیک روی آن لینک، به سادگی به گروه جدید منتقل شوند.
با سلام!یک سوال داشتم یکی که نه ولی……چگونه وقتی یک نفر استارت رو میزنه پیام خوشامد گویی بدیم یا وقتی اونو تو گروه اد میکنیم پیام معرفی بده یا یکی تو گروه اد میشه خوشامد گویی و یا یکی لفت میده پیام خداحافظی یا یکی کامنت اشتباهی تو پی وی رباتت میده پیام خودتو بفرسته یا مثلا ارتباط شخصی که از ربات استفاده میکنه با ادمین ربات چگونه میسر میشه؟اینارو توضیح میدین؟ببخشید که زیاد شد ولی خوب به جیمیلم بفرستین
این موارد با کمک برنامهنویسی میسر است.
زمانی که کسی کار با روبات را شروع میکند، متن start/ به ربات ارسال میشود که ربات از همین طریق میفهمد که باید متن خوشآمدگویی را ارسال کند.
همچنین ورود/خروج کاربران یک گروه نیز به عنوان یک «رویداد» به اطلاع روبات میرسد.
سلام
میخواستم بدونم اگر کاربر چند تا پیام به ربات بده ما چطور میتونیم از اخرین دستوراتی که کاربر به ربات داده مطلع بشیم؟ (بدون دیتابیس ) منظورم اینه مثل ربات zekrbot که تو هر مرحله کاربر یه دستور رو وارد میکنه و خود ربات تشخیص میده که پیام قبلی کاربر چی فرستاده که متاسب با اون ایه قبلی و بعدی رو هم نشون میده
ایا این امکان بدون داشتن و کار کردن با دیتابیس وجود دارد؟
چون اگر ربات هر دفعه به دیتابیس وصل بشه و از اخرین پیام های کاربر مطلع بشه کلی زمان بر هست و کلی عملیات رو سرور انجام میشه
با تشکر
سلام. به عنوان مقدمه لازمه عرض کنم که برخلاف تصور شما، استفاده از دیتابیس زمانبر نیست و بلکه بسیار سریعتر از کارکردن با فایل است (چون بالاخره دیتایی که به کاربر قراره نشون داده بشه توی دیتابیس نخاد باشه، باید توی فایل باشه علی القاعده)
بله امکانش وجود داره که بدون دیتابیس انجام بشه. برای این کار باید از قابلیت forceReply استفاده کنید:
https://core.telegram.org/bots/api#forcereply
یا میتوانید از کاربر بخواهید که روی مسج اخیر reply بزند و سپس دستور مربوطه را درج کند. با این کار، مسج سابق هم برای شما ارسال میشود لذا نیاز به حفظ وضعیت سابق در دیتابیس ندارید که این روش به خوبی در ربات قرآنی iQuranBot پیاده شده است.
سلام.
میخوام تو تلگرام یه پیام مثل خبرگزرای تسنیم بذارم که عکس و متن و لینک کنار هم در یک پیام ارسال بشه. چیکار کنم؟
خب بنده جستجو کردم و اما خبرگزاری تسنیم ظاهرا «ربات» ندارد و صرفا «گروه» تلگرامی دارد که مطالب آن هم به صورت دستی ارسال میگردد. لذا اگر آدرس (آیدی) روبات مذکور را درج کنید که متشکر میشم.
اما به هر حال؛ آنچه شما نوشتید و وصف کردید، به سادگی قابل برنامه نویسی است. چرا که به همراه عکس، میتوان یک متن (که کپشن نامیده میشود) ارسال کرد و متن کپشن هم میتواند حاوی تیتر خبر به همراه لینک آن باشد.
سلام و خسته نباشید از توضیحات خوبتون در جواب کامنت ها
یه سوال دارم که من یه سایت تقریبا خیلی ساده دارم که همه پست هاش حاوی متن و باید بگم خیلی کم پیش میاد با عکس و فایلی باشه، حالا اینکه من یه ربات ساختم با BotFather و Paquebot و اینکه میخوام این رباط به گونه ای ساده باشه که همون اطلاعات پست سایتم رو هر زمان که میزارم رو سایت به صورت یه خلاصه و لینک وار (عین فید های خبری سایت) به عضوهاش ارسال کنه،!
حالا میشه راهنماییم کنید که چه کاری باید انجام بدم برا کامل کردن رباتم؟؟؟ خیلی ممنونم اگه زود تر جوابم رو بدین؟؟؟
سلام. من برنامه نویس هستم و با رباتهای سازهای کار نمیکنم هرچند فکر میکنم برای کار شما، botsaz.com که یک سرویس ایرانی است، گزینه مناسبتری باشد.
سلام خسته نباشین
می خواستم برونم file-id رو چطوری میشه از یک فایل که تو تلگرام ارسال کردیم در بیاریم؟ ینی از کجا بدونیم file_idش چی هست که تو ربات ازش استفاده بکنیم؟
سلام. زمانی که یک فایل به یک ربات ارسال میشود، ربات میتواند file_id آن را مشاهده و ذخیره کند و در ارتباطات بعدی از آن استفاده نماید.
سلام.من روش حذف رباط رو میخاستم ک اینجا ب نتیجه نرسیدم .تو گروهمون پر شده از رباط مدیر هم نیست ممنون میشم روشی بهم بگید که بتونم حذف کنم رباط هارو متشکرم
سلام. فقط مدیر گروه یا شخصی که ربات را اضافه کرده، میتواند ربات را از گروه حذف نماید
مگر گروه شما وحی منزل است که میخاهید حتما همان را حفظ کنید؟ :)
حال که ادمین هم بقول شما رفته پی کارش و گروه را رها کرده، کافی است یک گروه جدید بسازید و سپس لینک join ش رو در گروه قدیمی درج کنید تا اعضاء با یک کلیک منتقل بشه به گروه جدیدی که ساختید.
با سلام
یه سوال دارم چجوری میتوان هدر یک رباط را باز کرد و فهمید که مطالب فرستاده شده از طرف این رباط از چه ای دی ارسال شده است.
ممنون
سلام. هیچ راهی سراغ ندارم و حسب مستندات تلگرام این امر ممکن نیست مگر آنکه در توضیحات خود آن روبات توسط صاحبش، درج شده باشد که برای تماس و پیشنهاد و … با فلان آیدی یا شماره در ارتباط باشید
چطوری یک ربات داشته باشم که بتونه آخرین اخبار سایت رو بلافاصله واسه کاربرها ارسال کنه؟
قبلا تز سرویس Zapier استفاده میکردم که بسته شد و دیگه کار نمیکنه.
ممنون میشم راهنمایی کنید.
اگر مقصود شما از ایجاد ربات، صرفا یک ارتباط یکطرفه با مخاطب بدون هیچگونه تعاملی با مخاطب است، امکان جدید «کانال» بهترین گزینه خواهد بود مگر آنکه تعداد آپدیتهای سایت شما زیاد باشد که درج مطالب به صورت دستی در کانال میسر نباشد.
به هر حال رباتسازهای رایگان زیاد است و میتوانید رباتساز دیگری را امتحان کنید اما همه آنها احتمال توقف ارائه سرویس و بستهشدن را دارند که موجب میشود مشتریانی که شما با زحمت برای رباتتان جمع کردهاید، بپرند.
همچنین بسیاری از رباتهای رایگانی که شخصا دیدهام، از کیفیت مطلوبی برای ارسال به موقع مطالب برخوردار نیستند و گاهی با چند ساعت تاخیر مطلب را میفرستند و گاهی هم اصلا نمیفرستند!
لذا بجز رباتسازهای رایگان (که گفتیم خالی از مشکل نیست) دو راه دارید:
1. استفاده از کانال
2. صرف هزینه برای برنامه نویسی و سرور
سلام ممنون از مطلب مفیدتون من یه سوای داشتم، من ربات رو ساختم و کامند هم ساختم اما اینکه با فشار دادن کامند چه دستوری باید اجرا بشه رو کجا باید ساخت؟؟
همانطور که در پست و پاسخ کامنتها هم گفته شده، ربات اختصاصی نیاز به برنامه نویسی دارد.
بله با کمک باتفاذر، میتونید ربات را ایجاد و کامندها را تعریف کنید اما اینکه فلان کامند چیکار کنه، نیاز به برنامه نویسی داره.
البته همانطور که باز هم گفته شده، رباتسازهای آمادهای هستند که به صورت رایگان یا با مبالغ جزئی برای شما این امکان را فراهم کردهاند که در تست و تجربه شخصی، بنده مورد مناسبی را نیافتهام که پیشنهاد کنم و صرفا اگر کار و قصدتان برای ایجاد ربات جدی است، توصیه میکنم فقط به برنامه نویسی روبات فکر کنید.
سلام چند وقت قبل عضو رباتی شدم الان هرچقدر میخوام حذفش کنم و بیام بیرون نمیشه
/off……./stop………/remove
رو هم زدم دیلیت رو زدم اما بازم دست بردار نیست چکار کنم
سلام با تشکر از اموزش هاتون
لطفا توضیح بدید چطوری می تونیم با/commands add چند جواب بدیم هم عکس باشه هم متن و با چه دستوری میشه مسیج فرستاد و چگونه کلماتی بسازیم گه بشه روشون کلیک کرد و دستوری اجرا بشه.
همانطور که در پاسخ کامنتها بارها گفته شد؛ روباتسازهای آماده زیاد هستند که نقایض و ضعفهای متعددی دارند.
اگر شما یک کار خاص و سفارشی از ربات انتظار دارید، لازم است با یک برنامه نویس درمیان بگذارید تا رباتی منطبق بر خواست شما برنامهنویسی کند.
آنچه مدنظر شماست، برای یک برنامه نویس خوب، مساله نسبتا سادهای است.
با سلام و خسته نباشید خیلی متشکرم از مطالب و پاسخهاتون بنده دو تا سوال دارم:
1- دستوری که با اجرای اون ربات تصویر موجود در یک آدرس اینترنتی رو نمایش بده ،
2- دستوری که ربات متنی ازیک صفحه ی اینترنتی رو نشون بده،
د رهر دو حالت با تغییر محتوا و ثابت بودن آدرس محتوای جدید نشون داده بشه
میشه راهنماییم کنید دقیقا باید چیکار کنم، برنامه های ربات ساز و سرویسهای مختلف این خاصیت رو ندارند و متن رو صرفا از rss میگیرن همچنین دستوری در رابطه با عکس ندیدم.
خیلی سپاسگزارم
سلام. فکر میکنم پاسخها واضح باشد. به صورت چکیده یکبار دیگر عرض میکنم؛
هر رباتی/رباتسازی که الان وجود دارد (یا دوست دارید وجود داشته باشد) بلا استثناء، همگی توسط یک یا چند نفر برنامهنویس ایجاد شده است.
حالا؛ چنانچه بین رباتها و رباتسازهایی که به صورت رایگان عرضه شده، امکانات موردنظر شما قبلا پیاده شده که بسم الله، از آن استفاده کنید. اما اگر هنوز کسی آن را پیاده نکرده، عمدتا دلیلش این بوده که یا صرفه اقتصادی نداشته یا برنامهنویسی حال و انگیزه لازم برای انجامش را نداشته و … لذا اگر خودتون برنامهنویس هستید که میتونید به سراغ نوشتن برنامه ربات موردنظرتون برید و الا لازمه با پرداخت هزینه از یک برنامهنویس بخواهید که این کار رو برای شما انجام بده.
برای مواردی که شما نوشتید؛ برای مورد 1 خیر رباتی سراغ ندارم. اما برای مورد شماره 2 ربات معروف telegram.me/readMeBot رو میتونید ببینید. به این ربات آدرس صفحه موردنظر رو بدید و بلافاصله به شما متن خالص اون صفحه رو (با حذف منوها و ستونهای کناری و …) به شما برمیگردونه هرچند دردرصدی از اوقات هم نمیتونه درست عمل کنه.
با سلام من تا بهه حال چند تا ربات ساختم این بار خواستم توی محیط کرییت (create your Bot ) یک ربات بسازم کلیدهای منئ و زیر منو را هم ساختم ولی نمیدونم محتوا ، عکسها و دیتابیس کلیدها رو کجا باید وارد کنم ؟ میشه راهنمایی بفرمایید؟
سلام و خسته نباشید.
میخواستم بدونم رباتی هست که برای همه اعضای یک گروه توی پیویشون یه یغام بفرسته؟
اگر هست رایگانه یا نیاز به کد نویسی داره.ضمنان پیغام من خیلی سادس.یا یه جمله یا یه عکس کم حجم
سلام خیلی ممنون از توضیحاتتون
میخواستم بدونم میتونم با خود روباتم تو تلگرام واسه کسی پیام بفرستم.اگه اره چجوری؟؟؟
سلام خدا قوت خیلی و مچکرم از توضیحات شما
سوالم دقیقا این هست که میشه از کاربر توسط ربات تصویر دریافت و در دیتابیس ذخیره کرد یا فقط امکان دریافت متن وجود داره؟ اگه تصویر هم میشه دریافت کرد با چه دستوری از زبان php میشه این کارو کرد؟
در صورت امکان ارسال تصویر، برای 300 کاربر در ساعت که با ربات تعامل دارند و تصویر به ربات میفرستن چه سروری و با چه امکاناتی نیاز است؟
با سلام،
۱- با در نظر گرفتن مواردی که فرمودید آیا ربات ساز کرییت قابل اطمینان میباشد؟
۲- یک ربات ضد لینک که توسط کرییت ساخته شده است رو به گروه اضافه کرده ام، زیر اسم ربات نوشته است (به پیام ها دسترسی دارد) آیا این ربات میتواند پیام های گروه رو دریافت کند؟؟
با تشکر.
ممنون مطلب مفیدی بود. خیلی از سوالات رو برطرف کرد
سلام ممنون از توضیحاتتون،من به یه ربات هایپرلینک نیاز دارم که بشه عکس رو به همراه متن لینک دار بذارم توی کانالم،میشه لطفا بهم بگین چطوری این ربات رو طراحی کنم ممنون میشم جواب بدین?????
سلام. زیرنویس عکس، فقط میتونه متن ساده باشه و متن هایپرلینک شده نمیتونه به عنوان زیرنویس قرار بگیره.
برای این کار میتونید از ترکیب ربات axNegarBot و vardast_bot استفاده کنید و متن طولانی دارای هایپرلینک به همراه عکس در کانال درج کنید بدون نام ربات.
سلام. برای ربات تلگرام، سایت باید ssl داشته باشه. نوع ssl مهمه؟
Extended Validated (EV)؟
Organization validated (OV)؟
Domain Validated (DV)؟
مهمه که چه نوعی باشه؟
سلام. طبعا هم داشتن نوع EV که سالانه اقلا سیصددلار هزینه دارد، منظور نیست و هر نوع SSL معتبری که داشته باشید کافیه.
عالی عالی بود
ممنونم از مطلب مفیدتون
واقعا کامل و جامع بود
سلام اگر آیا امکان داره رباتی نوشته بشه که اگر شخصی میخواد از کانال بره دلیل بپرس ازش؟
باسلام وعرض ادب
من در حال ایجاد یک کانال خرید وفروش وسایل دست دوم هستم
درمورد نحوه دستورات ربات اگهی پذیر لطفا راهنمایی بفرمایید
کانال و رباتشو درست کردم فقط مونده انتخاب سرور و اینکه کدوم سرور مناسبتره؟
درمورد سرور اختصاصی و پایگاه داه هم توضیح بفرمایید
بنده در مورد برنامه نویسی اطلاعاتی ندارم
ممنون مطلب خوبی بود. یه دید کلی بهم داد
سلام
برای این که ربات بتواند پست سایت را به کانال ارسال کند می توان از IFTT استفاده کرد.
سلام
پست کانال من دیر به دیر ویو می خوره و حدودا 300 تا 300 تا پرش داره؛ رباتی وجود نداره که ویوی پست ها را تنظیم کنه و باهرنفر که بازدید می کنه، ربات ویوشو مشخص کنه. با ربات وردست شخصیم کار می کنم . این امکان نمیشه به این ربات افزوده بشه؟ ممنون
رباتها هیچگونه دسترسی برای تغییر یا حتی اطلاع یافتن از تعداد بازدید مطالب کانال (حتی مطالبی که خود ربات گذاشته باشد) ندارند. جهت اطمینان از صحت این ادعا را میتوانید به مراجعه به تک صفحه تلگرام در این باره مراجعه کنید.
اما در مورد view ی کانالها، با توجه به اینکه دیتابیسهای تلگرام توزیعشده است، تلگرام تجمیع تعداد ویو و آپدیت آن را در اولویت قرار نمیدهد و در عمل همین حالی که شما وصف کردید، رخ میدهد.