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

آموزش کامل ساخت ربات تلگرام -  قسمت دوم اضافه شد

امین علیپور  8 سال پیش  7 سال پیش
+20 0

همانطور که می دانید Bot ها یک سری applications داخل تلگرام هستند که می توانید به وسیله ی ارسال پیغام (messages) , فرمان ها (commands ) و inline requests با آنها در تعامل باشید  . Bot هایی که می نویسید را می توانید از طریق درخواست های HTTPS کنترل نمایید .

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

روش long polling یا همان getUpdates به این صورت است که شما با استفاده از Token هربار به تلگرام درخواستی ارسال میکنید و آخرین پیام های کاربران به ربات را دریافت میکنید ولی در روش webhooks هر زمان کاربر پیامی به ربات تلگرام شما ارسال کند بلافاصله این پیام به آدرس webhook شما ارجاع داده میشود که در آن آدرس باید پیام دریافتی را تحلیل کرده و پاسخ متناسب را ارسال نمایید.

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

 

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

  • دریافت اطلاعیه ها و اخبار ویژه :‌ یک بات می توانند مانند یک روزنامه هوشمند عمل کند و به محل انتشار اخبار , قسمت های مرتبط را برای شما ارسال نماید .
  • ادغام شدن با سایر خدمات :‌بات ها می توانند به با استفاده از محتوای سرویس های خارجی , چت های شمارا غنی تر کرده .
    Image Bot, GIF bot, IMDB bot, Wiki bot, Music bot, Youtube bot, GitHub bot
  • ایجاد ابزار سفارشی :‌بات ها می توانند به شما درباره چیز هاصی هشدار بدهند  مانند پیش بینی آب و هوا, ترجمه کردن و ….
    Markdown bot, Sticker bot, Vote bot (NEW), Like bot (NEW)
  • ساخت بازی های تک نفره و دو نفره :‌یک بات حتی می توانند شطرنج بازی کند و عنوان رقیبی برای شما باشد .
    Trivia bot
  • ساخت سرویس های اجتماعی :‌
  • تقریبا ربات های تلگرام هر کاری از دستشان برمی آید و این موارد تنها اندکی از توانایی های بات ها می باشد .

 

تفاوت بات ها با کاربران عادی در تلگرام :

  • بات مانند کاربران عادی , وضعیت online یا نمایش آخرین زمان آنلاین شدن (last seen) ندارند و به جای آن , فقط یک برچسب به عنوان bot دارند .
  • بات ها محدودیت ذخیره سازی (limited cloud storage) پیغام ها را دارند و ممکن است پیغام های قدیمی تر به مرور حدف شوند .
  • بات ها نمی توانند شروع کننده مکالمه باشند پس یا باید کاربران آنها را داخل گروه ها ادد کنند و یا برای اولین بار به ربات ها پیغام دهند. کاربران می توانند برای پیدا کردن یک ربات خاص از لینک <telegram.me/<bot_username و یا نام کاربری  (username) اون ربات استفاده کنند .
  • نام کاربری (username) بات ها همیشه با bot ختم می شود . (مانندTriviaBot, @GitHub_bot@)
  • زمانی که ربات ها را داخل یک گروه  اضافه می کنید به صورت پیش فرض ربات ها نمی توانند تمام پیغام ها را دریافت کنند (برای دریافت تمام پیغام ها باید  privacy-mode را تنظیم کنید )

 

ربات های تلگرام قادر به دریافت چه پیام هایی می باشند؟

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

  • پیام هایی با وارد کردن اطلاعات به وسیله صفحه کلید به ربات ارسال می شوند.
  • پیام هایی که کاربران با قرار دادن @robatname نام ربات همراه با @ ربات را مورد خطاب قرار می دهند.
  • پیام هایی که با نوشتن دستورات عمومی مانند /start@robatname به طور اختصاصی به ربات پیامی را ارسال می کند.
  • پیام هایی که ربات ها وقتی کسی به گروه می پیوندد و یا گروه را ترک می کند و یا شخصی تصویر و نام گروه را تغییر می دهد توسط ربات مشاهده می شود.
  • با اضافه کردن ربات به گروه همه پیام های گروه تحلیل و در یافت نمی شوند مگر اینکه شما تنظیمات پیشفرض را تغییر داده باشید.
  • ربات های تلگرام نمی توانند شروع کننده مکالمه با کاربران باشند ولی قابلیت در یافت پیام از سوی کاربران و پاسخ به کاربران را دارند.

