PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : ذخیره اطلاعات در آرایه



saeed.spore
July 24th, 2016, 15:17
سلام دوستان میخوام حلقه ای را بسازم که با هر بار تکرار حلقه یک آرایه ایجاد کنه ای کار شدنی هست ؟!!
و اینکه چطور اطلاعات که در حلقه درست میشه به داخل اون آرایه ساخته شده بریزه ؟!!

T.Toosi
July 24th, 2016, 15:24
سلام، چندتا key میخواید وارد یک آرایه بکنید ؟


$test = [];
$value = ['a','b'];
foreach ($value as $k) {

$test[] = $k;

}
print_r($test);


خروجی :


Array
(
[0] => a
[1] => b
)

saeed.spore
July 24th, 2016, 15:42
سلام، چندتا key میخواید وارد یک آرایه بکنید ؟


$test = [];
$value = ['a','b'];
foreach ($value as $k) {

$test[] = $k;

}
print_r($test);


خروجی :


Array
(
[0] => a
[1] => b
)
سلام استاد ممنون خوبه ولی ببینید من میخوام یک کاری کنم
به این شکر آرایه ایجاد کنم




array(
array('test71'),

array('test...'),

array('test3'),

array('test2'),

array('test1'),




),

T.Toosi
July 24th, 2016, 16:37
در واقع آرایه ساخته شده در کدی که قرار دادم در آخر به صورت زیر میشود :


['a','b']

اما موقع پرینت خودش key اضافه میکند، حالا شما به صورت زیر عمل کنید :


$test[] = [$k];

آرایه ساخته شده به شکل زیر میشود :



[
[a],
[b],
]

saeed.spore
July 24th, 2016, 19:20
در واقع آرایه ساخته شده در کدی که قرار دادم در آخر به صورت زیر میشود :


['a','b']

اما موقع پرینت خودش key اضافه میکند، حالا شما به صورت زیر عمل کنید :


$test[] = [$k];

آرایه ساخته شده به شکل زیر میشود :



[
[a],
[b],
]

یه دنیا ممنونم ازت داداش ولی ببین من این را برای کیبورد ربات میخواست استفاده کنم .
طرف سرچ کرد محسن چاوشی میخوام اون api که در تاپیک قبلی بهم کمک کردی تمام اطلاعات را داخل کیورد اینجا بریزه مثلا سطر به سطر
ببین الان این فقط به من مثلا C ارسال میکنه
یعنی آخرین چیزی که نتیجه گیری کرده را برای کاربر ارسال میکنه
32614

omid1991
July 24th, 2016, 20:51
یه دنیا ممنونم ازت داداش ولی ببین من این را برای کیبورد ربات میخواست استفاده کنم .
طرف سرچ کرد محسن چاوشی میخوام اون api که در تاپیک قبلی بهم کمک کردی تمام اطلاعات را داخل کیورد اینجا بریزه مثلا سطر به سطر
ببین الان این فقط به من مثلا C ارسال میکنه
یعنی آخرین چیزی که نتیجه گیری کرده را برای کاربر ارسال میکنه
32614
سلام وقت بخیر

برای ساخت کیبورد در ربات بهتره آموزش سایت زیر رو مطالعه فرمایید.
http://irazasyed.github.io/telegram-bot-sdk/usage/keyboards/

saeed.spore
July 24th, 2016, 22:30
سلام وقت بخیر

برای ساخت کیبورد در ربات بهتره آموزش سایت زیر رو مطالعه فرمایید.
http://irazasyed.github.io/telegram-bot-sdk/usage/keyboards/
ممنون داداش خوب بود ولی من خودم نوشتم کیبورد را میخوام مثلا برای هر آهنگ از خواننده یک کلید بسازم که با زدنش اون آهنگ را نمایش بدم تو رباتم

saeed.spore
July 24th, 2016, 23:35
8-| -------

Rezash
July 24th, 2016, 23:41
سلام
پیشنهاد میکنم از این برنامه استفاده کنید :
https://github.com/akalongman/php-telegram-bot
خیلی کامله و کد نویسی رو به حداقل میرسونه
نمونه چند کیبورد :


