Vault Copy

description

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         Vault Copy
// @namespace    namespace
// @version      0.1
// @description  description
// @author       tos
// @match       *.torn.com/properties.php*
// @grant        GM_addStyle
// @grant        GM_setClipboard
// ==/UserScript==

GM_addStyle(`
#x_button_right {
  background-color: #c13c3c;
  color: #eaeaea;
  cursor: pointer;
  padding: 1em;
  position: fixed;
  right: 0;
}
`)

document.querySelector('div.content').insertAdjacentHTML('beforebegin', `<div id="x_button_right">Copy Vault</div>`)

document.querySelector('#x_button_right').addEventListener('click', (e) => {
  let csv = []
  document.querySelectorAll('UL.vault-trans-list>LI').forEach((li) => {
    let line = []
    line.push(li.querySelector('li.date').innerText.replace(/ AM| PM/g, ''))
    line.push(li.querySelector('li.user img') ? li.querySelector('li.user img').title : 'User')
    line.push(li.querySelector('li.type').innerText)
    line.push(li.querySelector('li.amount').innerText)
    line.push(li.querySelector('li.balance').innerText)
    //console.log(line)
    csv.push(line.join('\t'))
  })
  GM_setClipboard(csv.join('\n'))
})