Script
は、lxbotが受けたメッセージを元に、メッセージを返すモジュールです。
次のフォーマットでlxbotからメッセージが送られます、また、同じフォーマットでメッセージを返す必要があります。
ただし、メッセージを返さない場合は、mapではなく nil
を返します。
map[string]interface{}{
"user": map[string]interface{}{
"id": (string),
"name": (string),
},
"room": map[string]interface{}{
"id": (string),
"name": (string),
"description": (string),
},
"message": map[string]interface{}{
"id": (string),
"text": (string),
"attachments": []map[string]interface{}{
{
"url": (string),
"description": (string),
},
},
},
}
送信する text
を message.text
に上書きすることで返すメッセージを表現します。
また、必要に応じて room.id
や user.id
に上書きすることで、対象ルームや送信元ユーザーを詐称することが可能です。
func Boot(ch *chan map[string]interface{})
(optional)
Scriptが読み込まれ、かつ、 OnMessage
が実装されている場合に実行されます。
map[string]interface{}
をやりとりするためのchannelのポインターを渡します。
Scriptからlxbotに一方的にメッセージを送りたい場合に使用します。
例えば、受信したメッセージに対して複数のメッセージを返したい場合に使用します。
func OnMessage() []func(map[string]interface{}) map[string]interface{}
lxbotがメッセージを受信した場合に実行されます。
func(message map[string]interface{}) map[string]interface{}
をsliceで返却する必要があります。
message
には上記のメッセージフォーマットに従ったmapが格納されており、同様のフォーマットで値を返せばメッセージを送信できます。