diff options
author | VitaliyS <hetleven@yandex.ua> | 2014-10-26 23:44:18 +0300 |
---|---|---|
committer | VitaliyS <hetleven@yandex.ua> | 2014-10-26 23:44:18 +0300 |
commit | 6851725f16de479bd95faa5585d3595f755ca22a (patch) | |
tree | 403de5a9bcb1aca27acccd3f62ab6fe2de17ba2d | |
parent | 7d89c8e7a9a50e2b4d8ca5e1a40a1e1f339b9533 (diff) |
upd: wot.py - World of Tanks plugin
-rw-r--r-- | data/locales/ru.txt | 5 | ||||
-rw-r--r-- | data/locales/ua.txt | 3 | ||||
-rw-r--r-- | plugins/main.py | 11 | ||||
-rw-r--r-- | plugins/wot.py | 25 |
4 files changed, 27 insertions, 17 deletions
diff --git a/data/locales/ru.txt b/data/locales/ru.txt index 21e6ea5..533b61b 100644 --- a/data/locales/ru.txt +++ b/data/locales/ru.txt @@ -1375,7 +1375,7 @@ none отсутствует 2 class 2 степень 1 class 1 степень master мастер -\n%s (%s/%s - %s%%), mastery: %s \n%s (%s/%s - %s%%), классность: %s +\n%s: %s/%s (%s%%), avg.damage: %s, xp (avg/max): %s/%s, mastery: %s \n%s: %s/%s (%s%%), ср.урон: %s, опыт (ср/макс): %s/%s, классность: %s not founded tank танк не найден Impossible to get tanks' statistics Невозможно получить статистику танков \nUp to %s%% win left: %s battles \nДо %s%% побед осталось: %s битв @@ -1393,6 +1393,7 @@ Impossible to get tanks' statistics Невозможно получить ста - great player - превосходный игрок - unicum - уникум \nWN6 rating: %s (XVM: %s) \nРейтинг WN6: %s (XVM: %s) +\nWG rating: %s \nРейтинг WG: %s \nArmor-rating: %s \nРейтинг Бронесайта: %s - virtuoso - виртуоз - master tanker - мастер-танкист @@ -1409,7 +1410,7 @@ Player not found Игрок не найден Name: %s [%s] Название: %s [%s] \nOwner: %s \nВладелец: %s \nCreated at: %s \nДата создания: %s -\nCount of members: %s \nКоличество учасников: %s +\nCount of members: %s \nКоличество участников: %s \nMotto: %s \nДевиз: %s Clan not found Клан не найден Impossible to get info Невозможно получить информацию diff --git a/data/locales/ua.txt b/data/locales/ua.txt index 2b5e627..c6969fa 100644 --- a/data/locales/ua.txt +++ b/data/locales/ua.txt @@ -1364,7 +1364,7 @@ none відсутня 2 class 2 степінь 1 class 1 степінь master майстер -\n%s (%s/%s - %s%%), mastery: %s \n%s (%s/%s - %s%%), класність: %s +\n%s: %s/%s (%s%%), avg.damage: %s, xp (avg/max): %s/%s, mastery: %s \n%s: %s/%s (%s%%), сер.ушкодж.: %s, досвід (сер/макс): %s/%s, класність: %s not founded tank танк не знайдено Impossible to get tanks' statistics Неможливо отримати статистику танків \nUp to %s%% win left: %s battles \nДо %s%% перемог залишилося: %s битв @@ -1382,6 +1382,7 @@ Impossible to get tanks' statistics Неможливо отримати стат - great player - чудовий гравець - unicum - унікум \nWN6 rating: %s (XVM: %s) \nРейтинг WN6: %s (XVM: %s) +\nWG rating: %s \nРейтинг WG: %s \nArmor-rating: %s \nРейтинг Бронесайту: %s - virtuoso - віртуоз - master tanker - майстер-танкіст diff --git a/plugins/main.py b/plugins/main.py index 4421a39..e3f5e8c 100644 --- a/plugins/main.py +++ b/plugins/main.py @@ -1854,7 +1854,11 @@ owner_prefs = {'syslogs_enable': ['Logger. Enable system logs','b',True], 'exclude_messages':['Kernel. Exclude symbols from bot\'s messages','m256e',u'([-ۿ])\n([ݐ-ݿ])\n([ﭐ-﷿])\n([ﹰ-])','message_exclude_update()'], '1st_april_joke':['Kernel. 1st April joke','b',True], 'soft_update_resend_hash':['Kernel. Send new hash into rooms after soft update','b',False], - 'notepad':['Notepad','m4096',''] + 'notepad':['Notepad','m4096',''], + 'wot_region':['Region of API Server', 'd', 'RU', ['RU','EU','COM', 'SEA', 'KR']], + 'wot_appid':['World of Tanks. Application ID','t64','demo'], + 'wot_delay':['World of Tanks. Time of delay','i',2], + 'wot_retries':['World of Tanks. Count of retries','i',2] } owner_group_mucfilter = ['Muc-filter settings','#owner-mucfilter', @@ -1930,13 +1934,16 @@ owner_group_spy = ['Spy settings','#owner-spy', owner_group_notepad = ['Notepad','#owner-notepad', ['notepad']] +owner_group_wot = ['World of Tanks settings','#owner-wot', + ['wot_region','wot_appid', 'wot_delay', 'wot_retries']] + owner_groups = [owner_group_amsg,owner_group_rss,owner_group_clear, owner_group_kernel,owner_group_lastfm,owner_group_whereis, owner_group_watcher,owner_group_troll,owner_group_www, owner_group_karma,owner_group_sayto,owner_group_age, owner_group_mucfilter,owner_group_iq,owner_group_juick, owner_group_logs,owner_group_youtube,owner_group_other, - owner_group_api,owner_group_notepad] + owner_group_api,owner_group_notepad,owner_group_wot] comms = [ (0, 'help', helpme, 2, 'Help system. Helps without commands: about, donation, access'), diff --git a/plugins/wot.py b/plugins/wot.py index 0868e93..e7fd8e6 100644 --- a/plugins/wot.py +++ b/plugins/wot.py @@ -4,7 +4,7 @@ # --------------------------------------------------------------------------- #
# #
# Plugin for iSida Jabber Bot #
-# Copyright (C) 2013 Vit@liy <vitaliy@root.ua> #
+# Copyright (C) 2013 VitaliyS <hetleven@yandex.ua> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -21,9 +21,8 @@ # #
# --------------------------------------------------------------------------- #
-# RU
-API_ADDR = 'http://api.worldoftanks.ru';
-APP_ID = '171745d21f7f98fd8878771da1000a31';
+API_ADDR = 'http://api.worldoftanks.%s' % {'RU': 'ru', 'EU': 'eu', 'COM': 'com', 'SEA': 'asia', 'KR': 'kr'}[GT('wot_region')]
+APP_ID = GT('wot_appid')
clantags = re.compile('(\(.*?\))|(\[.*?\])')
@@ -34,10 +33,6 @@ def get_tanks_data(): for i in d['data']:
n18 = d['data'][i]['name_i18n'].rsplit(':', 1)[-1].replace('_', ' ')
n = d['data'][i]['name'].rsplit(':', 1)[-1].replace('_', ' ')
- if n18[:2] == 'GB':
- n18 = n18[5:]
- if n[:2] == 'GB':
- n = n[5:]
res[i] = {'name_i18n': n18, 'name': n, 'level': d['data'][i]['level']}
return res
@@ -67,8 +62,6 @@ def wot(type, jid, nick, text): vdata = json.loads(data)
data = load_page('%s/2.0/account/tanks/?application_id=%s&account_id=%s&fields=mark_of_mastery,tank_id' % (API_ADDR, APP_ID, player_id))
- vdata_old = json.loads(data)
- vdata_old = dict([[i['tank_id'], i['mark_of_mastery']] for i in vdata_old['data'][player_id]])
data = load_page('%s/2.0/account/info/?application_id=%s&account_id=%s&fields=nickname,statistics,global_rating' % (API_ADDR, APP_ID, player_id))
pdata = json.loads(data)
@@ -101,9 +94,17 @@ def wot(type, jid, nick, text): if str(t['tank_id']) in tids:
tank_win = t['all']['wins']
tank_battle = t['all']['battles']
- mom = [L('none','%s/%s'%(jid,nick)), L('3 class','%s/%s'%(jid,nick)), L('2 class','%s/%s'%(jid,nick)), L('1 class','%s/%s'%(jid,nick)), L('master','%s/%s'%(jid,nick))][t['mark_of_mastery']]
if tank_battle:
- msg += L('\n%s (%s/%s - %s%%), mastery: %s','%s/%s'%(jid,nick)) % (tanks_data[str(t['tank_id'])]['name_i18n'], tank_win, tank_battle, round(100.0*tank_win/tank_battle, 2), mom)
+ tank_avgxp = t['all']['battle_avg_xp']
+ tank_maxxp = t['max_xp']
+ mom = [ L('none','%s/%s'%(jid,nick)),
+ L('3 class','%s/%s'%(jid,nick)),
+ L('2 class','%s/%s'%(jid,nick)), L('1 class','%s/%s'%(jid,nick)),
+ L('master','%s/%s'%(jid,nick))][t['mark_of_mastery']]
+ tank_dmg = int(round(t['all']['damage_dealt'] / float(tank_battle), 0))
+ tank_name = tanks_data[str(t['tank_id'])]['name_i18n']
+ tank_wins = round(100.0*tank_win/tank_battle, 2)
+ msg += L('\n%s: %s/%s (%s%%), avg.damage: %s, xp (avg/max): %s/%s, mastery: %s','%s/%s'%(jid,nick)) % (tank_name, tank_win, tank_battle, tank_wins, tank_dmg, tank_avgxp, tank_maxxp, mom)
else:
msg += '\n%s (%s/%s)' % (tanks_data[str(t['tank_id'])]['name_i18n'], tank_win, tank_battle)
if not msg.count('\n'):
|