Greeter 機能は、チャンネルに来た人を歓迎します。歓迎は、読み手の異なる二つの部分でできています。ルーム全体が読む短い一行と、ほかの誰にも見えない形で新しく来た人を案内する非公開の行です。
二つの部分
| 設定項目 | 誰が読むか | いつ |
|---|---|---|
public_greeting |
チャンネルの全員 | このボットがこのチャンネルでこのニックネームに初めて会ったときだけ |
greeting |
新しく来た人だけ | 繰り返しの時間枠が許す参加のたびに |
onboarding_1 … onboarding_4
|
新しく来た人だけ | 繰り返しの時間枠が許す参加のたびに |
visitor_greeting |
訪問者のみの場合 | 訪問者がチャンネルを開くたびに |
farewell |
farewell_delivery の設定に従います | 退出時 |
設定のしかた
/bot set <name> public_greeting <text> /bot set <name> greeting <text> /bot set <name> onboarding_1 <text> /bot set <name> onboarding_2 <text> /bot set <name> greeting_delivery private_notice /bot set <name> onboarding_delivery private_notice /bot set <name> greeter_repeat_window 43200 /bot set <name> farewell none
どの設定も none を指定すると消せます。消した行は飛ばされるので、挨拶だけのボットはこれまでどおりに動作します。案内メッセージは追加ではなく番号付きです。onboarding_2 を二度設定すると置き換わるため、プロビジョニング用のスクリプトを何度貼り付けても問題ありません。
ボットが訪問者を迎える方法
アカウントを持たない訪問者は、チャンネルを閲覧できます。 参加したり、発言したりすることはできません。 訪問者にはgreetingやonboarding_1 … onboarding_4は届きません。 訪問者が来ても、チャンネルには何も表示されません。 訪問者を歓迎するには visitor_greeting を設定してください。 表示されるのは訪問者本人だけです。 チャンネルを開くたびに送られます。 設定するまで、ボットは訪問者に挨拶しません。
/bot set <name> visitor_greeting <text>
配信
| モード | 効果 |
|---|---|
public |
チャンネルへのメッセージ。履歴に残ります。 |
channel_notice |
チャンネル内への通知(notice)。履歴に残ります。 |
private_notice |
そのチャンネルの表示内で、新しく来た人にだけ見える通知(notice)。履歴には残りません。 |
silent |
何も送られません。 |
greeting_delivery は挨拶の配信方法を、onboarding_delivery は番号付きの行の配信方法を指定します。onboarding_delivery が未設定の場合は greeting_delivery の設定が使われます。public_greeting は常に公開されます。そのための設定だからです。
「新しい人」とは誰か
ボットはチャンネルごとに、誰を歓迎したかを記録します。この記録は再起動しても残ります。一度も会ったことのない人には、公開の行と非公開の行の両方が届きます。前回会ってから greeter_repeat_window 秒以上たっている人には、非公開の行がもう一度届きますが、ルームには二度目は伝えません。ついさっきまでいた人には、何も送られません。
繰り返しの時間枠が 0 の場合は時間枠なしを意味し、非公開の行は参加のたびに送られます。公開の行は、これまでどおり一人につき一度だけ送られます。
プレースホルダー
どの行でも {nickname} は参加した人、{channel} は部屋、{botname} はボット、{prefix} はそのコマンド接頭辞になります。行では IRC の書式エスケープも使えます: \c04 赤、\b 太字、\o リセット。
ルームを読みやすく保つ
挨拶するボットは、チャンネルごとに一つだけにしてください。挨拶ボットが二つあると、新しく来た人が二度歓迎されてしまいます。すべてのルームにいるボットを greeting none に設定しているのはそのためです。公開の行は一文にとどめてください。歓迎メッセージのうちルーム全体が読む唯一の部分であり、記録に残る唯一の部分です。新しく来た人に伝えるべき内容は、すべて非公開の側に入れてください。