اگر شما تنظیمات پیش فرض در قسمت privacy mode را غیر فعال کرده باشید قادر به دریافت همه پیام ها در گروه ها خواهید بود بجز پیام های زیر:

  • پیام هایی که از سوی دیگر ربات ها دریافت می شوند.
  • دستوراتی مربوط به ربات های دیگر مانند /start@NotYourBoat.
  • دریافت پیام هایی که به ربات های دیگر فرستاده می شوند.

 

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

برای ساخت ربات تلگرام یک ربات معرفی شده است به نام BotFather. شما میتوانید با طی کردن چند قدم ساده ربات خود را بسازید. پس از ایجاد آن یه کدهویت یا Authorization Token برای شما ارسال میشود که درگاه ارتباطی شما با API خواهد بود. برای ساخت ربات تلگرام به مفاهیم و اطلاعات زیر نیاز خواهید داشت:

با ربات BotFather ارتباط برقرار کنید، این ارتباط میتواند از طریق آدرس https://telegram.me/BotFather و یا نام کاربری BotFather@ آغاز گردد.

با سلام خدمت دوستان عزیزم

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

همانطور که می دانید Bot ها یک سری applications داخل تلگرام هستند که می توانید به وسیله ی ارسال پیغام (messages) , فرمان ها (commands ) و inline requests با آنها در تعامل باشید  . Bot هایی که می نویسید را می توانید از طریق درخواست های HTTPS کنترل نمایید .

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

روش long polling یا همان getUpdates به این صورت است که شما با استفاده از Token هربار به تلگرام درخواستی ارسال میکنید و آخرین پیام های کاربران به ربات را دریافت میکنید ولی در روش webhooks هر زمان کاربر پیامی به ربات تلگرام شما ارسال کند بلافاصله این پیام به آدرس webhook شما ارجاع داده میشود که در آن آدرس باید پیام دریافتی را تحلیل کرده و پاسخ متناسب را ارسال نمایید.

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

 

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

  • دریافت اطلاعیه ها و اخبار ویژه :‌ یک بات می توانند مانند یک روزنامه هوشمند عمل کند و به محل انتشار اخبار , قسمت های مرتبط را برای شما ارسال نماید .
  • ادغام شدن با سایر خدمات :‌بات ها می توانند به با استفاده از محتوای سرویس های خارجی , چت های شمارا غنی تر کرده .
    Image Bot, GIF bot, IMDB bot, Wiki bot, Music bot, Youtube bot, GitHub bot
  • ایجاد ابزار سفارشی :‌بات ها می توانند به شما درباره چیز هاصی هشدار بدهند  مانند پیش بینی آب و هوا, ترجمه کردن و ….
    Markdown bot, Sticker bot, Vote bot (NEW), Like bot (NEW)
  • ساخت بازی های تک نفره و دو نفره :‌یک بات حتی می توانند شطرنج بازی کند و عنوان رقیبی برای شما باشد .
    Trivia bot
  • ساخت سرویس های اجتماعی :‌
  • تقریبا ربات های تلگرام هر کاری از دستشان برمی آید و این موارد تنها اندکی از توانایی های بات ها می باشد .

 

