Я хочу создать простой проект Python для Slack Bolt, поэтому я следовал этому документу. но когда я использую python_dotenv, а затем запускаю свой основной файл (app.py), я сталкиваюсь с этой ошибкой:
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.
ПРИМЕЧАНИЕ: удалив эту строку в основном файле (app.py):
load_dotenv()
и использовать метод экспорта для определения токенов, все работает правильно.
это мой основной файл:
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()






Не знаю точно почему, но я удалил лишние ключи в файле .env, и все пошло нормально.
в файле .env: до:
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
после:
SLACK_APP_TOKEN=xapp-fake-token
SLACK_BOT_TOKEN=xoxb-fake-token
Похоже, этот вопрос уже поднимался. Это может помочь взглянуть на это: github.com/slackapi/bolt-python/issues/664