<?php
/**
* This file is part of the TelegramBot package.
*
* (c) Avtandil Kikabidze aka LONGMAN <akalongman@gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Longman\TelegramBot\Commands\UserCommands;
use Longman\TelegramBot\Commands\UserCommand;
use Longman\TelegramBot\Request;
use Longman\TelegramBot\Entities\ReplyKeyboardMarkup;
/**
* User "/keyboard" command
*/
class KeyboardCommand extends UserCommand
{
/**#@+
* {@inheritdoc}
*/
protected $name = 'keyboard';
protected $description = 'Show a custom keybord with reply markup';
protected $usage = '/keyboard';
protected $version = '0.0.6';
/**#@-*/
/**
* {@inheritdoc}
*/
public function execute()
{
$message = $this->getMessage();
$chat_id = $message->getChat()->getId();
$text = $message->getText(true);
$data = [];
$data['chat_id'] = $chat_id;
$data['text'] = 'Press a Button:';
//Keyboard examples
$keyboards = [];
//0
$keyboard[] = ['7','8','9'];
$keyboard[] = ['4','5','6'];
$keyboard[] = ['1','2','3'];
$keyboard[] = [' ','0',' '];
$keyboards[] = $keyboard;
unset($keyboard);
//1
$keyboard[] = ['7','8','9','+'];
$keyboard[] = ['4','5','6','-'];
$keyboard[] = ['1','2','3','*'];
$keyboard[] = [' ','0',' ','/'];
$keyboards[] = $keyboard;
unset($keyboard);
//2
$keyboard[] = ['A'];
$keyboard[] = ['B'];
$keyboard[] = ['C'];
$keyboards[] = $keyboard;
unset($keyboard);
//3
$keyboard[] = ['A'];
$keyboard[] = ['B'];
$keyboard[] = ['C','D'];
$keyboards[] = $keyboard;
unset($keyboard);
//4 (bots 2.0)
$keyboard[] = [
[
'text' => 'request_contact',
'request_contact' => true
],
[
'text' => 'request_location',
'request_location' => true
]
];
$keyboards[] = $keyboard;
unset($keyboard);
$data['reply_markup'] = new ReplyKeyboardMarkup(
[
'keyboard' => $keyboards[1] ,
'resize_keyboard' => true,
'one_time_keyboard' => false,
'selective' => false
]
);
return Request::sendMessage($data);
}
}

saeed.spore
July 25th, 2016, 12:23
سلام
پیشنهاد میکنم از این برنامه استفاده کنید :
https://github.com/akalongman/php-telegram-bot
خیلی کامله و کد نویسی رو به حداقل میرسونه
نمونه چند کیبورد :


<?php
/**
* This file is part of the TelegramBot package.
*
* (c) Avtandil Kikabidze aka LONGMAN <akalongman@gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Longman\TelegramBot\Commands\UserCommands;
use Longman\TelegramBot\Commands\UserCommand;
use Longman\TelegramBot\Request;
use Longman\TelegramBot\Entities\ReplyKeyboardMarkup;
/**
* User "/keyboard" command
*/
class KeyboardCommand extends UserCommand
{
/**#@+
* {@inheritdoc}
*/
protected $name = 'keyboard';
protected $description = 'Show a custom keybord with reply markup';
protected $usage = '/keyboard';
protected $version = '0.0.6';
/**#@-*/
/**
* {@inheritdoc}
*/
public function execute()
{
$message = $this->getMessage();
$chat_id = $message->getChat()->getId();
$text = $message->getText(true);
$data = [];
$data['chat_id'] = $chat_id;
$data['text'] = 'Press a Button:';
//Keyboard examples
$keyboards = [];
//0
$keyboard[] = ['7','8','9'];
$keyboard[] = ['4','5','6'];
$keyboard[] = ['1','2','3'];
$keyboard[] = [' ','0',' '];
$keyboards[] = $keyboard;
unset($keyboard);
//1
$keyboard[] = ['7','8','9','+'];
$keyboard[] = ['4','5','6','-'];
$keyboard[] = ['1','2','3','*'];
$keyboard[] = [' ','0',' ','/'];
$keyboards[] = $keyboard;
unset($keyboard);
//2
$keyboard[] = ['A'];
$keyboard[] = ['B'];
$keyboard[] = ['C'];
$keyboards[] = $keyboard;
unset($keyboard);
//3
$keyboard[] = ['A'];
$keyboard[] = ['B'];
$keyboard[] = ['C','D'];
$keyboards[] = $keyboard;
unset($keyboard);
//4 (bots 2.0)
$keyboard[] = [
[
'text' => 'request_contact',
'request_contact' => true
],
[
'text' => 'request_location',
'request_location' => true
]
];
$keyboards[] = $keyboard;
unset($keyboard);
$data['reply_markup'] = new ReplyKeyboardMarkup(
[
'keyboard' => $keyboards[1] ,
'resize_keyboard' => true,
'one_time_keyboard' => false,
'selective' => false
]
);
return Request::sendMessage($data);
}
}

