Список друзей сообщества Steam и отправка им сообщений

Я пытаюсь сделать небольшое приложение для работы с моей командой в Steam, и я использую реализацию jave, предлагаемую в Steam, «Steam Condenser».

Итак, я попытался получить информацию об игроке, например,

    SteamId id = SteamId.create("XXXXXXXXXX");

    String avatar_url = id.getAvatarMediumUrl();
    String avatar_name = id.getNickname();


    System.out.println(avatar_name);
    System.out.println(avatar_url); 

    SteamId[] friend = id.getFriends();
    for(int i =0 ; i<friend.length;i++)
    {
        fr = friend [i];
        //where null is in
        System.out.println(fr.getNickname());
    }

Но когда я запускаю его, он дает мне правильное имя Аватора, URL-адрес и т. д., но для списка друзей я получаю все "null" (получает правильное количество нулей). неправильный?

и я не вижу никакого другого способа или даже другого API или любых других примеров для отправки сообщения другу, но у всех нас есть спам-боты, отправляющие нам сообщения каждый день, так как мы можем отправить сообщение другу.

Большое спасибо за вашу помощь ......


person Archangle    schedule 05.03.2015    source источник
comment
Я предполагаю, что null вы получаете от System.out.println(id.getNickname());? Если это так, вам нужно посмотреть на метод getNickname(), а также на то, какие SteamId.create назначают псевдонимы.   -  person Vitruvie    schedule 05.03.2015
comment
Бьюсь об заклад, вы имеете в виду сообщение. Но мне тоже не помешал бы массаж прямо сейчас. :)   -  person Fildor    schedule 05.03.2015
comment
@Филдор. Я отредактировал его, спасибо за помощь.   -  person Archangle    schedule 05.03.2015
comment
@Saposhiente, извините, я исправил это в коде. Я пробовал несколько способов сделать это и добавил неправильный цикл. Теперь вопрос в правильном направлении дает мне нули, спасибо за помощь, братан.   -  person Archangle    schedule 05.03.2015


Ответы (1)


SteamId#fetchFriends() возвращает невыбранные (то есть пустые) экземпляры SteamId для каждого друга. Сначала вам нужно будет вызвать #fetchData() на каждом из них.

SteamId[] friends = id.getFriends();
for (int i = 0; i < friend.length; i++) {
    friend[i].fetchData(); // This will get the profile data of that friend
    System.out.println(friend[i].getNickname());
}

Обратите внимание, что для этого потребуется дополнительный HTTP-запрос для каждого друга в списке.

person Koraktor    schedule 05.03.2015
comment
Спасибо за ваш ответ, братан, я могу отправить сообщение другу, используя ваш проект? , И спасибо за ваш вклад для всех паровых геймеров :) . - person Archangle; 05.03.2015
comment
@Archangle: Нет, извините, для этого нет общедоступного API. Вы можете попробовать что-то вроде SteamKit2 для этого. - person Koraktor; 05.03.2015
comment
Еще раз спасибо, братан, это действительно очень помогает, - person Archangle; 05.03.2015