یکی از مواردی که خیلی وقتها باعث شفافیت بیشتر میشه پاسخ به متنی هستش که کاربر توی ربات یا توی یه گروه ارسال میکنه. مثلا فرض کنید در یک گروه تلگرامی دستوری مثل /jok تعریف کردید که یک جوک رندم به کاربری که این دستور رو ارسال کرده نشون میده و توی گروه میفرسته؛ در اینچنین حالتهایی بهتر هست که ما اون فردی که دستور رو ارسال کرده ریپلای بکنیم؛ یعنی دقیق زیر متن ارسالی خودش پاسخش رو هم ارسال بکنیم. توی این آموزش به این موضوع میپردازیم.
برای ریپلای کردن متن ارسال شده توسط کاربر، دقیقا مثل ارسال یک متن ساده باید عمل کرد؛ یعنی با استفاده از تابع sendMessage. فقط تنها تفاوتش اضافه شدن یک پارامتر جدید با نام reply_to_message_idه که آیدی پیام ارسالی کاربر هستش. به کد زیر توجه کنید:
if($text == "/jok") {
$jokes = ['jok1','jok 2', 'jok 3'];
$random_joke = $jokes[mt_rand(0,count($jokes)-1)];
$content = array('chat_id' => $chat_id, 'reply_to_message_id' => $message_id, 'text' => $random_joke);
$telegram->sendMessage($content);
}
کد بالا به صورت رندم (تصادفی) یکی از خانه های آرایه $jokes رو برای هر کاربری که دستور /joke رو ارسال میکنه ریپلای خواهد کرد. کدهای کامل در کانال تلگرامی.
فرض شده شما آموزشهای قبلی رو مطالعه کردید. اگر اینچنین نیست لطفا از اینجا شروع کنید