pythonslackboltbolts-frameworkslack-bolt

SLACK BOLT PYTHON - Although the app should be installed into this workspace, the AuthorizeResult (returned value from authorize) for it was not found


I want to build a simple Slack bolt python project so I followed this document. but when I use python_dotenv and then run my main file (app.py) I face this error:

As `installation_store` or `authorize` has been used, `token` (or SLACK_BOT_TOKEN env variable) will be ignored.

Although the app should be installed into this workspace, the AuthorizeResult (returned value from authorize) for it was not found.

NOTE: by deleting this line in the main file (app.py):

load_dotenv()

and use the export method for defining tokens, everything works correctly.

this is my main file:

import os
from dotenv import load_dotenv
from slack_bolt import App
from slack_bolt.adapter.socket_mode import SocketModeHandler
import logging

load_dotenv() # by deleting this file, the error will be gone, but I want using the dotenv pip


app = App(token=os.environ.get("SLACK_BOT_TOKEN"))
logger = logging.getLogger(__name__)

@app.message("hello")
def message_hello(message, say):
    # say() sends a message to the channel where the event was triggered
    say(f"Hey there <@{message['user']}>!")


# Start your app
if __name__ == "__main__":
    SocketModeHandler(app, os.environ["SLACK_APP_TOKEN"]).start()

Solution

  • I don't know exactly why, but I removed extra keys in the .env file, and everything went fine.

    in .env file: before:

    SLACK_APP_TOKEN=xapp-fake-token
    
    SLACK_BOT_TOKEN=xoxb-fake-token
    
    USER_TOKEN=xoxp-fake-token
    
    SLACK_CLIENT_ID=aa.bb
    
    SLACK_CLIENT_SECRET=YOUR_CLIENT_SECRET
    
    SLACK_API_TOKEN_APP_LEGACY=xoxb-fake-token
    
    SLACK_SIGNING_SECRET=YOUT_SIGNING_SECRET
    

    after:

    SLACK_APP_TOKEN=xapp-fake-token
    
    SLACK_BOT_TOKEN=xoxb-fake-token