- Модуль: imbot
- Путь к файлу: ~/bitrix/modules/imbot/lib/bot/marta.php
- Класс: BitrixImBotBotMarta
- Вызов: Marta::onMessageAdd
static function onMessageAdd($messageId, $messageFields)
{
if ($messageFields['SYSTEM'] == 'Y')
return false;
if ($messageFields['CHAT_ENTITY_TYPE'] != 'LINES')
{
BitrixImBot::startWriting(Array('BOT_ID' => self::getBotId()), $messageFields['DIALOG_ID']);
}
$userName = BitrixImUser::getInstance($messageFields['FROM_USER_ID'])->getName();
$dateNow = new BitrixMainTypeDateTime();
self::setBotOption($messageFields['FROM_USER_ID'], 'last_message', $dateNow->format('Ymd'));
$botData = BitrixImBot::getCache(self::getBotId());
if ($messageFields['MESSAGE'] == '0' && $messageFields['CHAT_ENTITY_TYPE'] == 'LINES')
{
self::sendAnswer(0, Array(
'DIALOG_ID' => $messageFields['DIALOG_ID'],
'ANSWER' => Loc::getMessage('IMBOT_BOT_WELCOME_LINES_REDIRECT')
));
return true;
}
if (mb_strpos($messageFields['MESSAGE'], self::EDIT_PHRASE) !== false && BitrixImUser::getInstance($messageFields['FROM_USER_ID'])->isExtranet())
{
$messageFields['MESSAGE'] = str_replace(self::EDIT_PHRASE, '', $messageFields['MESSAGE']);
}
self::sendMessage(Array(
'BOT_ID' => self::getBotId(),
'BOT_LANG' => $botData['LANG'],
'DIALOG_ID' => $messageFields['DIALOG_ID'],
'MESSAGE_ID' => $messageId,
'MESSAGE_TEXT' => $messageFields['MESSAGE'],
'MESSAGE_TYPE' => $messageFields['MESSAGE_TYPE'],
'USER_NAME' => htmlspecialcharsback($userName),
'USER_AGE' => 30,
));
return true;
}