• Модуль: imbot
  • Путь к файлу: ~/bitrix/modules/imbot/lib/bot/openlineslistenerexample.php
  • Класс: BitrixImBotBotOpenlinesListenerExample
  • Вызов: OpenlinesListenerExample::onMessageAdd
static function onMessageAdd($messageId, $messageFields)
{
	if ($messageFields['SYSTEM'] == 'Y')
		return false;

	if (!BitrixImUser::getInstance($messageFields['FROM_USER_ID'])->isConnector())
	{
		$messageId = self::getLastMessageId($messageFields['DIALOG_ID']);
		if ($messageId)
		{
			self::setLastMessageId($messageFields['DIALOG_ID'], 0);
			CIMMessenger::DisableMessageCheck();
			CIMMessenger::Delete($messageId, null, true);
			CIMMessenger::EnableMessageCheck();
		}
		return false;
	}

	BitrixImBotLog::writeToFile(self::BOT_CODE.'.log', $messageFields, 'BOT: RECEIVE MESSAGE');

	$answerMessage = strrev($messageFields['MESSAGE']);

	$messageId = self::getLastMessageId($messageFields['DIALOG_ID']);
	if ($messageId)
	{
		self::setLastMessageId($messageFields['DIALOG_ID'], 0);
		CIMMessenger::DisableMessageCheck();
		CIMMessenger::Delete($messageId, null, true);
		CIMMessenger::EnableMessageCheck();
	}

	$messageId = BitrixImBot::addMessage(Array('BOT_ID' => $messageFields['BOT_ID']), Array(
		'DIALOG_ID' => $messageFields['DIALOG_ID'],
		'MESSAGE' => "I`m prepare answer: [i][PUT=".$answerMessage."]".$answerMessage."[/PUT][/i] :)",
		'SYSTEM' => 'Y',
	));

	self::setLastMessageId($messageFields['DIALOG_ID'], $messageId);

	return true;
}