تفاوت بات ها با کاربران عادی در تلگرام :

  • بات مانند کاربران عادی , وضعیت online یا نمایش آخرین زمان آنلاین شدن (last seen) ندارند و به جای آن , فقط یک برچسب به عنوان bot دارند .
  • بات ها محدودیت ذخیره سازی (limited cloud storage) پیغام ها را دارند و ممکن است پیغام های قدیمی تر به مرور حدف شوند .
  • بات ها نمی توانند شروع کننده مکالمه باشند پس یا باید کاربران آنها را داخل گروه ها ادد کنند و یا برای اولین بار به ربات ها پیغام دهند. کاربران می توانند برای پیدا کردن یک ربات خاص از لینک <telegram.me/<bot_username و یا نام کاربری  (username) اون ربات استفاده کنند .
  • نام کاربری (username) بات ها همیشه با bot ختم می شود . (مانندTriviaBot, @GitHub_bot@)
  • زمانی که ربات ها را داخل یک گروه  اضافه می کنید به صورت پیش فرض ربات ها نمی توانند تمام پیغام ها را دریافت کنند (برای دریافت تمام پیغام ها باید  privacy-mode را تنظیم کنید )

 

ربات های تلگرام قادر به دریافت چه پیام هایی می باشند؟

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

  • پیام هایی با وارد کردن اطلاعات به وسیله صفحه کلید به ربات ارسال می شوند.
  • پیام هایی که کاربران با قرار دادن @robatname نام ربات همراه با @ ربات را مورد خطاب قرار می دهند.
  • پیام هایی که با نوشتن دستورات عمومی مانند /start@robatname به طور اختصاصی به ربات پیامی را ارسال می کند.
  • پیام هایی که ربات ها وقتی کسی به گروه می پیوندد و یا گروه را ترک می کند و یا شخصی تصویر و نام گروه را تغییر می دهد توسط ربات مشاهده می شود.
  • با اضافه کردن ربات به گروه همه پیام های گروه تحلیل و در یافت نمی شوند مگر اینکه شما تنظیمات پیشفرض را تغییر داده باشید.
  • ربات های تلگرام نمی توانند شروع کننده مکالمه با کاربران باشند ولی قابلیت در یافت پیام از سوی کاربران و پاسخ به کاربران را دارند.

اگر شما تنظیمات پیش فرض در قسمت privacy mode را غیر فعال کرده باشید قادر به دریافت همه پیام ها در گروه ها خواهید بود بجز پیام های زیر:

  • پیام هایی که از سوی دیگر ربات ها دریافت می شوند.
  • دستوراتی مربوط به ربات های دیگر مانند /start@NotYourBoat.
  • دریافت پیام هایی که به ربات های دیگر فرستاده می شوند.

 

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

برای ساخت ربات تلگرام یک ربات معرفی شده است به نام BotFather. شما میتوانید با طی کردن چند قدم ساده ربات خود را بسازید. پس از ایجاد آن یه کدهویت یا Authorization Token برای شما ارسال میشود که درگاه ارتباطی شما با API خواهد بود. برای ساخت ربات تلگرام به مفاهیم و اطلاعات زیر نیاز خواهید داشت:

با ربات BotFather ارتباط برقرار کنید، این ارتباط میتواند از طریق آدرس https://telegram.me/BotFather و یا نام کاربری BotFather@ آغاز گردد.

