diff options
author | diSabler <dissy@ya.ru> | 2013-11-06 21:28:38 +0400 |
---|---|---|
committer | diSabler <dissy@ya.ru> | 2013-11-06 21:28:38 +0400 |
commit | 048db3b287edc270e679a7110871a54bc08f6262 (patch) | |
tree | ef0fd0d2a70af843f6b581c1f5ee606b26ca660a | |
parent | 16c67b2044a38154088d2cfdb4cb1137bad6e476 (diff) |
fix: hidden profiles in steam
-rw-r--r-- | data/locales/ru.txt | 7 | ||||
-rw-r--r-- | data/locales/ua.txt | 4 | ||||
-rw-r--r-- | plugins/steam.py | 39 |
3 files changed, 29 insertions, 21 deletions
diff --git a/data/locales/ru.txt b/data/locales/ru.txt index cf7cfa8..c0481c8 100644 --- a/data/locales/ru.txt +++ b/data/locales/ru.txt @@ -1281,7 +1281,8 @@ I leave conference %s by condition spy plugin: %s Конференция %s по Check conference activity\nspy add <conference>[ u<number>][ m<number>] - add conference to list. u - count users, m - count message per night. At default At least one condition - the bot will leave the conference\nspy del <conference> - remove conference from list\nspy show - show active monitoring. Проверка активности конференции\nspy add <conference>[ u<number>][ m<number>] - добавить конференцию в список мониторинга активности. u - среднее число участников, m - количество сообщение за сутки. При невыполнении хотя бы одного условия - бот выйдет из конференции\nspy del <conference> - удалить конференцию из списка мониторинга\nspy show - показать активное слежение # file: plugins/steam.py -Nick: %s\nName: %s\nCountry: %s\nCreated: %s\nLast logoff: %s\nTotal friends: %s\nFriends: %s Ник: %s\nИмя: %s\nСтрана: %s\nСоздан: %s\nПоследний выход: %s\nВсего друзей: %s\nДрузья: %s +Hidden Скрыто +Nick: %s\nName: %s\nCountry: %s\nCreated: %s\nLast logoff: %s\nTotal friends: %s\nFriends: %s\nProfile: %s Ник: %s\nИмя: %s\nСтрана: %s\nСоздан: %s\nПоследний выход: %s\nВсего друзей: %s\nДрузья: %s\nПрофиль: %s Steam user not found! Пользователь Steam не найден! Steam API is broken! Steam API сломано! Steam API key is wrong! Неверный Steam API ключ! @@ -1805,5 +1806,5 @@ Youtube settings Настройки youtube API settings Настройки API # write locale file: ru.txt -# total: 1477 -# missed translations: 3 +# total: 1478 +# missed translations: 1 diff --git a/data/locales/ua.txt b/data/locales/ua.txt index 09719ec..03368f0 100644 --- a/data/locales/ua.txt +++ b/data/locales/ua.txt @@ -1795,6 +1795,6 @@ Logs settings Налаштування логів Youtube settings Налаштування Youtube # write locale file: ua.txt -# total: 1477 -# missed translations: 8 +# total: 1478 +# missed translations: 9 diff --git a/plugins/steam.py b/plugins/steam.py index df342a5..e0c7e48 100644 --- a/plugins/steam.py +++ b/plugins/steam.py @@ -28,7 +28,9 @@ steam_api_url = 'http://api.steampowered.com/ISteamUser/%s' steam_summary = steam_api_url % 'GetPlayerSummaries/v0002/?' steam_friends = steam_api_url % 'GetFriendList/v0001/?' -def time_str(t): return time.strftime('%Y.%m.%d %H:%M',time.localtime(t)) +def time_str(t): + try: return time.strftime('%Y.%m.%d %H:%M',time.localtime(t)) + except: return t def steam(type, jid, nick, text): text = text.strip().split() @@ -42,22 +44,27 @@ def steam(type, jid, nick, text): data = json.loads(data)['response']['players'] if data: data = data[0] - _PERSONANAME = data.get('personaname','') - _REALNAME = data.get('realname','') - _LOCCOUNTRYCODE = data.get('loccountrycode','') - _TIMECREATED = data.get('timecreated','') - _LASTLOGOFF = data.get('lastlogoff','') + _PERSONANAME = data.get('personaname',L('Unknown','%s/%s'%(jid,nick))) + _REALNAME = data.get('realname',L('Unknown','%s/%s'%(jid,nick))) + _LOCCOUNTRYCODE = data.get('loccountrycode',L('Unknown','%s/%s'%(jid,nick))) + _TIMECREATED = data.get('timecreated',L('Hidden','%s/%s'%(jid,nick))) + _LASTLOGOFF = data.get('lastlogoff',L('Hidden','%s/%s'%(jid,nick))) + _PROFILEURL = data.get('profileurl',L('Unknown','%s/%s'%(jid,nick))) data = load_page(steam_friends, {'key': STEAM_API, 'steamid': text, 'relationship': 'friend'}) - data = json.loads(data)['friendslist']['friends'] - _FRIENDS = ','.join(t['steamid'] for t in data) - data = load_page(steam_summary, {'key': STEAM_API, 'steamids': _FRIENDS}) - data = json.loads(data)['response']['players'] - _FRIENDS = [(t.get('personaname','-'),t['steamid']) for t in data] - _LEN_FRIENDS = len(_FRIENDS) - if need_id: _FRIENDS = ' | '.join('%s %s' % t for t in _FRIENDS) - else: _FRIENDS = ', '.join(t[0] for t in _FRIENDS) - msg = L('Nick: %s\nName: %s\nCountry: %s\nCreated: %s\nLast logoff: %s\nTotal friends: %s\nFriends: %s','%s/%s'%(jid,nick)) %\ - (_PERSONANAME,_REALNAME,_LOCCOUNTRYCODE,time_str(_TIMECREATED),time_str(_LASTLOGOFF),_LEN_FRIENDS,_FRIENDS) + if data.startswith(L('Error! %s')%''): + _FRIENDS = L('Hidden','%s/%s'%(jid,nick)) + _LEN_FRIENDS = L('Unknown','%s/%s'%(jid,nick)) + else: + data = json.loads(data)['friendslist']['friends'] + _FRIENDS = ','.join(t['steamid'] for t in data) + data = load_page(steam_summary, {'key': STEAM_API, 'steamids': _FRIENDS}) + data = json.loads(data)['response']['players'] + _FRIENDS = [(t.get('personaname','-'),t['steamid']) for t in data] + _LEN_FRIENDS = len(_FRIENDS) + if need_id: _FRIENDS = ' | '.join('%s %s' % t for t in _FRIENDS) + else: _FRIENDS = ', '.join(t[0] for t in _FRIENDS) + msg = L('Nick: %s\nName: %s\nCountry: %s\nCreated: %s\nLast logoff: %s\nTotal friends: %s\nFriends: %s\nProfile: %s','%s/%s'%(jid,nick)) %\ + (_PERSONANAME,_REALNAME,_LOCCOUNTRYCODE,time_str(_TIMECREATED),time_str(_LASTLOGOFF),_LEN_FRIENDS,_FRIENDS,_PROFILEURL) if need_id and type == 'groupchat': send_msg(type, jid, nick, L('Send for you in private','%s/%s'%(jid,nick))) type = 'chat' |