- Модуль: imbot
- Путь к файлу: ~/bitrix/modules/imbot/lib/service/notifier.php
- Класс: BitrixImBotServiceNotifier
- Вызов: Notifier::checkChannelMembers
static function checkChannelMembers(int $chatId): void
{
$classSupport = self::detectSupportBot();
$chat = new CIMChat(0);
$chat->setOwner($chatId, $classSupport::getBotId(), false);
$adminGroupUsers = self::getAdminGroupUsers();
$adminGroupUsers[] = $classSupport::getBotId();
array_map('intVal', $adminGroupUsers);
$relations = ImChat::getRelation($chatId, ['SELECT' => ['ID', 'USER_ID']]);
$chatMembers = [];
foreach($relations as $relation)
{
$chatMembers[] = (int)$relation['USER_ID'];
}
$addUsers = array_diff($adminGroupUsers, $chatMembers);
if (count($addUsers))
{
foreach ($addUsers as $userId)
{
$chat->addUser($chatId, $userId);
}
}
}