توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : ذخیره اطلاعات در آرایه
saeed.spore
July 24th, 2016, 15:17
سلام دوستان میخوام حلقه ای را بسازم که با هر بار تکرار حلقه یک آرایه ایجاد کنه ای کار شدنی هست ؟!!
و اینکه چطور اطلاعات که در حلقه درست میشه به داخل اون آرایه ساخته شده بریزه ؟!!
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 بریزید مشکلتون حل میشه.
);
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
شما اگر کل کد یا دسترسی بفرستید راحتر میشه راهنمایی کرد.
);
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 بسازه، حالا من فرض این میگرم شما یک حلقه داری که نتایج جستجوی را داخل حلقه میریزیم :
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 بسازه، حالا من فرض این میگرم شما یک حلقه داری که نتایج جستجوی را داخل حلقه میریزیم :
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&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup={"keyboard":[[]],"resize_keyboard":true}): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
in /home/-----/public_html/----/get.php on line 28
file_get_contents($url.'sendMessage?chat_id='.$dat a->message->chat->id.'&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup='.json_encode($keyboard) );
file_get_contents($url.'sendMessage?chat_id='.$dat a->message->chat->id.'&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup='.json_encode($keyboard) );
استاد کاش بتونم تمام زحماتتا جبران کنم - یا نقدی یا یک حرکتی در کار
file_get_contents($url.'sendMessage?chat_id='.$dat a->message->chat->id.'&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup='.json_encode($keyboard) );
خیلی معذرت میخوام شرمنده میدونم اذیتت میکنم سوالی که دارم اینه که الان این محسن چاوشی و یگانه را در یک خط نمایش میده
برای اینکه چند خطی بشه باید برای هر اسم یک آرایه تولید بشه باید
همون که گفتید
[$s] اینطوری بگذارم ؟!
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&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup={"keyboard":[[["chavoshi"],["yegane"]]],"resize_keyboard":true}): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
in /home/----/public_html/--/get.php on line 33
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&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup={"keyboard":[["Mohsen Chavoshi - Hamkhaab (Shahrzad)"],["\u0645\u062d\u0633\u0646 \u0686\u0627\u0648\u0634\u064a - \u0686\u0634\u0645\u0647 \u064a \u0637\u0648\u0633\u064a"],["Mohsen Chavoshi - Mah Pishooni"],["Persian DJ Mix 6 - DJ Borhan (part 1)"],["Autumn Mix 2013"],["Mohsen Chavoshi - Kojaei (Ft. Sina Sarlak)"],["\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"],["Mohsen Chavoshi - Khaab"],["Mohsen Chavoshi - Khodahafezi Talkh"],["Mohsen Chavoshi - Divooneh"]],"resize_keyboard":true}): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
in /home/------/public_html/----/get.php on line 50
بله استاد نتیجه هم اینا میده
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&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup={"keyboard":[["Mohsen Chavoshi - Hamkhaab (Shahrzad)"],["\u0645\u062d\u0633\u0646 \u0686\u0627\u0648\u0634\u064a - \u0686\u0634\u0645\u0647 \u064a \u0637\u0648\u0633\u064a"],["Mohsen Chavoshi - Mah Pishooni"],["Persian DJ Mix 6 - DJ Borhan (part 1)"],["Autumn Mix 2013"],["Mohsen Chavoshi - Kojaei (Ft. Sina Sarlak)"],["\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"],["Mohsen Chavoshi - Khaab"],["Mohsen Chavoshi - Khodahafezi Talkh"],["Mohsen Chavoshi - Divooneh"]],"resize_keyboard":true}): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
in /home/-----/public_html/----/get.php on line 49
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&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup={"keyboard":[["Mohsen Chavoshi - Hamkhaab (Shahrzad)"],["\u0645\u062d\u0633\u0646 \u0686\u0627\u0648\u0634\u064a - \u0686\u0634\u0645\u0647 \u064a \u0637\u0648\u0633\u064a"],["Mohsen Chavoshi - Mah Pishooni"],["Persian DJ Mix 6 - DJ Borhan (part 1)"],["Autumn Mix 2013"],["Mohsen Chavoshi - Kojaei (Ft. Sina Sarlak)"],["\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"],["Mohsen Chavoshi - Khaab"],["Mohsen Chavoshi - Khodahafezi Talkh"],["Mohsen Chavoshi - Divooneh"]],"resize_keyboard":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 به این شکلم نوشتم
ولی باز فایده نداره
file_get_contents($url.'sendMessage?chat_id='.$dat a->message->chat->id.'&text=لطفا یکی از گزینه های زیر را انتخاب نمایید&reply_markup='.json_encode($keyboard) );
ولی ارور میده باز
اگه بهصورت
$find = array('chavoshi','yegane'); بنویسم کار میده نمیدنم چیه مشکلش