Skip to content
This repository has been archived by the owner on Oct 4, 2024. It is now read-only.

Latest commit

 

History

History
49 lines (34 loc) · 1.45 KB

README.md

File metadata and controls

49 lines (34 loc) · 1.45 KB

slack_command_bot component

With this app you can create a Slack bot and enable interactivity with the Slash Commands. It can recieve slash commands and send message or files with the Slack client API.

How to Run Slack Command Bot

First, install slack_command_bot (warning: this component has not been officially approved on the lightning gallery):

lightning install component git+https://github.com/Lightning-AI/LAI-slack-messenger.git@main

Once the app is installed, use it in an app:

from slack_command_bot import SlackCommandBot
import lightning as L
import slack
from flask import request


class DemoSlackCommandBot(SlackCommandBot):
    def handle_command(self):
        """Customize this method the way you want your bot to interact with the prompt."""
        client = slack.WebClient(token=self.bot_token)
        data: dict = request.form
        channel_id = data["channel_id"]

        client.chat_postMessage(text="testing post msg", channel=channel_id)
        return "Hey there! command was received successfully", 200


class LitApp(L.LightningFlow):
    def __init__(self) -> None:
        super().__init__()
        self.slack_bot = DemoSlackCommandBot(command="/LAIcommand")

    def run(self):
        print(
            "this is a simple Lightning app to verify your component is working as expected"
        )
        self.slack_bot.run()


app = L.LightningApp(LitApp())