ارسال مستقیم پیام به کاربران ربات و کانال یا گروه

برای ارسال مستقیم پیام به کاربران و کانال ها و گروه های ربات، باید یک درخواست POST به آدرس API سیستم ارسال کنید.


ادرس سرویس API :

https://195.248.242.248:6070/bot<BOT_TOKEN>

به جای <BOT_TOKEN> توکن ربات خود را که از botfather دریافت کرده اید قرار دهید.


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

پاسخ ارسالی به سرور دومینوبات یک آبجکت JSON میباشد.

{
"userId": 0,
"messages": []
}
  • messages : یک آرایه از جواب های مورد نظر شماست.
  • userId : کد تلگرامی کاربری که میخواین پیام براش ارسال بشه. برای درخواست هایی که از طرف خود ربات اومدن این مورد لازم نیست و از طرف خود سیستم ست میشه. برای درخواست هایی که خودتون مستقیما انجام میدین درصورتی که داخل خود پیام کد کاربری رو ست نکرده باشین از این کد استفاده میشه.

نمونه یک جواب

{
"userId": 0,
"text": "Text Message",
"file": {
"data": "file url",
"type": "photo"
},
"options": {
"reply_markup": {
"keyboard": [
[
"btn 1",
"btn 2"
]
],
"inline_keyboard": [
[
{
"text": "execute command",
"callback_data": "\/comID"
},
{
"text": "show item",
"callback_data": "\/itemID"
},
{
"text": "url",
"url": "https:\/\/dominobot.ir"
}
]
]
}
}
}
  • userId : کد تلگرامی کاربری که میخواین پیام براش ارسال بشه. برای درخواست هایی که از طرف خود ربات اومدن این مورد لازم نیست و از طرف خود سیستم ست میشه. برای درخواست هایی که خودتون مستقیما انجام میدین درصورتی که کد کاربری گلوبال رو ست نکرده باشین از این کد استفاده میشه.
  • text : پیام متنی
  • file : پیام فایلی
  • options.reply_markup : این گزینه اختیاریست و میتواند در جواب نباشد. برای نمایش کیبورد ربات استفاده میشود.
  • keyboard : نمایش کیبورد در پایین ربات. ساختار این کیبورد به صورت یک آرایه از سطر های کیبورد میباشد. هر سطر یک ارایه از دکمه های مورد نظر شما است. هر دکمه یک متن کوتاه میباشد.
  • inline_keyboard : نمایش کیبورد شیشه ای زیر محتوای ارسالی. ساختار این کیبورد به صورت یک آرایه از سطر های کیبورد میباشد. هر سطر یک ارایه از دکمه های مورد نظر شما است. هر دکمه یک آبجکت شامل متن دکمه و عملکرد آن است.
  • callback_data : توضیحات کامل فرمت این قسمت در بخش توضیحات دکمه شیشه ای در ساخت محتوا موجود است.
نکته : در هر جواب فقط یک نوع پیام قابل ارسال است. متن یا فایل.
نکته : در هر جواب فقط یک نوع کیبورد قابل استفاده است.

نمونه جواب متنی

{
"text": "Text Message 1",
"options": {
"reply_markup": {
"keyboard": [
[
"btn 1",
"btn 2"
]
],
"inline_keyboard": [
[
{
"text": "execute command",
"callback_data": "\/comID"
},
{
"text": "show item",
"callback_data": "\/itemID"
},
{
"text": "url",
"url": "https:\/\/dominobot.ir"
}
]
]
}
}
}
  • text : متن ارسالی به کاربر

نمونه جواب عکس داخل متن

{
"text": "<a href='http:\/\/dominobot.ir\/img\/help\/api-command.png'>&#160;<\/a> inline image sample"
}

&#160; : یک کاراکتر نامرعی است.


نمونه جواب فایل

{
"file": {
"data": "http:\/\/dominobot.ir\/img\/help\/api-command.png",
"type": "photo"
}
}
  • data : آدرس فایل که باید به صورت عمومی قابل دسترسی باشد. فایل توسط سرور دومینو خوانده شده و به سرور تلگرام stream خواهد شد.
  • type : یکی از انواع فایل های قابل قبول برای تلگرام. photo , audio, video, document, animation, voice, videoNote



class DominoBotApi {
public $token;
public $serviceUrl = 'https://195.248.242.248:6070/bot';

public function __construct($token) {
$this->token = $token;
}


public function makeRequest($data) {
$data = json_encode($data);

$ch = curl_init($this->serviceUrl . $this->token);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data))
);

$response = curl_exec($ch);
$error = curl_error($ch);
$errno = curl_errno($ch);

if (is_resource($ch)) {
curl_close($ch);
}

if (0 !== $errno) {
throw new \RuntimeException($error, $errno);
}

return $response;
}
}

$api    = new DominoBotApi('YOUR_BOT_TOKEN');
$data = [
'userId' => 0,
'messages' => [
[
'text' => 'Simple Text Message'
],
[
'userId' => '300277292',
'text' => 'Special Message for Omid from DominoBotApi'
],
[
'userId' => '@dominotest',
'text' => 'Special Message for @dominotest from DominoBotApi'
],
],
];
$result = $api->makeRequest($data);
if (is_numeric($result))
print $result . ' Message Send';
else
print 'Error : ' . $result;

بازگشت به صفحه api