Files
OpenBB/bots/slack/run_slack.py
2022-03-28 21:08:23 -04:00

44 lines
1.1 KiB
Python

import logging
import os
from dotenv import load_dotenv
from slack_bolt import App
from slack_bolt.adapter.socket_mode import SocketModeHandler
from bots.common.commands_dict import commands
from bots.common.helpers import non_slash
from bots.helpers import ShowView
load_dotenv()
app = App(token=os.environ["OPENBB_SLACK_APP_TOKEN"])
available_commands = list(commands.keys())
@app.event("message")
def processMessage(event, client):
"""Process users' commands"""
channel_id = event.get("channel")
user_id = event.get("user")
text = event.get("text")
non_slash(
text,
lambda x: client.chat_postMessage(
**{"channel": channel_id, "username": user_id, "text": x}
),
lambda x, y, z: ShowView().slack(x, channel_id, user_id, client, y, **z),
)
if __name__ == "__main__":
# TODO: replace with GST logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
logger.addHandler(logging.StreamHandler())
handler = SocketModeHandler(
app,
os.environ["OPENBB_SLACK_BOT_TOKEN"],
)
handler.start()