دستور /newbot را برای آن ارسال کنید و ربات پدر از شما نام و نام کاربری ربات را درخواست میکند، در پایان Token هویت را برای شما ارسال خواهد کرد.

  • نام ربات (name) در لیست مخاطبان و توضیحات آن نمایش داده خواهد شد.
  • نام کاربری (username) یک عبارت کوتاه است که برای تعیین لینک ربات و مخاطب قرار دادن آن توسط دیگران به کار میرود. این نام کاربری باید بین 5 تا 32 کاراکتر باشد و تنها میتواند شامل حروف انگلیسی، اعداد و خط زیر (_) باشد. نام کاربری ربات باید همیشه با کلمه bot تمام شود.
  • توجه کنید که نام کاربری به حروف بزرگ و کوچک حساس است، مثلا شما میتوانید alihossein_bot یا Ali23bot را بعنوان نام کاربری خود انتخاب کنید.
  • Token یک رشته از اعداد و حروف مانند 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw است که برای ایجاد ارتباط میان شما و ربات بکار میرود.
  • اگر به هر دلیل Token خود را فراموش کردید با ارسال دستور token/ به botfather یک کد جدید برای شما ارسال میشود.
 
 

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

  • setname/ نام ربات تلگرام را تغییر میدهد.
  • setdescription/ توضحیات مربوط به معرفی ربات را تعیین میکند که میتواند تا 512 کاراکتر باشد، کاربران این متن را پس از شروع مکالمه با ربات شما مشاهده میکنند.
  • setabouttext/ این متن که حداکثر میتواند 120 کاراکتر باشد در پروفایل ربات نمایش داده میشود و هنگامی که کسی ربات تلگرام شما را به اشتراک میگذارد نیز در زیر نام نشان داده میشود.
  • setuserpic/ برای تعیین عکس پروفایل ربات تلگرام استفاده میشود.
  • setcommands/ برای تعیین دستورات جانبی و تکمیلی برای ربات شما استفاده میشود.
  • setjoigroups/ این دستور برای تعیین قابلیت افزوده شدن ربات به گروه ها استفاده میشود. اگر ربات شما برای ارتباط در گروه ها طراحی نشده است میتوانید این قابلیت را غیرفعال کنید.
  • setprivacy/ تعیین میکند که ربات شما چه پیام هایی را در گروه دریافت کند، اگر این گزینه غیرفعال شود ربات تمام پیام های ارسالی در گروه ها را دریافت و برای شما ارسال خواهد کرد.
  • deletebot/ ربات شما را حذف کرده و این نام کاربری را آزاد میکند.

 

هک با ربات تلگرام

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

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

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

منبع

0 0
با درود آقا دمتون گرم. اول از متن خوبتون بسیار تشکر میکنم. و منتظر پست های بعدیتون در این زمینه هستم. (8 سال پیش)
+1 0
خواهش میکنم دوست عزیز .قسمت بعدی رو امشب میزارم (8 سال پیش)
 برای این سوال 1 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
امین علیپور  8 سال پیش
+9 0

 پاسخ صحیح

در ادامه ی مبحث آموزش ساخت ربات تلگرام (Telegram) , در این جلسه به معرفی متد های API تلگرام می پردازیم

در ابتدا بگویم که تمام متد ها و توضیحات را می توانید در سایت رسمی تلگرام مشاهده نمایید و منم سعی میکنم تا جای ممکن آنها را پوشش دهم .

برای استفاده از متدهای تلگرام (Telegram) حتما نیاز به اس اس ال و HTTPS دارین .

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

همه درخواست ها و متدهایی که استفاده می کنید به صورت زیر می باشد  :‌

https://api.telegram.org/bot/METHOD_NAME

  • token :‌توکنی هست که موقع ساخت بات از BotFather دریافت کردین .
  • METHOD_NAME :‌نام متدی که قصد استفاده از آن را دارین

تمام متدهای بات تلگرام (Telegram) به حروف کوچک و بزرگ حساسیت ندارند  (case-insensitive) و دو نوع GET و POST را پشتیبانی می کنند  و شما می توانید برای ارسال پارامترها به ربات تلگرام از روش های زیر استفاده کنید :‌

  • URL query string
  • application/json
  • application/x-www-form-urlencoded
  • multipart/form-data

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

خب بریم سراغ معرفی متد های تلگرام  :

  • getMe
  • sendMessage
  • forwardMessage
  • sendPhoto
  • sendAudio
  • sendDocument
  • sendSticker
  • sendVideo
  • sendVoice
  • sendLocation

متد getMe

اولین متد و ساده ترین متد تلگرام (Telegram) است که هیچ پارامتری نیاز ندارد و اطلاعاتی درباره بات شما در قالب یک آبجکت (object) برگشت داده می شود .

برای ارسال درخواست می توانیم به این صورت عمل کنید :‌

 https://api.telegram.org/bot136681112:AAGP_1qsss7muQTcQ54On8GfEwLdISrDRME/getMe
 

