# grove.notice()

## Signature

```ts
grove.notice(text: string, options?: { to?: string }): void
```

## Availability

IRC-bound runtimes. Bound channels require channel.notice; bound or explicit private targets require query.notice. Composer utilities, application Roots, and settings pages cannot use it.

## Parameters

| Parameter | Required | Description |
| --- | --- | --- |
| `text` | Yes | Ordinary notice body. Trimmed; empty text is ignored and U+0001 CTCP framing is rejected. |
| `options.to` | No | One strict nickname in an existing private conversation; follows send's nickname validation. Omit for the bound conversation. |

## Return value

Returns `undefined`. There is no receipt, Promise, or delivery status.

## Behavior and errors

NOTICE has separate grants from PRIVMSG. It cannot open a query. Server scope has no implicit destination and API 1 provides no server-wide channel NOTICE grant. Although the facade forwards a channel field, explicit channel notices are unsupported. A protected query cannot be bypassed using NOTICE. Never automatically answer a NOTICE.

## Example

```js
// Channel-bound runtime with channel.notice.
grove.notice('Maintenance begins in five minutes.')
```

See [grove.send()](grove-send.md).

