• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Link/Pin/PinService.php
  • Класс: BitrixImV2LinkPinPinService
  • Вызов: PinService::pinMessage
public function pinMessage(Message $message): Result
{
	$result = new  Result();

	$pin = PinItem::createFromMessage($message, $this->getContext());
	$saveResult = $this->savePin($pin);

	if (!$saveResult->isSuccess())
	{
		return $result->addErrors($saveResult->getErrors());
	}

	$saveParamResult = $this->saveInParam($message);

	if (!$saveParamResult->isSuccess())
	{
		return $result->addErrors($saveParamResult->getErrors());
	}

	$this->sendMessageAboutPin($pin);

	Push::getInstance()
		->setContext($this->context)
		->sendFull($pin, static::ADD_PIN_EVENT, ['CHAT_ID' => $pin->getChatId()])
	;

	return $result;
}