و یا با استفاده از php

 $url='https://api.telegram.org/bot136681112:AAGP_1qsss7muQTcQ54On8GfEwLdISrDRME/getMe';
    die(file_get_contents($url));
 

خروجی مانند زیر است :‌

 {
    "ok": true,
    "result": {
    "id": 136682222,
    "first_name": "ربات تست",
    "username": "amin_bot"
    }
}
 

همچنین می توانید از curl برای ارسال درخواست و گرفتن خروجی استفاده نمایید :

 $curl = curl_init();
    curl_setopt($curl,CURLOPT_URL,"https://api.telegram.org/bot136681112:AAGP_1qsMs7muQTcQ54O99GfEwLdISrDRME/getMe");
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    $json=curl_exec($curl);
    $obj = json_decode($json);
    die($obj->result->username) ;
 

خروجی کد بالا یوزرنیم بات شما می باشد. (یادتون باشه توکن را با توکن خودتون عوض نماید   )

 

متد sendMessage

از این متد برای ارسال پیغام استفاده می شود و در صورت موفقیت آمیز بودن , پیغام ارسال شده برگشت داده می شود .

پارامترها :

  • chat_id :‌ آیدی منحصر به فرد یک کاربر یا کانال یا گروه که می توانید به جای آیدی از یوزرنیم به صورت channelusername@ استفاده کنید.
  • text : متن پیامی که می خواهید ارسال کنید .
  • parse_mode :‌اگر بخواهید متن هاتون رو به صورت bold, italic, fixed-width text or inline URLs یا به صورت Markdown ارسال کنید باید از این پارامتر  استفاده کنید . اگر مقدار این پارامتر را html بگذارید می توانید متن html بفرستید و اگر Markdown بگذارید می توانید متن اتان را به صورت مارک دان ارسال کنید .
  • disable_notification :‌ اگر با false مقدار دهی شود پیام را بدون نمایش notification برای کاربر ارسال می کند
  • reply_to_message_id :‌اگر می خواهید متنی که ارسال می کنید در جواب یک message دیگر باشد , آیدی آن را با استفاده از این پارامتر مشخص می کنید .
  • reply_markup : این پارامتر برای اضافه کردن کیبورد دلخواه به ربات می باشد که کاربر با استفاده از این کیبورد و کلیدهای که ما ایجاد کردیم قادر به ارتباط به ربات باشد  .
 <?php
$token='توکن مورد نظر شما';
$chatId='آی دی کاربر یا گروه یا کانال مورد نظر';
$text='متن پیغام مورد نظر';
$sendResponseUrl = 'https://api.telegram.org/bot'.$token . '/sendMessage?parse_mode=HTML&chat_id='.$chatId.'&text='.$text.'';


file_get_contents($sendResponseUrl);
 

در مثال بالا  متد را sendMessage مشخص کردیم  . token را در متغیر token ریخته . آیدی را در متغیر chatId ریخته .متن امان را داخل متغیر text ریخته . با استفاده از این پارامتر ها url امان را می سازیم و در نهایت با استفاده از تابع file_get_contents درخواست را اجرا می کنیم.

اگر خواستیم به جای متن html متن های مارک دان ارسال کنیم باید مقدار پارامتر parse_mode را Markdown قرار دهیم

متد forwardMessage

با استفاده از این متد می توانید یک متن برای برای فردی دیگر forward نمایید  .

  • chat_id :‌آیدی شخص یا گروهی که می خواهین پیغام برای آن forward شود .به جای آیدی از یوزرنیم به صورت channelusername@ استفاده کنید.
  • from_chat_id :‌آیدی شخص یا گروهی که پیغام شما در آن قرار دارد و میخواهید آن را   forward کنید .به جای آیدی از یوزرنیم به صورت channelusername@ استفاده کنید.
  • disable_notification : اگر true باشد پیغام را به صورت Silent و بدون notification برای طرف ارسال می کند .
  • message_id :‌آیدی مسیج مورد نظر که قصد forward کردن آن را دارید
 <?php
