• Модуль: imconnector
  • Путь к файлу: ~/bitrix/modules/imconnector/lib/connectors/facebook.php
  • Класс: BitrixImConnectorConnectorsFacebook
  • Вызов: Facebook::receivedErrorNotSendMessageChat
protected function receivedErrorNotSendMessageChat($paramsError, string $message = ''): bool
{
	if(
		!empty($paramsError['params'])
		&& (int)$paramsError['params']['errorCode'] === 10
		&& (int)$paramsError['params']['errorSubCode'] === 2018278
		&& Loader::includeModule('ui')
	)
	{
		$paramsError['messageConnector'] = '';
		$message = Loc::getMessage('IMCONNECTOR_FACEBOOK_NOT_SEND_MESSAGE_CHAT_LIMIT', [
			'#A_START#' => '[URL=' . UIUtil::getArticleUrlByCode(Library::CODE_ID_ARTICLE_TIME_LIMIT) . ']',
			'#A_END#' => '[/URL]',
		]);

		if (
			!empty($paramsError['messageId'])
			&& $paramsError['messageId'] > 0
			&& Loader::includeModule('im')
		)
		{
			$raw = MessageTable::getList([
				'select' => [
					'AUTHOR_ID'
				],
				'filter' => [
					'=ID' => (int)$paramsError['messageId'],
				]
			]);

			if (
				($row = $raw->fetch())
				&& !empty($row['AUTHOR_ID'])
			)
			{
				if ($this->isHumanAgent($paramsError['line']) === true)
				{
					$message = Loc::getMessage('IMCONNECTOR_FACEBOOK_NOT_SEND_MESSAGE_CHAT_7_DAY_LIMIT', [
						'#A_START#' => '[URL=' . UIUtil::getArticleUrlByCode(Library::CODE_ID_ARTICLE_TIME_LIMIT) . ']',
						'#A_END#' => '[/URL]',
					]);
				}
				else
				{
					$message = Loc::getMessage('IMCONNECTOR_FACEBOOK_NOT_SEND_MESSAGE_CHAT_24_HOURS_LIMIT', [
						'#A_START#' => '[URL=' . UIUtil::getArticleUrlByCode(Library::CODE_ID_ARTICLE_TIME_LIMIT) . ']',
						'#A_END#' => '[/URL]',
					]);
				}
			}
		}
	}

	return parent::receivedErrorNotSendMessageChat($paramsError, $message);
}