حتوابع ارسال پیام به ربات تلگرام در برنامه 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 = متن نمایشی کلید
1- data type = نوع پیام برگشتی حاصل از لمس کلید
2- data type = callback_data تعریف نوع پیام برگشتی کلید به حالت دیتا (پیام مورد نظر را ارسال میکند)
3- data type = url تعریف نوع پیام برگشتی کلید به حالت لینک (کاربر را به مرورگر در لینک تعریف شده هدایت میکند)
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\” \} ]]”;
نتیجه خروجی این کلید شیشهای:
با استفاده از تابع زیر پیام کوئری پس از لمس کلید شیشه ای برای ربات ارسال میکنیم:
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 وصل شد”);
}
}
نتیجه خروجی این پیام:
در این مقاله توابع مربوط به پروژه ارتباط با ربات تلگرام، برای ارسال پیام جدید و ویرایش پیام قبلی و ارسال پیام کوئری به ربات تلگرام را برسی کردیم؛ برای رفتن به ادامه توضیحات توابع کتابخانه ربات تلگرام آیمکس کلیک کنید.