$token='توکن مورد نظر شما';
$chatId='آی دی کاربر یا گروه یا کانال مورد نظر';
$text='متن پیغام مورد نظر';
$forwardResponseUrl = 'https://api.telegram.org/bot'.$token . '/forwardMessage?chat_id='.$chatId.'&from_chat_id='.$chatId.'&message_id=800';

file_get_contents($forwardResponseUrl);
 

در کد بالا ما متدمان را forwardMessage قرار دادیم و chat_id و from_chat_id را یکسان قرار دادیم برای اینکه می خواستم یکی از پیغام های خودم را که آیدی آن ۸۰۰ است را برای خودم forward  کنم . شما می توانید درfrom_chat_id آیدی گروه یا شخص مورد نظر را بزنید تا پیغام برای او forward شود .

متد sendPhoto

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

  • chat_id :‌آیدی شخص یا گروهی که می خواهین پیغام برای آن forward شود .به جای آیدی از یوزرنیم به صورت channelusername@ استفاده کنید.
  • photo :‌عکسی که قصد ارسال آن را دارید . اگر این عکس قبلا در سرورهای تلگرام (Telegram)ذخیره شده می توانید آیدی آن را ارسال کنید و یا آن را دوباره آپلود نمایید .
  • caption :‌ می توانید برای عکس هایی که قبلن آپلود شده وfile_id آن را دارید یک عنوان یاcaption قرار دهید . این عنوان می تواند ببین0-200 کاراکتر باشد.
  • disable_notification :‌اگر true باشد پیغام را به صورت Silent و بدون notification برای طرف ارسال می کند .
  • reply_to_message_id :‌ اگر می خواهید عکسی که ارسال می کنید در جواب یک message دیگر باشد , آیدی آن را با استفاده از این پارامتر مشخص می کنید .
  • reply_markup : این پارامتر برای اضافه کردن کیبورد دلخواه به ربات می باشد که کاربر با استفاده از این کیبورد و کلیدهای که ما ایجاد کردیم قادر به ارتباط به ربات باشد

متد  sendAudio

این متد برای ارسال فایل های صوتی (audio files) می باشد  . اگر می خواهید فایل ها در تلگرام کاربر پخش شود باید نوع آن Mp3‌باشد . در حال حاضر فایل صوتی می تواند تا حجم 50 MB باشد و ممکن است این محدودیت بعدن تغییر کند.

  • chat_id :‌آیدی شخص یا گروهی که می خواهین پیغام برای آن forward شود .به جای آیدی از یوزرنیم به صورت channelusername@ استفاده کنید.
  • audio :‌فایل صوتی  که قصد ارسال آن را دارید . اگر این فایل قبلا در سرورهای تلگرام ذخیره شده می توانید آیدی (file_id ) آن را ارسال کنید و یا آن را دوباره آپلود نمایید
  • duration :‌مدت زمان فایل صوتی به ثانیه
  • performer :‌سازنده
  • title :‌نام ترک
  • disable_notification :‌اگر true باشد پیغام را به صورت Silent و بدون notification برای طرف ارسال می کند .
  • reply_to_message_id :‌ اگر می خواهید فایل صوتی  که ارسال می کنید در جواب یک message دیگر باشد , آیدی آن را با استفاده از این پارامتر مشخص می کنید .
  • reply_markup : این پارامتر برای اضافه کردن کیبورد دلخواه به ربات می باشد که کاربر با استفاده از این کیبورد و کلیدهای که ما ایجاد کردیم قادر به ارتباط به ربات باشد.

متد sendDocument

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

پارامترهای این متد دقیقا مانند پارامترهای قبلی است که توضیح داده شده .

