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

@@ -19,30 +19,30 @@ type Client struct {
HTTP *http.Client
// Event Functions
OnReadyFunction func()
OnMessageFunction func(message *Message)
OnMessageUpdateFunction func(channel_id, message_id string, payload map[string]interface{})
OnMessageDeleteFunction func(channel_id, message_id string)
OnReadyFunctions []func()
OnMessageFunctions []func(message *Message)
OnMessageUpdateFunctions []func(channel_id, message_id string, payload map[string]interface{})
OnMessageDeleteFunctions []func(channel_id, message_id string)
}
// On ready event will run when websocket connection is started and bot is ready to work.
func (c *Client) OnReady(fn func()) {
c.OnReadyFunction = fn
c.OnReadyFunctions = append(c.OnReadyFunctions, fn)
}
// On message event will run when someone sends a message.
func (c *Client) OnMessage(fn func(message *Message)) {
c.OnMessageFunction = fn
c.OnMessageFunctions = append(c.OnMessageFunctions, fn)
}
// On message update event will run when someone updates a message.
func (c *Client) OnMessageUpdate(fn func(channel_id, message_id string, payload map[string]interface{})) {
c.OnMessageUpdateFunction = fn
c.OnMessageUpdateFunctions = append(c.OnMessageUpdateFunctions, fn)
}
// On message delete event will run when someone deletes a message.
func (c *Client) OnMessageDelete(fn func(channel_id, message_id string)) {
c.OnMessageDeleteFunction = fn
c.OnMessageDeleteFunctions = append(c.OnMessageDeleteFunctions, fn)
}
// Fetch a channel by Id.