آراه داداش ولی من میخوام اصلا یک چیزی ساخته باشم که بعد بتونم با این اسکریپت ادقام کنم

T.Toosi
July 25th, 2016, 12:51
یک مثال ساده برای ساخت کیبورد با حلقه نوشتم شاید کمکت کنه، الان 2 تا button با نام های a و b درست میکنه که هر button در یک سطر هست، که با توجه به صحبت های چند پست قبلت اگر نتایج جستجوی را در آرایه $find بریزید مشکلتون حل میشه.


$find = ['a','b'];
$kyboard = [];

foreach ($find as $s) {
$kyboard[] = [$s];
}

HTTPRequest('sendMessage',[
'chat_id' => $userid,
'text' => 'test',
'reply_markup' => json_encode(['keyboard'=>$kyboard])
]);

saeed.spore
July 25th, 2016, 13:00
من به این شکل نوشتم ولی جواب نگرفتم
آخرین را نمایش میداد

$test = [];
$value = ['a','b','c'];
foreach ($value as $k) {
$keyboard = array(
'keyboard' => array(
array('آخرین موزیک ها'),

$test[$i] = [$k]

),
'resize_keyboard' => true

);
$i++;
}

T.Toosi
July 25th, 2016, 13:04
من به این شکل نوشتم ولی جواب نگرفتم
آخرین را نمایش میداد

اشتباهه.

