- Модуль: imbot
- Путь к файлу: ~/bitrix/modules/imbot/lib/bot/marta.php
- Класс: BitrixImBotBotMarta
- Вызов: Marta::onLocalCommandAdd
static function onLocalCommandAdd($messageId, $messageFields)
{
if ($messageFields['SYSTEM'] == 'Y')
return false;
if ($messageFields['COMMAND_CONTEXT'] != 'TEXTAREA')
return false;
if ($messageFields['MESSAGE_TYPE'] != IM_MESSAGE_PRIVATE)
return false;
if ($messageFields['COMMAND'] != 'lang')
return false;
$messageFields['COMMAND_PARAMS'] = trim($messageFields['COMMAND_PARAMS']);
if (!in_array($messageFields['COMMAND_PARAMS'], Array('en', 'ru')))
return false;
global $GLOBALS;
$grantAccess = IsModuleInstalled('bitrix24')? $GLOBALS['USER']->CanDoOperation('bitrix24_config'): $GLOBALS["USER"]->IsAdmin();
if (!$grantAccess)
return false;
$language = $messageFields['COMMAND_PARAMS'];
Loc::loadLanguageFile(__FILE__, $language);
BitrixImBot::startWriting(Array('BOT_ID' => self::getBotId()), $messageFields['DIALOG_ID']);
BitrixImBot::update(Array('BOT_ID' => self::getBotId()), Array(
'LANG' => $language,
'PROPERTIES' => Array(
'NAME' => Loc::getMessage('IMBOT_BOT_NAME', null, $language),
'COLOR' => Loc::getMessage('IMBOT_BOT_COLOR', null, $language),
'EMAIL' => Loc::getMessage('IMBOT_BOT_EMAIL', null, $language),
'WORK_POSITION' => Loc::getMessage('IMBOT_BOT_WORK_POSITION', null, $language),
'PERSONAL_WWW' => Loc::getMessage('IMBOT_BOT_SITE', null, $language),
'PERSONAL_GENDER' => Loc::getMessage('IMBOT_BOT_GENDER', null, $language),
'PERSONAL_PHOTO' => self::uploadAvatar($language),
)
));
self::sendAnswer(0, Array(
'DIALOG_ID' => $messageFields['DIALOG_ID'],
'ANSWER' => Loc::getMessage('IMBOT_BOT_CHANGE_LANG', null, $language)
));
return true;
}