added multiple event listen support.

This commit is contained in:
5elenay
2021-08-22 04:07:14 +03:00
parent 2c3446fcd8
commit cadd1c6413
2 changed files with 25 additions and 16 deletions

View File

@@ -36,10 +36,12 @@ func (c *Client) Start() {
}
// Check events
if rawData.Type == "Ready" && c.OnReadyFunction != nil {
if rawData.Type == "Ready" && c.OnReadyFunctions != nil {
// Ready Event
c.OnReadyFunction()
} else if rawData.Type == "Message" && c.OnMessageFunction != nil {
for _, i := range c.OnReadyFunctions {
i()
}
} else if rawData.Type == "Message" && c.OnMessageFunctions != nil {
// Message Event
msgData := &Message{}
err := json.Unmarshal([]byte(message), msgData)
@@ -49,8 +51,11 @@ func (c *Client) Start() {
}
msgData.Client = c
c.OnMessageFunction(msgData)
} else if rawData.Type == "MessageUpdate" && c.OnMessageUpdateFunction != nil {
for _, i := range c.OnMessageFunctions {
i(msgData)
}
} else if rawData.Type == "MessageUpdate" && c.OnMessageUpdateFunctions != nil {
// Message Update Event
data := &struct {
ChannelId string `json:"channel"`
@@ -64,8 +69,10 @@ func (c *Client) Start() {
fmt.Printf("Unexcepted Error: %s", err)
}
c.OnMessageUpdateFunction(data.ChannelId, data.MessageId, data.Payload)
} else if rawData.Type == "MessageDelete" && c.OnMessageDeleteFunction != nil {
for _, i := range c.OnMessageUpdateFunctions {
i(data.ChannelId, data.MessageId, data.Payload)
}
} else if rawData.Type == "MessageDelete" && c.OnMessageDeleteFunctions != nil {
// Message Delete Event
data := &struct {
ChannelId string `json:"channel"`
@@ -78,7 +85,9 @@ func (c *Client) Start() {
fmt.Printf("Unexcepted Error: %s", err)
}
c.OnMessageDeleteFunction(data.ChannelId, data.MessageId)
for _, i := range c.OnMessageDeleteFunctions {
i(data.ChannelId, data.MessageId)
}
}
fmt.Println(message)