شما ورودی را از کاربر بگیر ، نتایج جستجوی را در یک آرایه بریز به صورت ['a',b','c'] سپس از کد بالا که نوشتم استفاده کنید وی کیبورد را بسازید.

saeed.spore
July 25th, 2016, 13:28
اشتباهه.

شما ورودی را از کاربر بگیر ، نتایج جستجوی را در یک آرایه بریز به صورت ['a',b','c'] سپس از کد بالا که نوشتم استفاده کنید وی کیبورد را بسازید.

شرمنده استاد عصبی نشی
من تازه php را شروع کردم
من منظورت
HTTPRequest را نفهمیدم
من آخه اول برای اینکه یک دکمه ساده بسازم اینطوری نوشتم




$keyboard = array(
'keyboard' => array(
array('آخرین موزیک ها','test'),

),
'resize_keyboard' => true

);
file_get_contents($url.'sendMessage?chat_id='.$dat a->message->chat->id.'&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup='.json_encode($keyboard));



حالا این چیزی که شما نوشتینا نفهمیدم
فهمیدم تا جایی که میگید نتیجه جستجو را باید بگیریم
اما این قسمت را که میخواد چطوری اطلاعات را به تلگرام ارسال کنه الان من همین کد را کپی / پست کردم ولی هیچ عملکردی نداشت

T.Toosi
July 25th, 2016, 13:31
شما اگر کل کد یا دسترسی بفرستید راحتر میشه راهنمایی کرد.

saeed.spore
July 25th, 2016, 13:41
شما اگر کل کد یا دسترسی بفرستید راحتر میشه راهنمایی کرد.


<?php
$url = "https://api.telegram.org/bot<tokenbot>/";
$getfile = "https://api.telegram.org/file/bot<tokenbot>/";












$data = json_decode(file_get_contents("php://input"));
if($data->message->text =="/start"){



$keyboard = array(
'keyboard' => array(
array('آخرین موزیک ها','test'),

),
'resize_keyboard' => true

);
file_get_contents($url.'sendMessage?chat_id='.$dat a->message->chat->id.'&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup='.json_encode($keyboard));




}

?>

من اینطوری نوشتم

T.Toosi
July 25th, 2016, 13:53
خب الان کد بالا مشکلی نیست و باید 2 تا Button بسازه، حالا من فرض این میگرم شما یک حلقه داری که نتایج جستجوی را داخل حلقه میریزیم :


$fin = array('chavoshi','yegane');
$kyb = array();
foreach ($find as $s) {
$kyb[] = $s;
}


(در بالا کار بیهوده ای کردیم اما برفرض تاپیک های قبلی شما که فکر کنم از url میخواید json بگیرید و .. به روش بالا باید نتایج را در یک آرایه بریزید)

ساخت کیبورد و ارسال هم به صورت زیر میشود :


$keyboard = array(
'keyboard' => array($kyb),
'resize_keyboard' => true
);

file_get_contents($url.'sendMessage?chat_id='.$dat a->message->chat->id.'&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup='.json_encode($keyboard) );

saeed.spore
July 25th, 2016, 14:25
خب الان کد بالا مشکلی نیست و باید 2 تا Button بسازه، حالا من فرض این میگرم شما یک حلقه داری که نتایج جستجوی را داخل حلقه میریزیم :


$fin = array('chavoshi','yegane');
$kyb = array();
foreach ($find as $s) {
$kyb[] = $s;
}


(در بالا کار بیهوده ای کردیم اما برفرض تاپیک های قبلی شما که فکر کنم از url میخواید json بگیرید و .. به روش بالا باید نتایج را در یک آرایه بریزید)

ساخت کیبورد و ارسال هم به صورت زیر میشود :


$keyboard = array(
'keyboard' => array($kyb),
'resize_keyboard' => true
);

file_get_contents($url.'sendMessage?chat_id='.$dat a->message->chat->id.'&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup='.json_encode($keyboard) );




خیلی ممنون استاد .
منم به شکلی که شما توضیح دادید الان عمل کردم



ولی این ارور ها را داد





[25-Jul-2016 04:52:25 America/Chicago] PHP Notice: Undefined variable: find in /home/----/public_html/----/get.php on line 20
[25-Jul-2016 04:52:25 America/Chicago] PHP Warning: Invalid argument supplied for foreach() in /home/----/public_html/----/get.php on line 20
[25-Jul-2016 04:52:25 America/Chicago] PHP Warning: file_get_contents(https://api.telegram.org/bot1<token>/sendMessage?chat_id=137807115&amp;text=لطفا یکی از گزینه های زیر را انتخاب نمایید&amp;reply_markup={&quot;keyboard&quot;:[[]],&quot;resize_keyboard&quot;:true}): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
in /home/-----/public_html/----/get.php on line 28

T.Toosi
July 25th, 2016, 14:29
ادیت کنید :


$find = array('chavoshi','yegane');
$kyb = array();
foreach ($find as $s) {
$kyb[] = $s;
}

این لاین هم فاصله افتاده درستش کنید :

chat_id='.$dat a->message->chat->id


$keyboard = array(
'keyboard' => array($kyb),
'resize_keyboard' => true
);

file_get_contents($url.'sendMessage?chat_id='.$dat a->message->chat->id.'&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup='.json_encode($keyboard) );

saeed.spore
July 25th, 2016, 14:51
ادیت کنید :


$find = array('chavoshi','yegane');
$kyb = array();
foreach ($find as $s) {
$kyb[] = $s;
}

این لاین هم فاصله افتاده درستش کنید :

chat_id='.$dat a->message->chat->id


$keyboard = array(
'keyboard' => array($kyb),
'resize_keyboard' => true
);

file_get_contents($url.'sendMessage?chat_id='.$dat a->message->chat->id.'&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup='.json_encode($keyboard) );

استاد کاش بتونم تمام زحماتتا جبران کنم - یا نقدی یا یک حرکتی در کار

- - - Updated - - -


ادیت کنید :


$find = array('chavoshi','yegane');
$kyb = array();
foreach ($find as $s) {
$kyb[] = $s;
}

این لاین هم فاصله افتاده درستش کنید :

chat_id='.$dat a->message->chat->id


$keyboard = array(
'keyboard' => array($kyb),
'resize_keyboard' => true
);

file_get_contents($url.'sendMessage?chat_id='.$dat a->message->chat->id.'&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup='.json_encode($keyboard) );

خیلی معذرت میخوام شرمنده میدونم اذیتت میکنم سوالی که دارم اینه که الان این محسن چاوشی و یگانه را در یک خط نمایش میده
برای اینکه چند خطی بشه باید برای هر اسم یک آرایه تولید بشه باید
همون که گفتید
[$s] اینطوری بگذارم ؟!

T.Toosi
July 25th, 2016, 15:00
[$s] اینطوری بگذارم ؟!

آره...

saeed.spore
July 25th, 2016, 15:05
آره...

من اینطور نوشتم ولی این ارور را داد





$find = array('chavoshi','yegane');
$kyb = array();
foreach ($find as $s) {
$kyb[] = [$s];
}


$keyboard = array(
'keyboard' => array($kyb),
'resize_keyboard' => true
);

file_get_contents($url.'sendMessage?chat_id='.$dat a->message->chat->id.'&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup='.json_encode($keyboard) );

}


[25-Jul-2016 05:34:56 America/Chicago] PHP Warning: file_get_contents(https://api.telegram.org/bot<token>/sendMessage?chat_id=137807115&amp;text=لطفا یکی از گزینه های زیر را انتخاب نمایید&amp;reply_markup={&quot;keyboard&quot;:[[[&quot;chavoshi&quot;],[&quot;yegane&quot;]]],&quot;resize_keyboard&quot;:true}): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
in /home/----/public_html/--/get.php on line 33

T.Toosi
July 25th, 2016, 15:15
به این صورت تغییر بدید و امتحان کنید :


$find = array('chavoshi','yegane');
$kyb = array();
foreach ($find as $s) {
$kyb[] = [$s];
}

$keyboard = array(
'keyboard' => $kyb,
'resize_keyboard' => true
);

saeed.spore
July 25th, 2016, 16:04
به این صورت تغییر بدید و امتحان کنید :


$find = array('chavoshi','yegane');
$kyb = array();
foreach ($find as $s) {
$kyb[] = [$s];
}

$keyboard = array(
'keyboard' => $kyb,
'resize_keyboard' => true
);

خیلی ممنون حل شد

saeed.spore
July 25th, 2016, 18:29
خیلی ممنون حل شد

سلام استاد toosi

شرمنده باز رو عصاب رفتیم
خخ
آقا من برنامه را نوشتم به این حد رفتم جلو ولی وقتی الان


میخواد کیبورد را ارسال کنه برای تلگرام این ارور را میده



$url = "https://api.telegram.org/bot<token>/";













$data = json_decode(file_get_contents("php://input"));
if($data->message->text =="/start"){


ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$json = file_get_contents('http://api.soundcloud.com/users/royaloperahouse/tracks/?client_id=3a4dd5ec3c85a6611d1672d828d835ce&tags=mohsen%20chavoshi&limit=10');
$obj = json_decode($json);
$i = 0;
$x = 0;
foreach ($obj as $k) {
$value[$i] = $k->title;
$k->uri .'/stream?client_id=b1bfa6f7c0c4ed34b9ad55b0cfa34810</br>';
$i++;
}






$kyb = array();
foreach ($value as $s) {
$kyb[] = [$s];
}

$keyboard = array(
'keyboard' => $kyb,
'resize_keyboard' => true
);

file_get_contents($url.'sendMessage?chat_id='.$dat a->message->chat->id.'&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup='.json_encode($keyboard) );

}



ارور :



[25-Jul-2016 08:55:06 America/Chicago] PHP Warning: file_get_contents(https://api.telegram.org/bot<token>/sendMessage?chat_id=137807115&amp;text=لطفا یکی از گزینه های زیر را انتخاب نمایید&amp;reply_markup={&quot;keyboard&quot;:[[&quot;Mohsen Chavoshi - Hamkhaab (Shahrzad)&quot;],[&quot;\u0645\u062d\u0633\u0646 \u0686\u0627\u0648\u0634\u064a - \u0686\u0634\u0645\u0647 \u064a \u0637\u0648\u0633\u064a&quot;],[&quot;Mohsen Chavoshi - Mah Pishooni&quot;],[&quot;Persian DJ Mix 6 - DJ Borhan (part 1)&quot;],[&quot;Autumn Mix 2013&quot;],[&quot;Mohsen Chavoshi - Kojaei (Ft. Sina Sarlak)&quot;],[&quot;\u0645\u062d\u0633\u0646 \u0686\u0627\u0648\u0634\u064a - \u0622\u0644\u0628\u0648\u0645 \u067e\u0627\u0631\u0648\u064a \u0628\u064a \u0642\u0627\u064a\u0642&quot;],[&quot;Mohsen Chavoshi - Khaab&quot;],[&quot;Mohsen Chavoshi - Khodahafezi Talkh&quot;],[&quot;Mohsen Chavoshi - Divooneh&quot;]],&quot;resize_keyboard&quot;:true}): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
in /home/------/public_html/----/get.php on line 50

T.Toosi
July 25th, 2016, 19:36
$json = file_get_contents('http://api.soundcloud.com/users/royaloperahouse/tracks/?client_id=3a4dd5ec3c85a6611d1672d828d835ce&tags=mohsen%20chavoshi&limit=10');

اول چک کنید ببینید این باز میشه چون اینجا با آیپی خارجی هم نمیتونم باز کنم، echo کنید ببینید json برمیگردونه.

saeed.spore
July 25th, 2016, 19:59
$json = file_get_contents('http://api.soundcloud.com/users/royaloperahouse/tracks/?client_id=3a4dd5ec3c85a6611d1672d828d835ce&tags=mohsen%20chavoshi&limit=10');

اول چک کنید ببینید این باز میشه چون اینجا با آیپی خارجی هم نمیتونم باز کنم، echo کنید ببینید json برمیگردونه.

بله استاد
http://mobotele.ml/test/test2.php
خروجی میده


بله استاد نتیجه هم اینا میده
http://uplod.ir/ldbtp85v6e3g/soundcloud.txt.htm

تو فایل ربات که گذاشتم با آرایه ادغام کردم ولی بی فایده بود

T.Toosi
July 25th, 2016, 20:03
من دقیقا همین json که گذاشتید را قرار دادم داخل کد های خودتون و به درستی کار میکنه.

http://8pic.ir/images/11prlnmsh84ftoe6e9j9.png

saeed.spore
July 25th, 2016, 20:24
من دقیقا همین json که گذاشتید را قرار دادم داخل کد های خودتون و به درستی کار میکنه.

http://8pic.ir/images/11prlnmsh84ftoe6e9j9.png

دقیقا همین کد که بالاست گذاشتم


با همون json ولی




[25-Jul-2016 10:53:14 America/Chicago] PHP Warning: file_get_contents(https://api.telegram.org/bot<token>/sendMessage?chat_id=137807115&amp;text=لطفا یکی از گزینه های زیر را انتخاب نمایید&amp;reply_markup={&quot;keyboard&quot;:[[&quot;Mohsen Chavoshi - Hamkhaab (Shahrzad)&quot;],[&quot;\u0645\u062d\u0633\u0646 \u0686\u0627\u0648\u0634\u064a - \u0686\u0634\u0645\u0647 \u064a \u0637\u0648\u0633\u064a&quot;],[&quot;Mohsen Chavoshi - Mah Pishooni&quot;],[&quot;Persian DJ Mix 6 - DJ Borhan (part 1)&quot;],[&quot;Autumn Mix 2013&quot;],[&quot;Mohsen Chavoshi - Kojaei (Ft. Sina Sarlak)&quot;],[&quot;\u0645\u062d\u0633\u0646 \u0686\u0627\u0648\u0634\u064a - \u0622\u0644\u0628\u0648\u0645 \u067e\u0627\u0631\u0648\u064a \u0628\u064a \u0642\u0627\u064a\u0642&quot;],[&quot;Mohsen Chavoshi - Khaab&quot;],[&quot;Mohsen Chavoshi - Khodahafezi Talkh&quot;],[&quot;Mohsen Chavoshi - Divooneh&quot;]],&quot;resize_keyboard&quot;:true}): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
in /home/-----/public_html/----/get.php on line 49







$data = json_decode(file_get_contents("php://input"));
if($data->message->text =="/start"){


ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$json = file_get_contents('http://api.soundcloud.com/users/royaloperahouse/tracks/?client_id=3a4dd5ec3c85a6611d1672d828d835ce&tags=mohsen%20chavoshi&limit=10');
$obj = json_decode($json);
$i = 0;
$x = 0;
foreach ($obj as $k) {
$value[$i] = $k->title;
$k->uri .'/stream?client_id=b1bfa6f7c0c4ed34b9ad55b0cfa34810</br>';
$i++;
}






$kyb = array();
foreach ($value as $s) {
$kyb[] = [$s];
}

$keyboard = array(
'keyboard' => $kyb,
'resize_keyboard' => true
);

file_get_contents($url.'sendMessage?chat_id='.$dat a->message->chat->id.'&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup='.json_encode($keyboard) );

saeed.spore
July 25th, 2016, 23:01
دقیقا همین کد که بالاست گذاشتم


با همون json ولی




[25-Jul-2016 10:53:14 America/Chicago] PHP Warning: file_get_contents(https://api.telegram.org/bot<token>/sendMessage?chat_id=137807115&amp;text=لطفا یکی از گزینه های زیر را انتخاب نمایید&amp;reply_markup={&quot;keyboard&quot;:[[&quot;Mohsen Chavoshi - Hamkhaab (Shahrzad)&quot;],[&quot;\u0645\u062d\u0633\u0646 \u0686\u0627\u0648\u0634\u064a - \u0686\u0634\u0645\u0647 \u064a \u0637\u0648\u0633\u064a&quot;],[&quot;Mohsen Chavoshi - Mah Pishooni&quot;],[&quot;Persian DJ Mix 6 - DJ Borhan (part 1)&quot;],[&quot;Autumn Mix 2013&quot;],[&quot;Mohsen Chavoshi - Kojaei (Ft. Sina Sarlak)&quot;],[&quot;\u0645\u062d\u0633\u0646 \u0686\u0627\u0648\u0634\u064a - \u0622\u0644\u0628\u0648\u0645 \u067e\u0627\u0631\u0648\u064a \u0628\u064a \u0642\u0627\u064a\u0642&quot;],[&quot;Mohsen Chavoshi - Khaab&quot;],[&quot;Mohsen Chavoshi - Khodahafezi Talkh&quot;],[&quot;Mohsen Chavoshi - Divooneh&quot;]],&quot;resize_keyboard&quot;:true}): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
in /home/-----/public_html/----/get.php on line 49

به نظرتون علت این مشکل چیه ؟!!

saeed.spore
July 26th, 2016, 01:04
من دقیقا همین json که گذاشتید را قرار دادم داخل کد های خودتون و به درستی کار میکنه.

http://8pic.ir/images/11prlnmsh84ftoe6e9j9.png

من آقای toosi به این شکلم نوشتم
ولی باز فایده نداره



ini_set('display_errors', 0);
ini_set('display_startup_errors', 0);
error_reporting(E_ALL);
$json = file_get_contents('http://api.soundcloud.com/users/royaloperahouse/tracks/?client_id=3a4dd5ec3c85a6611d1672d828d835ce&tags=mohsen%20chavoshi&limit=10');
$obj = json_decode($json);

foreach ($obj as $k) {

$value[] = [$k->title];

}

$keyboard = array(
'keyboard' => $value,
'resize_keyboard' => true
);

file_get_contents($url.'sendMessage?chat_id='.$dat a->message->chat->id.'&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup='.json_encode($keyboard) );


ولی ارور میده باز
اگه بهصورت
$find = array('chavoshi','yegane'); بنویسم کار میده نمیدنم چیه مشکلش