---
read_when:
    - Налаштування того самого списку дозволених елементів для кількох каналів повідомлень
    - Правила доступу відправників до спільного доступу в особистих повідомленнях і групах
    - Перегляд контролю доступу до каналів повідомлень
summary: Багаторазові списки дозволених відправників для каналів повідомлень
title: Групи доступу
x-i18n:
    generated_at: "2026-05-01T23:10:05Z"
    model: gpt-5.5
    provider: openai
    source_hash: fc7bc1d4fb80e5c5d4e72b190d49821aa93ced575eafcf89864ac800e8558f94
    source_path: channels/access-groups.md
    workflow: 16
---

Групи доступу — це іменовані списки відправників, які ви визначаєте один раз і на які посилаєтеся з allowlist каналів через `accessGroup:<name>`.

Використовуйте їх, коли тих самих людей потрібно дозволити в кількох каналах повідомлень або коли один довірений набір має застосовуватися і до авторизації відправників у DM, і до груп.

Групи доступу самі по собі не надають доступу. Група має значення лише тоді, коли поле allowlist посилається на неї.

## Статичні групи відправників повідомлень

Статичні групи відправників використовують `type: "message.senders"`.

```json5
{
  accessGroups: {
    operators: {
      type: "message.senders",
      members: {
        "*": ["global-owner-id"],
        discord: ["discord:123456789012345678"],
        telegram: ["987654321"],
        whatsapp: ["+15551234567"],
      },
    },
  },
}
```

Списки учасників індексуються за id каналу повідомлень:

| Ключ       | Значення                                                                 |
| ---------- | ----------------------------------------------------------------------- |
| `"*"`      | Спільні записи, які перевіряються для кожного каналу повідомлень, що посилається на групу. |
| `discord`  | Записи, які перевіряються лише для зіставлення allowlist Discord.        |
| `telegram` | Записи, які перевіряються лише для зіставлення allowlist Telegram.       |
| `whatsapp` | Записи, які перевіряються лише для зіставлення allowlist WhatsApp.       |

Записи зіставляються зі звичайними правилами `allowFrom` цільового каналу. OpenClaw не перекладає id відправників між каналами. Якщо Alice має id Telegram і id Discord, укажіть обидва id під відповідними ключами.

## Посилання на групи з allowlist

Посилайтеся на групу через `accessGroup:<name>` будь-де, де шлях каналу повідомлень підтримує allowlist відправників.

Приклад allowlist для DM:

```json5
{
  accessGroups: {
    operators: {
      type: "message.senders",
      members: {
        discord: ["discord:123456789012345678"],
        telegram: ["987654321"],
      },
    },
  },
  channels: {
    discord: {
      dmPolicy: "allowlist",
      allowFrom: ["accessGroup:operators"],
    },
    telegram: {
      dmPolicy: "allowlist",
      allowFrom: ["accessGroup:operators"],
    },
  },
}
```

Приклад allowlist відправників групи:

```json5
{
  accessGroups: {
    oncall: {
      type: "message.senders",
      members: {
        whatsapp: ["+15551234567"],
        googlechat: ["users/1234567890"],
      },
    },
  },
  channels: {
    whatsapp: {
      groupPolicy: "allowlist",
      groupAllowFrom: ["accessGroup:oncall"],
    },
    googlechat: {
      spaces: {
        "spaces/AAA": {
          users: ["accessGroup:oncall"],
        },
      },
    },
  },
}
```

Ви можете поєднувати групи й прямі записи:

```json5
{
  channels: {
    discord: {
      dmPolicy: "allowlist",
      allowFrom: ["accessGroup:operators", "discord:123456789012345678"],
    },
  },
}
```

## Підтримувані шляхи каналів повідомлень

Групи доступу доступні в спільних шляхах авторизації каналів повідомлень, зокрема:

- allowlist відправників DM, як-от `channels.<channel>.allowFrom`
- allowlist відправників груп, як-от `channels.<channel>.groupAllowFrom`
- специфічні для каналу allowlist відправників на рівні окремої кімнати, які використовують ті самі правила зіставлення відправників
- шляхи авторизації команд, які повторно використовують allowlist відправників каналів повідомлень

Підтримка каналу залежить від того, чи цей канал підключено через спільні допоміжні засоби авторизації відправників OpenClaw. Поточна вбудована підтримка охоплює Discord, Google Chat, Nostr, WhatsApp, Zalo і Zalo Personal. Статичні групи `message.senders` спроєктовані як незалежні від каналу, тож нові канали повідомлень мають підтримувати їх, використовуючи спільні допоміжні засоби plugin SDK замість власного розгортання allowlist.

## Аудиторії каналів Discord

Discord також підтримує динамічний тип групи доступу:

```json5
{
  accessGroups: {
    maintainers: {
      type: "discord.channelAudience",
      guildId: "1456350064065904867",
      channelId: "1456744319972282449",
      membership: "canViewChannel",
    },
  },
  channels: {
    discord: {
      dmPolicy: "allowlist",
      allowFrom: ["accessGroup:maintainers"],
    },
  },
}
```

`discord.channelAudience` означає: "дозволити відправників DM Discord, які наразі можуть переглядати цей канал guild." OpenClaw визначає відправника через Discord під час авторизації та застосовує правила дозволу Discord `ViewChannel`.

Використовуйте це, коли канал Discord уже є джерелом істини для команди, наприклад `#maintainers` або `#on-call`.

Вимоги та поведінка в разі помилки:

- Боту потрібен доступ до guild і каналу.
- Боту потрібен **Server Members Intent** у Discord Developer Portal.
- Група доступу не надає доступ, коли Discord повертає `Missing Access`, відправника неможливо визначити як учасника guild або канал належить іншому guild.

Більше прикладів, специфічних для Discord: [Контроль доступу Discord](/uk/channels/discord#access-control-and-routing)

## Нотатки щодо безпеки

- Групи доступу — це псевдоніми allowlist, а не ролі. Вони самі по собі не створюють власників, не схвалюють запити на сполучення й не надають дозволи на інструменти.
- `dmPolicy: "open"` усе одно вимагає `"*"` в ефективному allowlist DM. Посилання на групу доступу не є тим самим, що публічний доступ.
- Відсутні назви груп не надають доступ. Якщо `allowFrom` містить `accessGroup:operators`, а `accessGroups.operators` відсутній, цей запис нікого не авторизує.
- Зберігайте id каналів стабільними. Надавайте перевагу числовим/user id замість відображуваних імен, коли канал підтримує обидва варіанти.

## Усунення несправностей

Якщо відправник має збігатися, але його заблоковано:

1. Переконайтеся, що поле allowlist містить точне посилання `accessGroup:<name>`.
2. Переконайтеся, що `accessGroups.<name>.type` правильний.
3. Переконайтеся, що id відправника вказано під відповідним ключем каналу або під `"*"`.
4. Переконайтеся, що запис використовує звичайний синтаксис allowlist цього каналу.
5. Для аудиторій каналів Discord переконайтеся, що бот бачить канал guild і має ввімкнений Server Members Intent.

Запустіть `openclaw doctor` після редагування конфігурації контролю доступу. Він виявляє багато недійсних комбінацій allowlist і політик ще до виконання.
