Access Slack files from a slack bot

前端 未结 4 1262
小蘑菇
小蘑菇 2021-02-18 23:28

I need a slack bot that\'s able to receive and save files send from slack chatrooms.

The problem is: slack doesn\'t send file contents, but an array of links pointing to

4条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-02-18 23:50

    Tested with Python3 - just replace SLACK_TOKEN with your token. Downloads and creates an output file.

    #!/usr/bin/env python3
    # Usage: python3 download_files_from_slack.py 
    
    import sys
    import re
    import requests
    
    url = " ".join(sys.argv[1:])
    
    token = 'SLACK_TOKEN'
    resp = requests.get(url, headers={'Authorization': 'Bearer %s' % token})
    
    headers = resp.headers['content-disposition']
    fname = re.findall("filename=(.*?);", headers)[0].strip("'").strip('"')
    
    assert not os.path.exists(fname), print("File already exists. Please remove/rename and re-run")
    out_file = open(fname, mode="wb+")
    out_file.write(resp.content)
    out_file.close()
    

提交回复
热议问题