Взять данные со вчерашнего дня - PullRequest
0 голосов
/ 27 сентября 2018

Так что мне нужно взять данные только за день до.Пример: сегодня 2018/9/25, мне нужны данные только на 2018/9/24.Но из моего кода ниже, это занимает от 23 до 25. Это больше, чем один день, и это заняло также два дня до даты, которая мне нужна.Я не знаю, какой код дает неправильный результат.Кто-нибудь может мне помочь с этим?Я действительно ценю это.

Api.js

const TO_DAYS = 4194304 * 1000 * 60 * 60 * 24; // this part that might be the cause
const ROOT_DATE = moment([2018, 3, 30]); // this part that might be the cause
const ROOT_DATE_ID = 440557948108800000; // this part that might be the cause

const DATE_ID = function(date) {
  return ROOT_DATE_ID + date.diff(ROOT_DATE, "days") * TO_DAYS;
}; // this part that might be the cause

class discordApi {
  constructor() {
    this.lock = new AsyncLock();
  }
  get(momentDate, authorId, offset = 0) {
    const url =
      config.endpoint +
      querystring.stringify({
        min_id: DATE_ID(momentDate),
        author_id: authorId
      });
    return fetch(url, {
      headers: {
        method: "GET",
        Authorization: config.auth
      }
    }).then(res => {
      // console.log(res.url);
      return res.json();
    });
  }

  async getAllData(momentDate) {
    const allData = config.targets.map(author_id =>
      this.get(momentDate, author_id)
    );
    return Promise.all(allData);
  }

index.js

 var yesterday = moment().subtract(1, "days"); // this part that might be the cause

    async function sendEmail() {
      const data = await discordApi.getAllData(yesterday);
      const unfilteredMessages = data.reduce(
        (prev, current) => [...prev, ...current.messages],
        []
      );
      const filteredMessages = unfilteredMessages.reduce((prev, current) => {
        if (prev.length === 0) {
          return [...prev, current];
        }
        const currentConversationIsDuplicated = isConversationDuplicated(
          prev[prev.length - 1],
          current
        );
        if (currentConversationIsDuplicated) {
          return prev;
        }
        ret

urn [...prev, current];
  }, []);
  const convo = await discordApi.AllConvo(filteredMessages);

  const mailOptions = {
    from: "lala@gmail.com",
    to: maillist,
    subject: "Discord-Bot Daily Data",
    html: convo
  };
  transporter.sendMail(mailOptions, function(err, info) {
    if (err) console.log(err);
    else console.log("Message Sent!");
  });
}
...