PTT評價

Re: [閒聊] 積分選角隱藏隊友名字 如何查戰績?

看板LoL標題Re: [閒聊] 積分選角隱藏隊友名字 如何查戰績?作者
panex0845
(胖克思)
時間推噓29 推:30 噓:1 →:12

※ 引述《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 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.162.245 (臺灣)
PTT 網址

adam00159 01/12 17:32摁摁 懂了 謝謝

a5687920 01/12 17:33看起來不難

fishpill 01/12 17:33恩 先推以防別人覺得我看不懂

eaurouge7 01/12 17:35我也是這樣想的

wai0806 01/12 17:37我就知道是這樣 你怎麼分享出來了

jokerpok 01/12 17:39學會了

Devenskorte 01/12 17:41還要用python喔==

DonDonFans 01/12 17:42直接給code有料

Godist 01/12 17:42LCU API 還能用在像是批量加好友、批量分解碎片、開

Godist 01/12 17:42寶箱、兌換活動代幣、3種方式的改名(G社時期可以用

Chaoge 01/12 17:43嗯嗯懂了

Godist 01/12 17:43這個方法創建16字中文ID,現在不確定)

Godist 01/12 17:47使用其他LCU API的端點應該沒問題,只是將原本手動

Godist 01/12 17:47發出的請求改由程式發出,這個端點應該是客戶端無法

Godist 01/12 17:47請求,訪問這個端點的都會被視為異常導致被BAN

ZoeyDestiny 01/12 17:49恩恩 說的沒錯

Arens5566 01/12 17:52原來這麼容易

ibook0102 01/12 17:53EASY

gcobc12632 01/12 18:01為什麼開放內建但用了會被BAN啊= =

roliproject 01/12 18:07原本想說這麼簡單的東西大家應該都會,還是感謝你

roliproject 01/12 18:07出來教

rosalic0423 01/12 18:14懂 我不玩了謝謝

twosheep060301/12 18:19因為不是可信的第三方程式吧

ha878787 01/12 18:21還以為點到軟工板

Chanlin01 01/12 18:21不必去查

Godist 01/12 18:23是那個查隊友的節點在客戶端被禁用了,正常玩家無法

Godist 01/12 18:23使用那個節點,所以能請求的會被視為使用非法程式吧

Godist 01/12 18:23,不然我都用LCU API開箱和分解碎片的

c22501656 01/12 18:29左轉好嗎走錯棚了

mikobestgirl01/12 18:33嗯嗯 就是這樣

hehehaha112001/12 18:36太棒了 看個LOL版還能學Python寫程式

Tiandai 01/12 18:38真的是LOL板可知天下事 只差LOL資訊了

g5637128 01/12 18:44看lol板學python

Harry0109 01/12 18:52LOL版除了LOL之外的事情真的很豐富...

howdo1793 01/12 18:56Python豚

A9226 01/12 19:03嗯嗯 跟我想的一樣

canlest 01/12 19:10差不多是這意思

clywin123 01/12 19:44寫得清楚明瞭!!

un94su3 01/12 19:55跟我想的一樣嘛

smes95303 01/12 20:06用了就會被ban? 為啥

a8785007 01/13 03:08跟我想的一樣

Matil225803701/13 09:11內碼跟我自己寫的一樣

q123038468 01/14 06:36too easy