Archived
very first iteration
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
package modules
|
||||
|
||||
import (
|
||||
"log"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type Payload struct {
|
||||
Channel string `json:"channel"`
|
||||
IconEmoji string `json:"icon_emoji"`
|
||||
Text string `json:"text"`
|
||||
Username string `json:"username"`
|
||||
}
|
||||
|
||||
type WebhookPayload struct {
|
||||
ChannelID string `json:"channel_id"`
|
||||
ChannelName string `json:"channel_name"`
|
||||
ServiceID string `json:"service_id"`
|
||||
TeamDomain string `json:"team_domain"`
|
||||
TeamID string `json:"team_id"`
|
||||
Text string `json:"text"`
|
||||
Timestamp string `json:"timestamp"`
|
||||
Token string `json:"token"`
|
||||
TriggerWord string `json:"trigger_word"`
|
||||
UserID string `json:"user_id"`
|
||||
UserName string `json:"user_name"`
|
||||
}
|
||||
|
||||
var (
|
||||
SayCh chan Payload
|
||||
MsgHandlers = make(map[string]func(*WebhookPayload))
|
||||
ModParams = make(map[string]string)
|
||||
)
|
||||
|
||||
func Init(ch chan Payload, params string) {
|
||||
SayCh = ch
|
||||
for _, param := range strings.Split(params, "!") {
|
||||
kv := strings.Split(param, ":")
|
||||
ModParams[kv[0]] = kv[1]
|
||||
log.Println(kv[0], kv[1])
|
||||
}
|
||||
}
|
||||
|
||||
func HandleMessage(payload *WebhookPayload) {
|
||||
for _, fn := range MsgHandlers {
|
||||
fn(payload)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user