user14023978
user14023978

Reputation:

Requesting Discord Attachments

What I'm trying to do:

I'm trying to scrape all images in a discord channel and getting their URL by requesting attachments but I can't seem to find a way to request it

Code

const fs = require("fs");
const fetch = require("node-fetch");

function readFileString(path) {
  return fs.readFileSync(path, {encoding: "utf8"}).replace(/\r?\n|\r/g, "");
}

const token = readFileString("token.txt");
const channel = process.argv[2];
if(!channel) {
  console.error("Usage: node index.js <channel id>");
  process.exit(1);
}

const headers = {authorization: token};

async function request(before) {
  const options = {
    method: "GET",
    headers: headers
    
  };
  
  const request = await fetch(
    `https://discord.com/api/channels/${channel}/attachments`, 
    options
  );
    
  return await request.json();
}

let result;

async function go() {
  let page = await request();
  
  result = page;

  while(page.length >= 100) {
    page = await request(page[page.length - 1].id);
    result = result.concat(page);
  }
  
  console.log(`Fetched ${result.length} images`);
  
  fs.writeFileSync("links.json", JSON.stringify(result, null, 2));
}

go();

Output: Console

Fetched undefined images

Output: links.json

{
  "message": "404: Not Found",
  "code": 0
}

Any help of how I would get all image links in the links.json file would be appreciated

Upvotes: 0

Views: 127

Answers (1)

user14023978
user14023978

Reputation:

It seems at looking at the Docs It does not allow you to make a GET request for message attachments.

Upvotes: 1

Related Questions