LOLAPI调用实现自动接受对局

英雄联盟玩家应该都知道在我们匹配游戏时匹配成功的时候会提示是否接受对局

这个机制让很多玩家很难受所以我在网上搜了很多的LOLAPI的文章想要解决这个问题

给大家分享一些常用的API

# 获取召唤师的信息(get)
# "/lol-summoner/v1/current-summoner"

# 判断 用户状态 api(get)
# "/lol-gameflow/v1/gameflow-phase"
# 返回值
# InProgress  游戏中
# Reconnect 重新连接
# ReadyCheck 需要接受对局
# ChampSelect 选择英雄中


# 自动接受对局 api(post)
# url_one = "/lol-matchmaking/v1/ready-check/accept"

# 获取好友名称(get)
# "/lol-game-client-chat/v1/buddies"

# 获得好友名称  状态(get)
# "/lol-chat/v1/friends"

# 给好友发送消息 (post 字典{"summonerName":"召唤师姓名","message":"消息"})
# "/lol-game-client-chat/v1/instant-messages"

# 游戏掉了之后自动重新连接
# "/lol-gameflow/v1/reconnect"

获取当前对局信息
/lol-gameflow/v1/session

获取已拥有的英雄的信息(GET 
/lol-champions/v1/owned-champions-minimal),下面是返回结果(只选取了一个出来分析):

查看召唤师历史记录
/lol-match-history/v1/products/lol/{puuid}/matches
puuid 可以根据获取当前信息获得

使用Python代码实现LOL自动接受对局

本人学习Python学得还学得不太好希望大佬理解下,其实实现的逻辑都是一样的

通过API获取玩家状态当状态为接受对局的状态后在进行调用接受对局的API

还可以通过以上的API实现一个检测最近同局玩家的一个功能曾经实现过但是代码忘放哪了

程序必须是管理员运行

如果是在pycharm中测试的话,以管理员身份运行pycharm就行了

import os
import requests
import re
import base64
import urllib3


class LOL:

    def __init__(self):
        urllib3.disable_warnings()
        # 运行 cmd命令 并进行获取输出结果
        result = os.popen('wmic PROCESS WHERE name="LeagueClientUx.exe" GET commandline')

        result = result.read().replace(' ', '').split(' ')

        # 获取 用户 token
        token = re.findall(re.compile(r'"--remoting-auth-token=(.*?)"'), result[0])

        # 获取 用户端口
        self.__port = re.findall(re.compile(r'"--app-port=(.*?)"'), result[0])

        # 或解密之后的 token
        self.__token = base64.b64encode(("riot:" + token[0]).encode("UTF-8")).decode("UTF-8")

        # 制作 请求头
        self.__headers = {
            "Accept": "application/json",
            "Content-Type": "application/json",
            "Authorization": "Basic " + self.__token
        }

        # 构成 本机地址 端口
        self.__url = 'https://127.0.0.1:' + str(self.__port[0])

    def get(self, url):
        return requests.get(url=self.__url + url, headers=self.__headers, verify=False).json()

    def post(self, url):
        return requests.post(url=self.__url + url, headers=self.__headers, verify=False).json()


if __name__ == '__main__':

    # 创建 LOL 类 实例对象
    lOL_project = LOL()

    # 获取 召唤师名称
    print(f'召唤师名称 : {(lOL_project.get("/lol-summoner/v1/current-summoner"))["displayName"]}')

    # 获取 召唤师 用户编号
    print(f'用户编号 : {lOL_project.get("/lol-summoner/v1/current-summoner")["accountId"]}')



LeagueCustomLobby(github)
https://github.com/XHXIAIEIN/LeagueCustomLobby(神中神,帮助很大)

LeagueCustomLobby(github)https://github.com/XHXIAIEIN/LeagueCustomLobby(很难不磕一个再走)

  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值