2023-12-12 10:40:36 +05:30
|
|
|
package socketModeClient
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"github.com/slack-go/slack"
|
|
|
|
|
"github.com/slack-go/slack/socketmode"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type SocketModeClientWrapper struct {
|
|
|
|
|
SocketModeClient *socketmode.Client
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func NewSocketModeClientWrapper(socketModeClient *socketmode.Client) *SocketModeClientWrapper {
|
|
|
|
|
return &SocketModeClientWrapper{socketModeClient}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (wrapper *SocketModeClientWrapper) PostMessage(
|
|
|
|
|
channelID string,
|
|
|
|
|
options ...slack.MsgOption,
|
|
|
|
|
) (string, string, error) {
|
|
|
|
|
return wrapper.SocketModeClient.PostMessage(channelID, options...)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (wrapper *SocketModeClientWrapper) UpdateMessage(
|
|
|
|
|
channelID string,
|
|
|
|
|
timestamp string,
|
|
|
|
|
options ...slack.MsgOption,
|
|
|
|
|
) (string, string, string, error) {
|
|
|
|
|
return wrapper.SocketModeClient.UpdateMessage(channelID, timestamp, options...)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (wrapper *SocketModeClientWrapper) UploadFile(
|
|
|
|
|
params slack.FileUploadParameters,
|
|
|
|
|
) (file *slack.File, err error) {
|
|
|
|
|
return wrapper.SocketModeClient.UploadFile(params)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (wrapper *SocketModeClientWrapper) AddBookmark(
|
|
|
|
|
channelID string,
|
|
|
|
|
params slack.AddBookmarkParameters,
|
|
|
|
|
) (slack.Bookmark, error) {
|
|
|
|
|
return wrapper.SocketModeClient.AddBookmark(channelID, params)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (wrapper *SocketModeClientWrapper) PostEphemeral(
|
|
|
|
|
channelID string,
|
|
|
|
|
userID string,
|
|
|
|
|
options ...slack.MsgOption,
|
|
|
|
|
) (string, error) {
|
|
|
|
|
return wrapper.SocketModeClient.PostEphemeral(channelID, userID, options...)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (wrapper *SocketModeClientWrapper) GetUsersInfo(
|
|
|
|
|
users ...string,
|
|
|
|
|
) (*[]slack.User, error) {
|
|
|
|
|
return wrapper.SocketModeClient.GetUsersInfo(users...)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (wrapper *SocketModeClientWrapper) GetUserByEmail(
|
|
|
|
|
email string,
|
|
|
|
|
) (*slack.User, error) {
|
|
|
|
|
return wrapper.SocketModeClient.GetUserByEmail(email)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (wrapper *SocketModeClientWrapper) CreateConversation(
|
|
|
|
|
params slack.CreateConversationParams,
|
|
|
|
|
) (*slack.Channel, error) {
|
|
|
|
|
return wrapper.SocketModeClient.CreateConversation(params)
|
|
|
|
|
}
|
|
|
|
|
|
2024-02-02 17:11:31 +05:30
|
|
|
func (wrapper *SocketModeClientWrapper) JoinConversation(
|
|
|
|
|
channelID string,
|
|
|
|
|
) (*slack.Channel, string, []string, error) {
|
|
|
|
|
return wrapper.SocketModeClient.JoinConversation(channelID)
|
|
|
|
|
}
|
|
|
|
|
|
2023-12-12 10:40:36 +05:30
|
|
|
func (wrapper *SocketModeClientWrapper) GetConversationInfo(
|
|
|
|
|
input *slack.GetConversationInfoInput,
|
|
|
|
|
) (*slack.Channel, error) {
|
|
|
|
|
return wrapper.SocketModeClient.GetConversationInfo(input)
|
|
|
|
|
}
|
|
|
|
|
|
2024-06-06 17:15:10 +05:30
|
|
|
func (wrapper *SocketModeClientWrapper) RenameConversation(channelID string, name string) (*slack.Channel, error) {
|
|
|
|
|
return wrapper.SocketModeClient.RenameConversation(channelID, name)
|
|
|
|
|
}
|
|
|
|
|
|
2023-12-12 10:40:36 +05:30
|
|
|
func (wrapper *SocketModeClientWrapper) GetConversationHistory(
|
|
|
|
|
params *slack.GetConversationHistoryParameters,
|
|
|
|
|
) (*slack.GetConversationHistoryResponse, error) {
|
|
|
|
|
return wrapper.SocketModeClient.GetConversationHistory(params)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (wrapper *SocketModeClientWrapper) GetConversationReplies(
|
|
|
|
|
params *slack.GetConversationRepliesParameters,
|
|
|
|
|
) (msgs []slack.Message, hasMore bool, nextCursor string, err error) {
|
|
|
|
|
return wrapper.SocketModeClient.GetConversationReplies(params)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (wrapper *SocketModeClientWrapper) SetTopicOfConversation(
|
|
|
|
|
channelID string,
|
|
|
|
|
topic string,
|
|
|
|
|
) (*slack.Channel, error) {
|
|
|
|
|
return wrapper.SocketModeClient.SetTopicOfConversation(channelID, topic)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (wrapper *SocketModeClientWrapper) GetUsersInConversation(
|
|
|
|
|
params *slack.GetUsersInConversationParameters,
|
|
|
|
|
) ([]string, string, error) {
|
|
|
|
|
return wrapper.SocketModeClient.GetUsersInConversation(params)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (wrapper *SocketModeClientWrapper) InviteUsersToConversation(
|
|
|
|
|
channelID string,
|
|
|
|
|
users ...string,
|
|
|
|
|
) (*slack.Channel, error) {
|
|
|
|
|
return wrapper.SocketModeClient.InviteUsersToConversation(channelID, users...)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (wrapper *SocketModeClientWrapper) OpenView(
|
|
|
|
|
triggerID string,
|
|
|
|
|
view slack.ModalViewRequest,
|
|
|
|
|
) (*slack.ViewResponse, error) {
|
|
|
|
|
return wrapper.SocketModeClient.OpenView(triggerID, view)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (wrapper *SocketModeClientWrapper) AckRequest(
|
|
|
|
|
request socketmode.Request, payload ...interface{},
|
|
|
|
|
) {
|
|
|
|
|
wrapper.SocketModeClient.Ack(request, payload...)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (wrapper *SocketModeClientWrapper) GetClient() *socketmode.Client {
|
|
|
|
|
return wrapper.SocketModeClient
|
|
|
|
|
}
|
2024-03-28 15:09:44 +05:30
|
|
|
|
|
|
|
|
func (wrapper *SocketModeClientWrapper) ArchiveConversation(
|
|
|
|
|
channelID string,
|
|
|
|
|
) error {
|
|
|
|
|
return wrapper.SocketModeClient.ArchiveConversation(channelID)
|
|
|
|
|
}
|
2024-04-02 16:25:34 +05:30
|
|
|
|
|
|
|
|
func (wrapper *SocketModeClientWrapper) GetUsers(
|
|
|
|
|
userOptions slack.GetUsersOption,
|
|
|
|
|
) ([]slack.User, error) {
|
|
|
|
|
return wrapper.SocketModeClient.GetUsers(userOptions)
|
|
|
|
|
}
|