Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/isida/4.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVitaliyS <hetleven@yandex.ua>2014-10-26 23:44:18 +0300
committerVitaliyS <hetleven@yandex.ua>2014-10-26 23:44:18 +0300
commit6851725f16de479bd95faa5585d3595f755ca22a (patch)
tree403de5a9bcb1aca27acccd3f62ab6fe2de17ba2d
parent7d89c8e7a9a50e2b4d8ca5e1a40a1e1f339b9533 (diff)
upd: wot.py - World of Tanks plugin
-rw-r--r--data/locales/ru.txt5
-rw-r--r--data/locales/ua.txt3
-rw-r--r--plugins/main.py11
-rw-r--r--plugins/wot.py25
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'):