Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pramithamj/slack-sdk-go

A lightweight and modular SDK for building Slack bots and apps in Go. With this SDK, you can easily send messages, manage users, and extend functionality to integrate with the Slack API seamlessly.
https://github.com/pramithamj/slack-sdk-go

go sdk slack

Last synced: 27 days ago
JSON representation

A lightweight and modular SDK for building Slack bots and apps in Go. With this SDK, you can easily send messages, manage users, and extend functionality to integrate with the Slack API seamlessly.

Awesome Lists containing this project

README

        

# πŸš€ Slack SDK for Go

A **lightweight** and **modular** SDK for building Slack bots and apps in **Go**. With this SDK, you can easily send messages, manage users, and extend functionality to integrate with the Slack API seamlessly.

---

### 🌟 Features

- πŸ“¨ **Send messages** to Slack channels
- πŸ‘€ **Fetch user information**
- ⚑️ **Extendable** for additional Slack APIs
- 🧩 **Lightweight** and modular design
- 🎯 **Easy integration** into Go projects

---

### πŸ›  Getting Started

#### βœ… Prerequisites

- **Go** 1.18 or later
- A **Slack Bot Token** with the required permissions.
> [Create a Slack App](https://api.slack.com/apps) to generate your token.

#### πŸ“¦ Installation

Add the SDK to your project using:

```sh
go get github.com/pramithamj/slack-sdk-go/pkg/slack
```
✨ Example Usage

Here’s a quick example to send a message using the SDK:
```go
package main

import (
"fmt"
"log"

"github.com/pramithamj/slack-sdk-go/pkg/slack"
)

func main() {
// Replace with your actual Slack Bot Token
token := "xoxb-your-slack-bot-token"
sdk := slack.NewSlackSDK(token)

channel := "C123456789" // Slack channel ID
message := "Hello, Slack from Go SDK!"

response, err := sdk.SendMessage(channel, message)
if err != nil {
log.Fatalf("Error sending message: %v", err)
}

fmt.Printf("Message sent successfully: %v\n", response)
}
```
#### πŸ“– API Methods

1️⃣ SendMessage

Send a message to a Slack channel.

πŸ“₯ Parameters:
β€’ channel (string): The channel ID where the message will be sent.
β€’ text (string): The message text.

πŸ“€ Example:
```go
response, err := sdk.SendMessage("C123456789", "Hello, Slack!")
if err != nil {
log.Fatalf("Error: %v", err)
}
fmt.Println(response)
```
2️⃣ GetUserInfo

Fetch details about a Slack user.

πŸ“₯ Parameters:
β€’ userID (string): The ID of the user.

πŸ“€ Example:
```go
response, err := sdk.GetUserInfo("U123456789")
if err != nil {
log.Fatalf("Error: %v", err)
}
fmt.Println(response)
```
#### πŸ” Testing

Run all tests using:

go test ./tests/...

#### 🀝 Contributing

We welcome contributions! To contribute:
1. Fork the repository
2. Create a new branch: git checkout -b feature-name
3. Commit your changes: git commit -m 'Add feature'
4. Push the branch: git push origin feature-name
5. Open a Pull Request

#### πŸ“œ License

This project is licensed under the MIT License. See the LICENSE file for more details.

πŸ‘€ Author

PramithaMJ
β€’ πŸ’» [PramithaMJ]](https://github.com/pramithamj)
β€’ πŸ“§ [email protected]

Enjoy coding with the Slack SDK for Go! πŸ§‘β€πŸ’»