• Модуль: imbot
  • Путь к файлу: ~/bitrix/modules/imbot/lib/bot/openlinesmenuexample.php
  • Класс: BitrixImBotBotOpenlinesMenuExample
  • Вызов: OpenlinesMenuExample::itrRun
static function itrRun($dialogId, $userId, $message = '')
{
	if ($userId <= 0)
		return false;
	
	$menu0 = new ItrMenu(0);
	$menu0->setText('Main menu (#0)');
	$menu0->addItem(1, 'Text', ItrItem::sendText('Text message (for #USER_NAME#)'));
	$menu0->addItem(2, 'Text without menu', ItrItem::sendText('Text message without menu', true));
	$menu0->addItem(3, 'Open menu #1', ItrItem::openMenu(1));
	$menu0->addItem(0, 'Wait operator answer', ItrItem::sendText('Wait operator answer', true));

	$menu1 = new ItrMenu(1);
	$menu1->setText('Second menu (#1)');
	$menu1->addItem(2, 'Transfer to queue', ItrItem::transferToQueue('Transfer to queue'));
	$menu1->addItem(3, 'Transfer to user', ItrItem::transferToUser(1, false, 'Transfer to user #1'));
	$menu1->addItem(4, 'Transfer to bot', ItrItem::transferToBot('marta', false, 'Transfer to bot Marta', 'Marta not found :('));
	$menu1->addItem(5, 'Finish session', ItrItem::finishSession('Finish session'));
	$menu1->addItem(6, 'Exec function', ItrItem::execFunction(function($context){
		BitrixImBot::addMessage(Array('BOT_ID' => $context->botId), Array(
			'DIALOG_ID' => $context->dialogId,
			'MESSAGE' => 'Function executed (action)'
		));
	}, 'Function executed (text)'));
	$menu1->addItem(9, 'Back to main menu', ItrItem::openMenu(0));

	$itr = new ItrDesigner('box', $dialogId, self::getBotId(), $userId);
	$itr->addMenu($menu0);
	$itr->addMenu($menu1);
	$itr->run(self::prepareText($message));

	return true;
}