Nano Hash - криптовалюты, майнинг, программирование

Добавить канал в качестве подписчика в соответствии с двумя пользователями

Я пытаюсь через автоматическое действие автоматически добавлять канал в соответствии с двумя пользователями, за которыми они подписаны.

Код на данный момент:

record.message_subscribe(partner_ids=[record.user_id.partner_id.id, record.x_studio_subcontractor.user_id.partner_id.id])

Приведенный выше код делает двух пользователей подписчиками, какой код следует применить, чтобы я мог сделать их канал также подписчиком для задачи?

05.01.2020

Ответы:


1

Поиск канала чата между этими двумя пользователями, оба партнера должны быть участниками этого канала, и тип канала чата - 'chat', для частного канала тип канала - 'channel', пользователь может иметь несколько каналов.

partner_ids = [record.user_id.partner_id.id, 
              ecord.x_studio_subcontractor.user_id.partner_id.id]

channel_ids = self.env['mail.channel'].search([('channel_partner_ids', '=', partner_ids[0]),
                                         ('channel_partner_ids', '=', partner_ids[1]),
                                         ('public', '=', 'private'),
                                         ('channel_type', '=', 'chat'),  # only chat channel it should be only one
                                         ]).ids or None

record.message_subscribe(partner_ids=partner_ids, channel_ids=channel_ids)

@Fotic

С указанными ниже атрибутами при поиске канал не добавляется (вероятно, потому, что было 2 канала (объявления и частный))

('public', '=', 'private'),
('channel_type', '=', 'chat'),  

Мое окончательное решение:

partner_ids = [record.user_id.partner_id.id,record.x_studio_subcontractor.user_id.partner_id.id]

channel_ids = record.env['mail.channel'].search([('channel_partner_ids', '=', partner_ids[0]),
                                         ('channel_partner_ids', '=', partner_ids[1]),
                                         ('group_ids', '=', False),
                                         ]).ids or None

record.message_subscribe(partner_ids=partner_ids, channel_ids=channel_ids) 

В любом случае большое спасибо за помощь @Charif DZ

06.01.2020
  • @Fotic любит то, как вы думаете, главное - это идея, и вы поняли, что вам нужно определить правильный домен. Спасибо, что приняли мой ответ. 06.01.2020
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..