我正在尝试用 Python 编写一个简单的 Slack 机器人,但由于 SSL 问题而无法连接。这使得我发现的教程中的所有示例都不起作用。我还按照 this 帖子中的建议尝试使用 certifi 对解决方案进行多次迭代,但没有成功。
相关代码如下:
import slack
import os
from pathlib import Path
from dotenv import load_dotenv
import ssl
import certifi
ssl_context = ssl.create_default_context(cafile=certifi.where())
env_path = Path('.') / '.env'
load_dotenv(dotenv_path = env_path)
client = slack.WebClient(token = os.environ['SLACK_TOKEN'], ssl = ssl_context)
client.chat_postMessage(channel = '#bot-channel', text = 'Hello World!')
以及错误消息:
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:997)>
Python版本是3.10.5
slackclient
已弃用。您应该使用 新的 slack_sdk 来代替。新的sdk似乎不需要SSL证书,因此完全避免了这个问题。