Документация для разработчиков
Темная тема

OnBeforeMessageNotifyAdd

Описание

Событие применяется для работы с сообщениями Веб-мессенджера. Для этого необходимо добавить обработчик события на модуль im.

Можно отменять отправку сообщения, например. Для этого нужно вернуть либо false, либо массив Array('result' => false, 'reason' => 'причина отмены') тогда в мессенджере этот текст будет указан в интерфейсе чата. В тексте доступен ограниченный html - a, b, i, u, br.

Примеры использования

AddEventHandler("im", "OnBeforeMessageNotifyAdd", "___OnBeforeMessageNotifyAdd");
public static function ___OnBeforeMessageNotifyAdd($arFields)
{
	global $USER;

	if(!$USER->IsAdmin() && $arFields['MESSAGE_TYPE'] == 'P')
	{
		$imMaxMessagePerDay = 10;

		$date = date('Ymd');
		$_SESSION['IM_ANTI_SPAM'][$date]++;
		if ($_SESSION['IM_ANTI_SPAM'][$date] > $imMaxMessagePerDay)
		{
			return Array(
				'reason' => 'Вы не можете отправлять более 10 сообщений в день',
				'result' => false,
			);
		}
	}
}

Результат:



Пользовательские комментарии

Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2025, «1С-Битрикс», 2025
Наверх