Skip to content

Latest commit

 

History

History
48 lines (39 loc) · 1.95 KB

script.md

File metadata and controls

48 lines (39 loc) · 1.95 KB

概要

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),
			},
		},
	},
}

送信する textmessage.text に上書きすることで返すメッセージを表現します。 また、必要に応じて room.iduser.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が格納されており、同様のフォーマットで値を返せばメッセージを送信できます。