Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/tanmay-312/go-nlp-chatbot

GoLang based NLP ChatBot using Slack api, WIT.ai and Wolfram api
https://github.com/tanmay-312/go-nlp-chatbot

backend-service chatbot go golang nlp server slack-api wit-ai witai wolfram-alpha

Last synced: about 10 hours ago
JSON representation

GoLang based NLP ChatBot using Slack api, WIT.ai and Wolfram api

Awesome Lists containing this project

README

        

# GoLang NLP ChatBot

## Overview

This project is a GoLang-based NLP ChatBot integrated with Slack API, WIT.ai, and Wolfram API. The ChatBot leverages natural language processing (NLP) to understand and respond to user queries on Slack, utilizing external APIs for enhanced functionality.

## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
- [Technologies](#technologies)
- [Features](#features)
- [Contributing](#contributing)

## Installation

### Prerequisites

Before you begin, ensure you have the following installed:

- [GoLang](https://golang.org/)
- [Slack API](https://api.slack.com/)
- [WIT.ai API](https://wit.ai/)
- [Wolfram API](https://www.wolframalpha.com/)

### Setup

1. Clone the repository:

```bash
git clone https://github.com/Tanmay-312/GO-NLP-ChatBot.git
cd GO-NLP-ChatBot
```

2. Install dependencies:

```bash
go mod download
```

3. Set up environment variables for APIs (Slack, WIT.ai, Wolfram) in `.env` file:

```plaintext
SLACK_API_TOKEN=your_slack_api_token
WIT_AI_TOKEN=your_wit_ai_token
WOLFRAM_APP_ID=your_wolfram_app_id
```

## Usage

1. Start the GoLang server:

```bash
go run main.go
```

2. Integrate the Slack bot with your workspace using the provided Slack API token.

3. Interact with the bot on Slack by sending messages and receiving responses based on NLP queries handled by WIT.ai and additional information retrieved from Wolfram API.

## Technologies

- **GoLang**: A statically typed, compiled programming language used for backend development.
- **Slack API**: Provides methods for interacting with Slack workspaces and integrating bots.
- **WIT.ai**: Natural language processing platform for understanding user inputs.
- **Wolfram API**: Accesses Wolfram's computational knowledge engine for retrieving information based on queries.

## Features

- **NLP Integration**: Utilizes WIT.ai for understanding natural language queries.
- **API Integration**: Communicates with Wolfram API to fetch relevant information based on user queries.
- **Real-time Interaction**: Provides real-time responses on Slack based on user messages.
- **Scalability**: Built in GoLang for efficient performance and scalability.

## Contributing

Contributions are welcome! Please follow these steps to contribute:

1. Fork the repository.
2. Create a new branch (`git checkout -b feature/your-feature-name`).
3. Commit your changes (`git commit -m 'Add some feature'`).
4. Push to the branch (`git push origin feature/your-feature-name`).
5. Open a pull request.

---

Feel free to customize this README file further to fit the specific details and requirements of your GoLang NLP ChatBot project.