顯示廣告
隱藏 ✕
※ 本文轉寄自 ptt.cc 更新時間: 2023-01-12 23:33:27
看板 LoL
作者 panex0845 (胖克思)
標題 Re: [閒聊] 積分選角隱藏隊友名字 如何查戰績?
時間 Thu Jan 12 17:28:49 2023


※ 引述《a5687920 (苦大師)》之銘言:
: 現在積分隱藏隊友名字 有點不人道耶
: 因為查到雷包我寧願跳game 等五分鐘 也不想進去浪費20分...
: 這機制到底何時會改回來 現在原廠直營 要查更方便了
: 還有辦法在選角時查到嗎?

========警告=======
本文僅用於學術教育目的 請勿使用任何方法去查詢隊友ID
看到任何宣稱可以在積分查隊友的APP或網頁也不要使用
否則你的帳號會被BAN 14天
===================


要查隊友ID很簡單,用RIOT內建的LCU就可以查了 (13.1仍可用)

以python為例,實作如下:

首先先導入需要的模組,並建立一個類別

from win32com.client import GetObject
import base64, requests
requests.packages.urllib3.disable_warnings()

class LCU:

  def __init__(self):
      self.process = 'LeagueClientUx.exe'
      self.protocol = 'https'
      self.host = '127.0.0.1'

  建立一個函式,使用wmi去查詢需要的資料

  def get_gameData(self):
      winmgmts = GetObject('winmgmts:')
      processes = winmgmts.InstancesOf('Win32_Process')
      for p in processes:
          if p.Properties_("Name").Value == self.process:
              return p.Properties_[1].Value

 這個會返回下列字串
 "D:/Riot Games/League of Legends/LeagueClientUx.exe"
 "--riotclient-auth-token=xxxxxxxxxxxxxxxxx"
 "--riotclient-app-port=12345"

 其他不重要的就不貼了,我們要是riotclient token 跟 app-port

 用re處理一下,宣告變數如下

 self.riotclientToken = xxxxxxxxxxxxxxxxx
 self.riotclientPort = 12345

 接著要把這個Token轉成base64
 self.token = base64.b64encode(('riot:' + self.riotclientToken)
              .encode("ascii")).decode('ascii')

 再宣告hearder,下面的請求函式會用到
 self.headers = {'Accept': 'application/json, text/plain, */*',
                 'Authorization' : f'Basic {self.token}'}

 最後建立一個請求函式就大功告成了

 def open_request(self, url):
     u = f'{self.protocol}://{self.host}:{self.riotclientPort}{url}'
     r = requests.get(u, headers=self.headers, verify=False)
     return r.text

 如果成功,會回傳一個json格式的字串,裡頭就是所有玩家資料

 主程式如下,在選角的時候執行就會印出所有玩家了

 def main():
     url = '/chat/v5/participants/champ-select'
     lcu = LCU()
     players = lcu.open_request(url)
     print(players)


=====再次警告=====
這是RIOT開放的內建LCU API,理論上可以用
但是現在(13.1)用了就是BAN 14天
愛惜帳號 千萬不要用
==================

--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.162.245 (臺灣)
※ 文章代碼(AID): #1ZlzBJim (LoL)
※ 文章網址: https://www.ptt.cc/bbs/LoL/M.1673515731.A.B30.html
adam00159   : 摁摁 懂了 謝謝1F 01/12 17:32
a5687920    : 看起來不難2F 01/12 17:33
fishpill    : 恩 先推以防別人覺得我看不懂3F 01/12 17:33
eaurouge7   : 我也是這樣想的4F 01/12 17:35
wai0806     : 我就知道是這樣 你怎麼分享出來了5F 01/12 17:37
jokerpok    : 學會了6F 01/12 17:39
Devenskorte : 還要用python喔==7F 01/12 17:41
DonDonFans  : 直接給code有料8F 01/12 17:42
Godist      : LCU API 還能用在像是批量加好友、批量分解碎片、開9F 01/12 17:42
Godist      : 寶箱、兌換活動代幣、3種方式的改名(G社時期可以用
Chaoge      : 嗯嗯懂了11F 01/12 17:43
Godist      : 這個方法創建16字中文ID,現在不確定)12F 01/12 17:43
Godist      : 使用其他LCU API的端點應該沒問題,只是將原本手動
Godist      : 發出的請求改由程式發出,這個端點應該是客戶端無法
Godist      : 請求,訪問這個端點的都會被視為異常導致被BAN
ZoeyDestiny : 恩恩 說的沒錯16F 01/12 17:49
Arens5566   : 原來這麼容易17F 01/12 17:52
ibook0102   : EASY18F 01/12 17:53
gcobc12632  : 為什麼開放內建但用了會被BAN啊= =19F 01/12 18:01
roliproject : 原本想說這麼簡單的東西大家應該都會,還是感謝你20F 01/12 18:07
roliproject : 出來教
rosalic0423 : 懂 我不玩了謝謝22F 01/12 18:14
twosheep0603: 因為不是可信的第三方程式吧23F 01/12 18:19
ha878787    : 還以為點到軟工板24F 01/12 18:21
Chanlin01   : 不必去查25F 01/12 18:21
Godist      : 是那個查隊友的節點在客戶端被禁用了,正常玩家無法26F 01/12 18:23
Godist      : 使用那個節點,所以能請求的會被視為使用非法程式吧
Godist      : ,不然我都用LCU API開箱和分解碎片的
c22501656   : 左轉好嗎走錯棚了29F 01/12 18:29
mikobestgirl: 嗯嗯 就是這樣30F 01/12 18:33
hehehaha1120: 太棒了 看個LOL版還能學Python寫程式31F 01/12 18:36
Tiandai     : 真的是LOL板可知天下事 只差LOL資訊了32F 01/12 18:38
g5637128    : 看lol板學python33F 01/12 18:44
Harry0109   : LOL版除了LOL之外的事情真的很豐富...34F 01/12 18:52
howdo1793   : Python豚35F 01/12 18:56
A9226       : 嗯嗯 跟我想的一樣36F 01/12 19:03
canlest     : 差不多是這意思37F 01/12 19:10
clywin123   : 寫得清楚明瞭!!38F 01/12 19:44
un94su3     : 跟我想的一樣嘛39F 01/12 19:55
smes95303   : 用了就會被ban? 為啥40F 01/12 20:06

--
※ 看板: LoL 文章推薦值: 0 目前人氣: 0 累積人氣: 457 
作者 panex0845 的最新發文:
點此顯示更多發文記錄
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