• Модуль: imbot
  • Путь к файлу: ~/bitrix/modules/imbot/lib/bot/network.php
  • Класс: BitrixImBotBotNetwork
  • Вызов: Network::onChatStart
static function onChatStart($dialogId, $joinFields)
{
	$botData = ImBot::getListCache();

	if (
		($bot = $botData[$joinFields['BOT_ID']])
		&& $bot["TEXT_PRIVATE_WELCOME_MESSAGE"] <> ''
		&& $joinFields['CHAT_TYPE'] == IM_MESSAGE_PRIVATE
		&& $joinFields['FROM_USER_ID'] != $joinFields['BOT_ID']
	)
	{
		$messageFields = [
			'DIALOG_ID' => $joinFields['USER_ID'],
			'FROM_USER_ID' => $joinFields['BOT_ID'],
			'MESSAGE' => static::replacePlaceholders($bot['TEXT_PRIVATE_WELCOME_MESSAGE'], $joinFields['USER_ID']),
			'URL_PREVIEW' => 'N',
			'PARAMS' => [self::MESSAGE_PARAM_ALLOW_QUOTE => 'N'],
		];

		Application::getInstance()->addBackgroundJob(
			[static::class, 'delayShowingMessage'],
			[$joinFields['BOT_ID'], $messageFields],
			Application::JOB_PRIORITY_LOW
		);
	}

	return true;
}