Spaces:
Sleeping
Sleeping
| import os | |
| import sys | |
| sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) | |
| from dotenv import load_dotenv | |
| load_dotenv() | |
| from browser_use.browser import BrowserProfile | |
| from browser_use.llm import ChatGoogle | |
| from examples.integrations.slack.slack_api import SlackBot, app | |
| # load credentials from environment variables | |
| bot_token = os.getenv('SLACK_BOT_TOKEN') | |
| if not bot_token: | |
| raise ValueError('Slack bot token not found in .env file.') | |
| signing_secret = os.getenv('SLACK_SIGNING_SECRET') | |
| if not signing_secret: | |
| raise ValueError('Slack signing secret not found in .env file.') | |
| api_key = os.getenv('GOOGLE_API_KEY') | |
| if not api_key: | |
| raise ValueError('GOOGLE_API_KEY is not set') | |
| llm = ChatGoogle(model='gemini-2.0-flash-exp', api_key=api_key) | |
| slack_bot = SlackBot( | |
| llm=llm, # required; instance of BaseChatModel | |
| bot_token=bot_token, # required; Slack bot token | |
| signing_secret=signing_secret, # required; Slack signing secret | |
| ack=True, # optional; whether to acknowledge task receipt with a message, defaults to False | |
| browser_profile=BrowserProfile( | |
| headless=True | |
| ), # optional; useful for changing headless mode or other browser configs, defaults to headless mode | |
| ) | |
| app.dependency_overrides[SlackBot] = lambda: slack_bot | |
| if __name__ == '__main__': | |
| import uvicorn | |
| uvicorn.run('integrations.slack.slack_api:app', host='0.0.0.0', port=3000) | |