متد sendSticker

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

  • sticker :‌ استیکر مورد نظر است که می خواهید ارسال کنید . اگر این عکس قبلا در سرورهای تلگرام  (Telegram) ذخیره شده می توانید آیدی آن را ارسال کنید و یا آن را دوباره آپلود نمایید .
  • chat_id :‌آیدی شخص یا گروهی که می خواهین پیغام برای آن forward شود .به جای آیدی از یوزرنیم به صورت channelusername@ استفاده کنید.
  • disable_notification :‌اگر true باشد پیغام را به صورت Silent و بدون notification برای طرف ارسال می کند .
  • reply_to_message_id :‌ اگر می خواهید فایل صوتی که ارسال می کنید در جواب یک message دیگر باشد , آیدی آن را با استفاده از این پارامتر مشخص می کنید .
  • reply_markup : این پارامتر برای اضافه کردن کیبورد دلخواه به ربات می باشد که کاربر با استفاده از این کیبورد و کلیدهای که ما ایجاد کردیم قادر به ارتباط به ربات باشد.

متد  sendVideo

از این متد می توانید برای ارسال فایل های ویدیویی استفاده کنید .فعلا تلگرام  (Telegram)  از فایل های ویدیویی با پسوند mp4 پشتیبانی می کند و حداکثر حجم آنها می تواند ۵۰ مگابایت باشد.

  • chat_id :‌آیدی شخص یا گروهی که می خواهین پیغام برای آن forward شود .به جای آیدی از یوزرنیم به صورت channelusername@ استفاده کنید.
  • video :‌فایل ویدیویی  که قصد ارسال آن را دارید . اگر این فایل قبلا در سرورهای تلگرام ذخیره شده می توانید آیدی (file_id ) آن را ارسال کنید و یا آن را دوباره آپلود نمایید
  • duration :‌مدت زمان فایل ویدیویی به ثانیه
  • width :‌width فایل ویدیویی مورد نظر
  • height : height فایل ویدیویی مورد نظر
  • title :‌نام ترک
  • disable_notification :‌اگر true باشد پیغام را به صورت Silent و بدون notification برای طرف ارسال می کند .
  • reply_to_message_id :‌ اگر می خواهید فایل صوتی  که ارسال می کنید در جواب یک message دیگر باشد , آیدی آن را با استفاده از این پارامتر مشخص می کنید .
  • reply_markup : این پارامتر برای اضافه کردن کیبورد دلخواه به ربات می باشد که کاربر با استفاده از این کیبورد و کلیدهای که ما ایجاد کردیم قادر به ارتباط به ربات باشد.

متد sendVoice 

این متد هم برای ارسال فایل های صوتی (audio files )‌ می باشد . در واقع فایل هایی مد نظر هست که با گوشی ضبط شده و برای کاربر ارسال می کنیم .

توضیحات و پارامترهای این متد هم مانند متد sendAudio می باشد که بالاتر توضیح داده شده است .

متد sendLocation

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

  • chat_id :‌آیدی شخص یا گروهی که می خواهین پیغام برای آن forward شود .به جای آیدی از یوزرنیم به صورت channelusername@ استفاده کنید.
  • latitude :‌ عرض جغرافیایی مورد نظر
  • longitude :‌طول جغرافیایی مورد نظر
  • disable_notification :‌اگر true باشد پیغام را به صورت Silent و بدون notification برای طرف ارسال می کند .
  • reply_to_message_id :‌ اگر می خواهید فایل صوتی  که ارسال می کنید در جواب یک message دیگر باشد , آیدی آن را با استفاده از این پارامتر مشخص می کنید .
  • reply_markup : این پارامتر برای اضافه کردن کیبورد دلخواه به ربات می باشد که کاربر با استفاده از این کیبورد و کلیدهای که ما ایجاد کردیم قادر به ارتباط به ربات باشد.

منبع

0 0
سلام چه جوری میتوانم این دستورات را با پردازش موازی ست کرد؟مثل asyncدر سی شارپ (8 سال پیش)
0 0
سلام اگه میشه بگید چطوری کیبورد بات را راهاندازی کنیم (7 سال پیش)

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