JS Вопрос по Форуму Arizona RP

Статус
В этой теме нельзя размещать новые ответы.

BeMoRee

Новичок
Автор темы
15
3
Есть люди которые лайкают темы других пользователей за 1 секунду более 100 тем.
Говорят нужно код писать, какой код кто подскажет?
 
  • Нравится
Реакции: sa.lazin
Решение
Ставит любовь на все сообщения форумника.
JavaScript:
const isUserMessages = location.href.startsWith("https://forum.arizona-rp.com/search/") && document.querySelector("#top > div.p-body-header > div > div > div > h1") && document.querySelector("#top > div.p-body-header > div > div > div > h1").innerText === "Результаты поиска"

const csrf = document.querySelector("html").getAttribute('data-csrf')

function LikePage(gonext, errored, IDREACT) {
  function getPosts() {
    const posts = document.querySelectorAll("#top > div.p-body > div > div.uix_contentWrapper > div > div > div > div > div.block-container > ol > li > div > div > h3 > a")
    if (!posts) return []
    return Array.from(posts).map(e => {
      const urlPost =...

Zeusss

Активный
169
35
Ставит любовь на все сообщения форумника.
JavaScript:
const isUserMessages = location.href.startsWith("https://forum.arizona-rp.com/search/") && document.querySelector("#top > div.p-body-header > div > div > div > h1") && document.querySelector("#top > div.p-body-header > div > div > div > h1").innerText === "Результаты поиска"

const csrf = document.querySelector("html").getAttribute('data-csrf')

function LikePage(gonext, errored, IDREACT) {
  function getPosts() {
    const posts = document.querySelectorAll("#top > div.p-body > div > div.uix_contentWrapper > div > div > div > div > div.block-container > ol > li > div > div > h3 > a")
    if (!posts) return []
    return Array.from(posts).map(e => {
      const urlPost = /\/threads\/(\d+)\/post-(\d+)/
      const urlProfilePost = /\/(profile-posts\/comments|profile-posts)\/(\d+)/
      if (
        urlPost.test(e.href)
      ) {
        const [, thread, postId] = urlPost.exec(e.href)
        return { type: "posts", id: postId }
      }
      if (
        urlProfilePost.test(e.href)
      ) {
        const [, type, postId] = urlProfilePost.exec(e.href)
        return { type, id: postId }
      }
      return {}
    })
  }

  function sendReact(typepost, postid, id = 1) {
    const form = new FormData()
    form.append("_xfToken", csrf)
    form.append("reaction_id", id)
    return fetch(`/${typepost}/${postid}/react`, {
      method: "POST",
      body: form
    })
  }

  Promise.all(getPosts().map(
    post => {
      if (!post.id) return new Promise(res => res("negr"));
      return sendReact(post.type, post.id, IDREACT).then(res => res !== "negr" ? res.text() : res).then(res => console.log(`[post] [react] [liked]`)).catch(err => console.error(`[post] [react error] ${err}`))
    }
  )).then(gonext).catch(errored)
}

function NextPage(lastpagecb) {
  const nextbutton = document.querySelector("#top > div.p-body > div > div.uix_contentWrapper > div > div > div > div > div.block-outer.block-outer--after > div.block-outer-main > nav > div.pageNav > a.pageNav-jump.pageNav-jump--next")
  const loadold = document.querySelector("#top > div.p-body > div > div.uix_contentWrapper > div > div > div > div > div.block-container > div > span > a")

  if (nextbutton) return location.href = nextbutton.href
  if (loadold) return location.href = loadold.href

  return lastpagecb && lastpagecb()

}

(async a => {
  if (isUserMessages) {
    LikePage(() => NextPage(() => alert("Это последняя страница, работа бота окончена!\nНе забудьте выключить скрипт!")), () => console.error("бебра ошибка произошла при фетче..."), 2)
  } else {
    console.log("не страница сообщений пользователя!")
  }
})(1)
 
  • Нравится
Реакции: itstime, _razor и BeMoRee

BeMoRee

Новичок
Автор темы
15
3
Ставит любовь на все сообщения форумника.
JavaScript:
const isUserMessages = location.href.startsWith("https://forum.arizona-rp.com/search/") && document.querySelector("#top > div.p-body-header > div > div > div > h1") && document.querySelector("#top > div.p-body-header > div > div > div > h1").innerText === "Результаты поиска"

const csrf = document.querySelector("html").getAttribute('data-csrf')

function LikePage(gonext, errored, IDREACT) {
  function getPosts() {
    const posts = document.querySelectorAll("#top > div.p-body > div > div.uix_contentWrapper > div > div > div > div > div.block-container > ol > li > div > div > h3 > a")
    if (!posts) return []
    return Array.from(posts).map(e => {
      const urlPost = /\/threads\/(\d+)\/post-(\d+)/
      const urlProfilePost = /\/(profile-posts\/comments|profile-posts)\/(\d+)/
      if (
        urlPost.test(e.href)
      ) {
        const [, thread, postId] = urlPost.exec(e.href)
        return { type: "posts", id: postId }
      }
      if (
        urlProfilePost.test(e.href)
      ) {
        const [, type, postId] = urlProfilePost.exec(e.href)
        return { type, id: postId }
      }
      return {}
    })
  }

  function sendReact(typepost, postid, id = 1) {
    const form = new FormData()
    form.append("_xfToken", csrf)
    form.append("reaction_id", id)
    return fetch(`/${typepost}/${postid}/react`, {
      method: "POST",
      body: form
    })
  }

  Promise.all(getPosts().map(
    post => {
      if (!post.id) return new Promise(res => res("negr"));
      return sendReact(post.type, post.id, IDREACT).then(res => res !== "negr" ? res.text() : res).then(res => console.log(`[post] [react] [liked]`)).catch(err => console.error(`[post] [react error] ${err}`))
    }
  )).then(gonext).catch(errored)
}

function NextPage(lastpagecb) {
  const nextbutton = document.querySelector("#top > div.p-body > div > div.uix_contentWrapper > div > div > div > div > div.block-outer.block-outer--after > div.block-outer-main > nav > div.pageNav > a.pageNav-jump.pageNav-jump--next")
  const loadold = document.querySelector("#top > div.p-body > div > div.uix_contentWrapper > div > div > div > div > div.block-container > div > span > a")

  if (nextbutton) return location.href = nextbutton.href
  if (loadold) return location.href = loadold.href

  return lastpagecb && lastpagecb()

}

(async a => {
  if (isUserMessages) {
    LikePage(() => NextPage(() => alert("Это последняя страница, работа бота окончена!\nНе забудьте выключить скрипт!")), () => console.error("бебра ошибка произошла при фетче..."), 2)
  } else {
    console.log("не страница сообщений пользователя!")
  }
})(1)
Я вот когда его юзаю, у меня почему-то потом на сайт некоторое время не заходит, только с ВПН
1645122239683.png
 

cappy

Участник
170
15
Ставит любовь на все сообщения форумника.
JavaScript:
const isUserMessages = location.href.startsWith("https://forum.arizona-rp.com/search/") && document.querySelector("#top > div.p-body-header > div > div > div > h1") && document.querySelector("#top > div.p-body-header > div > div > div > h1").innerText === "Результаты поиска"

const csrf = document.querySelector("html").getAttribute('data-csrf')

function LikePage(gonext, errored, IDREACT) {
  function getPosts() {
    const posts = document.querySelectorAll("#top > div.p-body > div > div.uix_contentWrapper > div > div > div > div > div.block-container > ol > li > div > div > h3 > a")
    if (!posts) return []
    return Array.from(posts).map(e => {
      const urlPost = /\/threads\/(\d+)\/post-(\d+)/
      const urlProfilePost = /\/(profile-posts\/comments|profile-posts)\/(\d+)/
      if (
        urlPost.test(e.href)
      ) {
        const [, thread, postId] = urlPost.exec(e.href)
        return { type: "posts", id: postId }
      }
      if (
        urlProfilePost.test(e.href)
      ) {
        const [, type, postId] = urlProfilePost.exec(e.href)
        return { type, id: postId }
      }
      return {}
    })
  }

  function sendReact(typepost, postid, id = 1) {
    const form = new FormData()
    form.append("_xfToken", csrf)
    form.append("reaction_id", id)
    return fetch(`/${typepost}/${postid}/react`, {
      method: "POST",
      body: form
    })
  }

  Promise.all(getPosts().map(
    post => {
      if (!post.id) return new Promise(res => res("negr"));
      return sendReact(post.type, post.id, IDREACT).then(res => res !== "negr" ? res.text() : res).then(res => console.log(`[post] [react] [liked]`)).catch(err => console.error(`[post] [react error] ${err}`))
    }
  )).then(gonext).catch(errored)
}

function NextPage(lastpagecb) {
  const nextbutton = document.querySelector("#top > div.p-body > div > div.uix_contentWrapper > div > div > div > div > div.block-outer.block-outer--after > div.block-outer-main > nav > div.pageNav > a.pageNav-jump.pageNav-jump--next")
  const loadold = document.querySelector("#top > div.p-body > div > div.uix_contentWrapper > div > div > div > div > div.block-container > div > span > a")

  if (nextbutton) return location.href = nextbutton.href
  if (loadold) return location.href = loadold.href

  return lastpagecb && lastpagecb()

}

(async a => {
  if (isUserMessages) {
    LikePage(() => NextPage(() => alert("Это последняя страница, работа бота окончена!\nНе забудьте выключить скрипт!")), () => console.error("бебра ошибка произошла при фетче..."), 2)
  } else {
    console.log("не страница сообщений пользователя!")
  }
})(1)
как его активировать?
и как установить?
 

пустота

Участник
74
15
Ставит любовь на все сообщения форумника.
JavaScript:
const isUserMessages = location.href.startsWith("https://forum.arizona-rp.com/search/") && document.querySelector("#top > div.p-body-header > div > div > div > h1") && document.querySelector("#top > div.p-body-header > div > div > div > h1").innerText === "Результаты поиска"

const csrf = document.querySelector("html").getAttribute('data-csrf')

function LikePage(gonext, errored, IDREACT) {
  function getPosts() {
    const posts = document.querySelectorAll("#top > div.p-body > div > div.uix_contentWrapper > div > div > div > div > div.block-container > ol > li > div > div > h3 > a")
    if (!posts) return []
    return Array.from(posts).map(e => {
      const urlPost = /\/threads\/(\d+)\/post-(\d+)/
      const urlProfilePost = /\/(profile-posts\/comments|profile-posts)\/(\d+)/
      if (
        urlPost.test(e.href)
      ) {
        const [, thread, postId] = urlPost.exec(e.href)
        return { type: "posts", id: postId }
      }
      if (
        urlProfilePost.test(e.href)
      ) {
        const [, type, postId] = urlProfilePost.exec(e.href)
        return { type, id: postId }
      }
      return {}
    })
  }

  function sendReact(typepost, postid, id = 1) {
    const form = new FormData()
    form.append("_xfToken", csrf)
    form.append("reaction_id", id)
    return fetch(`/${typepost}/${postid}/react`, {
      method: "POST",
      body: form
    })
  }

  Promise.all(getPosts().map(
    post => {
      if (!post.id) return new Promise(res => res("negr"));
      return sendReact(post.type, post.id, IDREACT).then(res => res !== "negr" ? res.text() : res).then(res => console.log(`[post] [react] [liked]`)).catch(err => console.error(`[post] [react error] ${err}`))
    }
  )).then(gonext).catch(errored)
}

function NextPage(lastpagecb) {
  const nextbutton = document.querySelector("#top > div.p-body > div > div.uix_contentWrapper > div > div > div > div > div.block-outer.block-outer--after > div.block-outer-main > nav > div.pageNav > a.pageNav-jump.pageNav-jump--next")
  const loadold = document.querySelector("#top > div.p-body > div > div.uix_contentWrapper > div > div > div > div > div.block-container > div > span > a")

  if (nextbutton) return location.href = nextbutton.href
  if (loadold) return location.href = loadold.href

  return lastpagecb && lastpagecb()

}

(async a => {
  if (isUserMessages) {
    LikePage(() => NextPage(() => alert("Это последняя страница, работа бота окончена!\nНе забудьте выключить скрипт!")), () => console.error("бебра ошибка произошла при фетче..."), 2)
  } else {
    console.log("не страница сообщений пользователя!")
  }
})(1)
Можно как то сделать чтобы вместо любви ставил лайки? а то любовь не даёт +реакции больше
 
Статус
В этой теме нельзя размещать новые ответы.