Поддержка серверов

Support24::onMessageAdd: метод Битрикс

Постоянная ссылка: http://bxapi.ru/src/?id=502419

//    Bitrix\ImBot\Bot\Support24::onMessageAdd()
//    /bitrix/modules/imbot/lib/bot/support24.php:580

    public static function onMessageAdd($messageId, $messageFields)
    {
        if (!\Bitrix\Main\Loader::includeModule('im'))
            return false;

        if ($messageFields['MESSAGE_TYPE'] != IM_MESSAGE_PRIVATE)
        {
            $groupLimited = self::getMessage('GROUP_LIMITED');
            if ($groupLimited)
            {
                self::sendMessage(Array(
                    'DIALOG_ID' => 'chat'.$messageFields['CHAT_ID'],
                    'MESSAGE' => $groupLimited,
                    'SYSTEM' => 'N',
                    'URL_PREVIEW' => 'N'
                ));
            }

            $chat = new \CIMChat(self::getBotId());
            $chat->DeleteUser($messageFields['CHAT_ID'], self::getBotId());

            return true;
        }

        $message = '';

        if (
            self::isActivePartnerSupport()
            && !self::isUserIntegrator($messageFields['USER_ID'])
        )
        {
            $message = self::getMessage('MESSAGE_PARTNER');
        }
        else if (self::getSupportLevel() == self::SUPPORT_LEVEL_FREE)
        {
            if (self::isActiveFreeSupport())
            {
                if (!self::isActiveFreeSupportForUser($messageFields['FROM_USER_ID']))
                {
                    $message = self::getMessage('MESSAGE_LIMITED');
                }
            }
            else if (!self::isUserIntegrator($messageFields['FROM_USER_ID']))
            {
                $message = self::getMessage('MESSAGE_END');
            }
        }
        else if (self::getSupportLevel() == self::SUPPORT_LEVEL_PAID)
        {
            if (!self::isActivePaidSupportForUser($messageFields['FROM_USER_ID']))
            {
                $message = self::getMessage('MESSAGE_LIMITED');
            }
        }

        if (!empty($message))
        {
            self::sendMessage(Array(
                'DIALOG_ID' => $messageFields['FROM_USER_ID'],
                'MESSAGE' => $message,
                'SYSTEM' => 'N',
                'URL_PREVIEW' => 'N'
            ));

            return true;
        }

        return parent::onMessageAdd($messageId, $messageFields);
    }

Блог разработчика

9 августа 2016 ResizeImageGet и простой водяной знак налету

Сегодня поговорим о том как проще всего воткнуть водяной знак на картинки в Битрикс. Например, на все изображения каталога.

21 июля 2016 Добавление вкладки в CRM коробки Битрикс24

В этом посте я покажу, как легко и просто добавить вкладку в сущность CRM. И не просто добавить, а вывести там свой контент.

21 июля 2016 Как просто обращаться из коробки Битрикс24 на сайт на базе Битрикс

К примеру вам хочется внутренним скриптом дернуть с сайта-магазина информацию, которая там, в свою очередь, закрыта некоторыми правами. Например, админскими. Можно конечно мутить свой REST, или иной формат общения, но проще всего воспользоваться штатным инструментом:

Текст сообщения*
Загрузить изображение