Greasy Fork

Greasy Fork is available in English.

Keylol论坛显示Steam名称

在帖子楼层中显示Steam名称。

目前为 2020-10-09 提交的版本,查看 最新版本

// ==UserScript==
// @name         Keylol论坛显示Steam名称
// @namespace    http://tampermonkey.net/
// @version      1.1.0
// @description  在帖子楼层中显示Steam名称。
// @author       Android_KitKat
// @match        http*://keylol.com/*
// @grant        GM_xmlhttpRequest
// @connect      steamcommunity.com
// @connect      api.steampowered.com
// ==/UserScript==

(function() {
    'use strict';

    // 是否使用WebAPI来获取数据,true为启用,false为禁用。
    var webapi = false;
    // 请在此处填写你的Steam网页API密钥
    // 注册链接: https://steamcommunity.com/dev/apikey
    var apikey = '';

    function AppendNameFromCommunity(bar, steamids) {
        GM_xmlhttpRequest({
            method: 'get',
            url: `https://steamcommunity.com/profiles/${steamids}/?xml=1`,
            headers: {'Content-Type': 'application/x-www-form-urlencoded'},
            onload: function(res) {
                var data = res.responseXML;
                var name = data.getElementsByTagName('steamID')[0].textContent;
                bar.insertBefore(document.createTextNode(name), bar.firstChild);
            }
        });
    }

    function AppendNameFromWebAPI(bar, steamids) {
        GM_xmlhttpRequest({
            method: 'get',
            url: `https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=${apikey}&steamids=${steamids}`,
            headers: {'Content-Type': 'application/x-www-form-urlencoded'},
            onload: function(res) {
                var data = JSON.parse(res.responseText);
                var name = data.response.players[0].personaname;
                bar.insertBefore(document.createTextNode(name), bar.firstChild);
            }
        });
    }

    var bars = document.getElementsByClassName('steam_connect_user_bar');
    for (var bar of bars) {
        var friendlink = bar.getElementsByClassName('steam_connect_user_bar_link_friend')[0].href
        var steamids = friendlink.substring(20);
        webapi ? AppendNameFromWebAPI(bar, steamids): AppendNameFromCommunity(bar, steamids);
    }
})();