Browse Source

fix: Split modules to client and cmd.

Signed-off-by: IRONICBo <47499836+IRONICBo@users.noreply.github.com>
dev/dev-08-11
IRONICBo 2 years ago
parent
commit
73168b7302
3 changed files with 44 additions and 10 deletions
  1. +37
    -0
      server/internal/conn/client/slack.go
  2. +6
    -9
      server/internal/msg/slack_cmd/slack.go
  3. +1
    -1
      server/main.go

+ 37
- 0
server/internal/conn/client/slack.go View File

@@ -0,0 +1,37 @@
// Copyright © 2023 OpenIM open source community. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package client

import (
"github.com/shomali11/slacker"

"github.com/OpenIMSDK/OpenKF/server/internal/config"
"github.com/OpenIMSDK/OpenKF/server/pkg/log"
)

// SlackBot slack client.
var SlackBot *slacker.Slacker

// InitSlack init slack client.
func InitSlack() *slacker.Slacker {
botToken := config.Config.Slack.BotToken
appToken := config.Config.Slack.AppToken
debug := config.Config.App.Debug

SlackBot = slacker.NewClient(botToken, appToken, slacker.WithDebug(debug))
log.Info("Slack", "init config ok")

return SlackBot
}

+ 6
- 9
server/internal/msg/slack_cmd/slack.go View File

@@ -20,21 +20,17 @@ import (

"github.com/shomali11/slacker"

"github.com/OpenIMSDK/OpenKF/server/internal/config"
"github.com/OpenIMSDK/OpenKF/server/internal/conn/client"
"github.com/OpenIMSDK/OpenKF/server/internal/service"
"github.com/OpenIMSDK/OpenKF/server/pkg/log"
)

// InitSlack init slack client.
func InitSlack() {
botToken := config.Config.Slack.BotToken
appToken := config.Config.Slack.AppToken
debug := config.Config.App.Debug
// InitSlackListen init slack socket listen.
func InitSlackListen() {
bot := client.InitSlack()

svc := service.NewSlackService(context.Background())

bot := slacker.NewClient(botToken, appToken, slacker.WithDebug(debug))

// receive all @ message
bot.Command("<question>", &slacker.CommandDefinition{
Handler: func(bc slacker.BotContext, r slacker.Request, w slacker.ResponseWriter) {
@@ -48,10 +44,11 @@ func InitSlack() {
}

question := r.Param("question")
// todo: remove id from question
// TODO: remove id from question
words := strings.Split(question, " ")
question = strings.Join(words[1:], " ")

// TODO: get staff id and get into im process.
_ = senderId
_ = question
_ = w.Reply("senderId", slacker.WithThreadReply(true))


+ 1
- 1
server/main.go View File

@@ -43,7 +43,7 @@ func init() {
client.InitMinio()
// client.InitMail()
hooks.InitHooks()
slackcmd.InitSlack()
slackcmd.InitSlackListen()
}

//go:generate go env -w GO111MODULE=on


Loading…
Cancel
Save