توابع ارسال پیام به ربات تلگرام در برنامه NodeMCU

در کتابخانه ربات تلگرام آیمکس به طور کلی 3 تابع برای ارسال و ویرایش پیام به ربات تلگرام داریم.

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

ارسال پیام همراه با کلید شیشه ای

Bot.sendMessage(sender_id, Intor, keyboardJson);

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

Bot.sendMessage(sender_id, Intor);

پارامتر های تابع ارسال پیام:

sender_id = آیدی فرستنده که قبلا از طریق حلقه وقفه دریافت پیام، ذخیره شده است

تابع وقفه برای دریافت پیام از ربات تلگرام را ببینید.

Intor =

متن پیام ارسالی که باید از نوع (String) باشد.

keyboardJson =

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

 

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

String Intor = “خانه هوشمند \n\
این ربات توسط آیمکس برنامه ریزی و راه اندازی شده است \n\
از منوی زیر یکی از کلید ها را انتخاب کنید.”;

String keyboard_status = “[[\{ \”text\” : \”آخرین وضعیت ⚠️\”, \”callback_data\” : \”status\” \} ]]” ;

Bot.sendMessage(sender_id, Intor, keyboard_status);

نتیجه خروجی این پیام:

نمونه برنامه ارسال به ربات تلگرام

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

ویرایش پیام را با تابع زیر انجام دهید.

Bot.EditMessage(mgs_id, sender_id, Intor, keyboardJson);

پارامتر های تابع ویرایش پیام:

mgs_id = آیدی پیام مورد نظر که از طریق حلقه وقفه دریافت پیام، ذخیره شده است

sender_id = آیدی فرستنده که قبلا از طریق حلقه وقفه دریافت پیام، ذخیره شده است

تابع وقفه برای دریافت پیام از ربات تلگرام را ببینید.

Intor =

متن پیام ارسالی که باید از نوع (String) باشد.

keyboardJson =

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

 

اصوال نوشتن رشته String برای ساخت کلید شیشه ای:

“[[\{ \”text\” : \”display text\”, \”data type\” : \”msg\” \} ]]”

text = تعریف متن نمایشی کلید به حالت نوشته

display text = متن نمایشی کلید

data type = نوع پیام برگشتی حاصل از لمس کلید

data type = callback_data تعریف نوع پیام برگشتی کلید به حالت دیتا (پیام مورد نظر را ارسال میکند)

data typeurl تعریف نوع پیام برگشتی کلید به حالت لینک (کاربر را به مرورگر در لینک تعریف شده هدایت میکند)

msg = پیام مورد نظر که قصد داریم هنگام لمس کلید به نوع تعریف شده برگشت داده شود (میتوانید یک متن یا لینک باشد)

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

“[[\{ \”text\” : \”display text\”, \”data type\” : \”msg\” \}  , { \”text\” : \”display text\”, \”data type\” : \”msg\” \}]]”

با استفاده از تابع زیر دو کلید شیشه ای زیر یکدیگر داریم:

“[[\{ \”text\” : \”display text\”, \”data type\” : \”msg\” \} ],”
  “[\{ \”text\” : \”display text\”, \”data type\” : \”msg\” \} ]]”

نمونه رشته String برای 5 کلید شیشه:

String keyboardJson =”[[\{ \”text\” : \”آخرین وضعیت ⚠️\”, \”callback_data\” : \”status\” \} ],”
“[\{ \”text\” : \”خروجی 1\”, \”callback_data\” : \”get1\” \} , { \”text\” : \”خروجی 2\”, \”callback_data\” : \”get2\” \} ],”
“[\{ \”text\” : \”خروجی 3\”, \”callback_data\” : \”get3\” \} , { \”text\” : \”خروجی 4\”, \”callback_data\” : \”get4\” \} ]]”;

نتیجه خروجی این کلید شیشه ای:

نمونه پیام 5 کلید شیشه ای

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

Bot.answerCallbackQuery(Call_ID , text);

Call_ID = آیدی کلید شیشه ای که از طریق حلقه وقفه دریافت پیام، ذخیره شده است

تابع وقفه برای دریافت پیام از ربات تلگرام را ببینید.

text =

متن پیام ارسالی از نوع کوئری که باید از نوع (String) باشد.

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

if (msg == “get1”)
    {
    if (digitalRead(OUT1))
       {
       digitalWrite(OUT1, false);
       Bot.answerCallbackQuery(Call_ID, “خروجی 1 قطع شد”);
       }
    else
       {
       digitalWrite(OUT1, true);
       Bot.answerCallbackQuery(Call_ID, “خروجی 1 وصل شد”);
       }
    }

نتیجه خروجی این پیام:

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

در این مقاله توابع مربوط به پروژه ارتباط با ربات تلگرام، برای ارسال پیام جدید و ویرایش پیام قبلی و ارسال پیام کوئری به ربات تلگرام را برسی کردیم؛ برای رفتن به ادامه توضیحات توابع کتابخانه ربات تلگرام آیمکس کلیک کنید.

 

میلاد نیک پندار

دیدگاهتان را بنویسید

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