توضیحات
جنس Result برای پاسخ به اینلاین استفاده می شود
شما در تابع answer نیاز به نتایج دارید، بنا بر این باید آرایه از از این جنس درست کنید و آن را قرار دهید
توجه کنید که Result یک کلاس نیست و فقط یک فرمت برای مقدار دهی آرایه است
شروع مقدار دهی
مقدار نتیجه شما یک آرایه است که شامل کلید های ثابت و مقدار های متفاوت است
برای شروع یک نتیجه را به این شکل تعریف می کنیم:
$result = [
//...
];
حالا باید کلید ها و مقدار ها را وارد کنیم، به عنوان مثال:
$result = [
'title' => 'Title',
'msg' => [
'text' => 'Text'
]
];
اگر می خواهید نتایج را در پاسخ به اینلاین بگذارید، باید آرایه از این جنس درست کنید.
اگر یک مقدار دارید:
$results = [$result];
$results = [
[
'title' => 'Title',
'msg' => [
'text' => 'Text'
]
]
];
و اگر چندین نتیجه دارید نیز باید همه را در این آرایه قرار دهید:
$results = [$result1, $result2, $result3];
$results = [
[
'title' => 'Title',
'msg' => [
'text' => 'Text'
]
],
[
'title' => 'Title2',
'msg' => [
'text' => 'Text2'
]
],
[
'title' => 'Title3',
'msg' => [
'text' => 'Text3'
]
]
];
کلید های مشترک
کلید هایی که بین همه ی نتیجه ها مشترک است، id، title، des، msg و thumb می باشند
$result = [
'id' => 'شناسه - اختیاری',
'title' => 'عنوان',
'des' => 'توضیحات - اختیاری',
'msg' => [/* اطلاعات پیام */],
'thumb' => 'تصویر کوچک - اختیاری'
];
نتیجه متنی
برای اینکه یک نتیجه متنی را بسازید علاوه بر کلید های مشترک، حداقل به یک text در msg نیاز دارید
$result = [
'title' => 'عنوان',
'msg' => [
'text' => 'متن پیام اصلی'
]
];
همچنین می توانید در msg دیگر اطلاعات مانند مد متن، کلید ها و پیش نمایش وب را تعیین کنید:
$result = [
'title' => 'عنوان',
'msg' => [
'text' => 'متن پیام اصلی'
'mode' => 'HTML',
'key' => [[['text' => 'کلید', 'data' => 'demo']]],
'disWebPre' => true
]
];
نتیجه تصویر
برای اینکه یک نتیجه تصویر را بسازید علاوه بر کلید های مشترک، حداقل به یک photo نیاز دارید
$result = [
'title' => 'عنوان',
'photo' => 'https://domain.com/image.png'
];
در این قسمت، thumb به صورت خودکار با لینک شما پر می شود، اما شما می توانید thumb را خودتان تنظیم کنید:
$result = [
'title' => 'عنوان',
'photo' => 'https://domain.com/image.png',
'thumb' => 'https://domain.com/image-thumb.png'
];
شما می توانید کلید msg را هم برای کپشن و کلید و ... دادن به عکس نهایی وارد کنید:
$result = [
'title' => 'عنوان',
'photo' => 'https://domain.com/image.png',
'msg' => [
'text' => 'کپشن پیام اصلی'
]
];
نتیجه تصویر با شناسه
این نیز مانند نتیجه تصویر با لینک می باشد، با این تفاوت که شما دیگر قادر به تنظیم thumb نیستید
$result = [
'title' => 'عنوان',
'photo' => $photoID,
'msg' => [
'text' => 'کپشن پیام اصلی'
]
];
دیگر
شما می توانید گیف، ویدیو، ویس، فایل صوتی و فایل را نیز مانند تصویر نمایش دهید
$result = [
'title' => 'عنوان',
'gif' => $fileID
];
$result = [
'title' => 'عنوان',
'video' => $fileID
];
$result = [
'title' => 'عنوان',
'voice' => $fileID
];
$result = [
'title' => 'عنوان',
'audio' => $fileID
];
$result = [
'title' => 'عنوان',
'doc' => $fileID
];
همچنین می توانید بجای شناسه، از لینک نیز استفاده کنید
اگر از لینک برای ویدیو یا گیف استفاده می کنید، باید thumb را هم تعریف کنید:
$result = [
'title' => 'عنوان',
'video' => 'https://domain.com/video.mp4',
'thumb' => 'https://domain.com/thumb.jpeg''
];
شما می توانید کلید msg را هم برای کپشن و کلید و ... دادن به عکس نهایی وارد کنید:
$result = [
'title' => 'عنوان',
'photo' => 'https://domain.com/image.png',
'msg' => [
'text' => 'کپشن پیام اصلی'
]
];
نتایج
در آخر یاد آوری می کنیم که این گزینه ها نتیجه هستند و شما باید برای نمایش نتایج، آرایه ای از نتیجه داشته باشید
$res1 = [
'title' => 'عنوان',
'msg' => ['text' => 'Text']
];
$res2 = [
'title' => 'عنوان',
'gif' => $fileID
];
$results = [$res1, $res2];
$inline->answer($results);
یا
$inline->answer([
[
'title' => 'عنوان',
'msg' => ['text' => 'Text']
],
[
'title' => 'عنوان',
'gif' => $fileID
]
]);