Esempio n. 1
0
    def get_team_from_code(self, code, lang):
        result = {
            'troops': [],
            'banner': {},
            'class': None,
            'talents': [],
            'class_title': _('[CLASS]', lang),
            'troops_title': _('[TROOPS]', lang),
        }
        has_weapon = False
        has_class = False

        for element in code:
            troop = self.troops.get(element)
            weapon = self.weapons.get(element)
            if troop:
                color_code = "".join(troop["colors"])
                troop_name = _(troop['name'], lang)
                result['troops'].append([color_code, troop_name])
                continue
            elif weapon:
                color_code = "".join(weapon["colors"])
                weapon_name = _(weapon['name'], lang)
                result['troops'].append([color_code, weapon_name + ' :crossed_swords:'])
                has_weapon = True
                continue

            _class = self.classes.get(element)
            if _class:
                result['class'] = _(_class['name'], lang)
                result['class_talents'] = _class['talents']
                has_class = True
                continue

            banner = self.banners.get(element)
            if banner:
                result['banner'] = self.translate_banner(banner, lang)
                continue

            if 0 <= element <= 3:
                result['talents'].append(element)
                continue

        if has_weapon and has_class:
            new_talents = []
            for talent_no, talent_code in enumerate(result['talents']):
                talent = '-'
                if talent_code > 0:
                    talent = _(result['class_talents'][talent_code - 1][talent_no]['name'], lang)
                new_talents.append(talent)
            result['talents'] = new_talents
        else:
            result['class'] = None
            result['talents'] = None

        return result
Esempio n. 2
0
 def search_class(self, search_term, lang):
     if search_term.isdigit() and int(search_term) in self.classes:
         result = self.classes.get(int(search_term)).copy()
         self.translate_class(result, lang)
         return [result]
     else:
         possible_matches = []
         for _class in self.classes.values():
             translated_name = extract_search_tag(_(_class['name'], lang))
             real_search = extract_search_tag(search_term)
             if real_search == translated_name:
                 result = _class.copy()
                 self.translate_class(result, lang)
                 return [result]
             elif real_search in translated_name or search_term == 'summary':
                 result = _class.copy()
                 self.translate_class(result, lang)
                 possible_matches.append(result)
         return possible_matches
Esempio n. 3
0
 def search_pet(self, search_term, lang):
     if search_term.isdigit() and int(search_term) in self.pets:
         result = self.pets.get(int(search_term)).copy()
         self.translate_pet(result, lang)
         return [result]
     else:
         possible_matches = []
         for pet in self.pets.values():
             translated_name = extract_search_tag(_(pet['name'], lang))
             real_search = extract_search_tag(search_term)
             if real_search == translated_name:
                 result = pet.copy()
                 self.translate_pet(result, lang)
                 return [result]
             elif real_search in translated_name:
                 result = pet.copy()
                 self.translate_pet(result, lang)
                 possible_matches.append(result)
         return possible_matches
Esempio n. 4
0
 def search_kingdom(self, search_term, lang):
     if search_term.isdigit() and int(search_term) in self.kingdoms:
         result = self.kingdoms.get(int(search_term)).copy()
         self.translate_kingdom(result, lang)
         return [result]
     else:
         possible_matches = []
         for kingdom in self.kingdoms.values():
             translated_name = extract_search_tag(_(kingdom['name'], lang))
             real_search = extract_search_tag(search_term)
             if real_search == translated_name:
                 result = kingdom.copy()
                 self.translate_kingdom(result, lang)
                 return [result]
             elif real_search in translated_name or \
                     (search_term == 'summary' and not kingdom['underworld'] and len(kingdom['colors']) > 0):
                 result = kingdom.copy()
                 self.translate_kingdom(result, lang)
                 possible_matches.append(result)
         return possible_matches
Esempio n. 5
0
    def translate_event(self, event, lang):
        entry = event.copy()

        entry['extra_info'] = ''
        if entry['type'] in ('[BOUNTY]', '[HIJACK]') and entry['gacha']:
            entry['extra_info'] = _(self.troops[entry['gacha']]['name'], lang)
        elif entry['type'] == '[PETRESCUE]' and entry['gacha']:
            entry['extra_info'] = _(self.pets[entry['gacha']]['name'], lang)
        elif entry['type'] == '[CLASS_EVENT]' and entry['gacha']:
            entry['extra_info'] = _(self.classes[entry['gacha']]['name'], lang)
        elif entry['type'] == '[DELVE_EVENT]':
            entry['extra_info'] = _(self.kingdoms[entry['kingdom_id']]['name'], lang)
        elif entry['type'] in ('[INVASION]', '[ADVENTURE_BOARD_SPECIAL_EVENT]') and entry['gacha']:
            troop = _(self.troops[entry['gacha']]['name'], lang)
            kingdom = _(self.kingdoms[entry['kingdom_id']]['name'], lang)
            entry['extra_info'] = f'{troop} ({kingdom})'

        entry['type'] = _(entry['type'], lang)
        return entry
Esempio n. 6
0
 def search_weapon(self, search_term, lang):
     if search_term.isdigit() and int(search_term) in self.weapons:
         weapon = self.weapons.get(int(search_term))
         if weapon:
             result = weapon.copy()
             self.translate_weapon(result, lang)
             return [result]
         return []
     else:
         possible_matches = []
         for weapon in self.weapons.values():
             translated_name = extract_search_tag(_(weapon['name'], lang))
             real_search = extract_search_tag(search_term)
             if real_search == translated_name:
                 result = weapon.copy()
                 self.translate_weapon(result, lang)
                 return [result]
             elif real_search in translated_name:
                 result = weapon.copy()
                 self.translate_weapon(result, lang)
                 possible_matches.append(result)
         return possible_matches
Esempio n. 7
0
 def search_troop(self, search_term, lang):
     if search_term.isdigit() and int(search_term) in self.troops:
         troop = self.troops.get(int(search_term))
         if troop:
             result = troop.copy()
             self.translate_troop(result, lang)
             return [result]
         return []
     else:
         possible_matches = []
         for troop in self.troops.values():
             translated_name = extract_search_tag(_(troop['name'], lang))
             real_search = extract_search_tag(search_term)
             if real_search == translated_name:
                 result = troop.copy()
                 self.translate_troop(result, lang)
                 return [result]
             elif real_search in translated_name:
                 result = troop.copy()
                 self.translate_troop(result, lang)
                 possible_matches.append(result)
         return possible_matches
Esempio n. 8
0
 def translate_class(self, _class, lang):
     kingdom = self.kingdoms[_class['kingdom_id']]
     _class['kingdom'] = _(kingdom['name'], lang)
     weapon = self.weapons[_class['weapon_id']]
     _class['weapon'] = _(weapon['name'], lang)
     _class['name'] = _(_class['name'], lang)
     translated_trees = []
     for tree in _class['talents']:
         translated_talents = []
         for talent in tree:
             translated_talents.append({
                 'name': _(talent['name'], lang),
                 'description': _(talent['description'], lang)
             })
         translated_trees.append(translated_talents)
     _class['kingdom_title'] = _('[KINGDOM]', lang)
     _class['traits_title'] = _('[TRAITS]', lang)
     _class['traits'] = self.enrich_traits(_class['traits'], lang)
     _class['weapon_title'] = _('[WEAPON]', lang)
     _class['talents'] = translated_trees
     _class['trees'] = [_(f'[TALENT_TREE_{t.upper()}]', lang) for t in _class['trees']]
     _class['type_short'] = _(f'[TROOPTYPE_{_class["type"].upper()}]', lang)
     _class['type'] = _(f'[PERK_TYPE_{_class["type"].upper()}]', lang)
Esempio n. 9
0
 def translate_troop(self, troop, lang):
     troop['name'] = _(troop['name'], lang)
     troop['description'] = _(troop['description'], lang).replace('widerbeleben',
                                                                  'wiederbeleben')
     troop['color_code'] = "".join(troop['colors'])
     troop['rarity_title'] = _('[RARITY]', lang)
     troop['raw_rarity'] = troop['rarity']
     rarity_number = 1
     if troop['rarity'] in TROOP_RARITIES:
         rarity_number = TROOP_RARITIES.index(troop['rarity'])
     troop['rarity'] = _(f'[RARITY_{rarity_number}]', lang)
     troop['traits_title'] = _('[TRAITS]', lang)
     troop['traits'] = self.enrich_traits(troop['traits'], lang)
     troop['roles_title'] = _('[TROOP_ROLE]', lang)
     troop['roles'] = [_(f'[TROOP_ROLE_{role.upper()}]', lang) for role in troop['roles']]
     troop['type_title'] = _('[FILTER_TROOPTYPE]', lang)
     troop['raw_types'] = troop['types']
     types = [
         _(f'[TROOPTYPE_{_type.upper()}]', lang) for _type in troop['types']
     ]
     troop['type'] = ' / '.join(types)
     troop['kingdom_title'] = _('[KINGDOM]', lang)
     troop['kingdom'] = _(troop['kingdom']['Name'], lang)
     troop['spell'] = self.translate_spell(troop['spell_id'], lang)
     troop['spell_title'] = _('[TROOPHELP_SPELL0]', lang)
 def get_index_text(self, name):
     # l10n: Index display text for built-in functions
     return _('%s() (function)') % name
 def get_index_text(self, name):
     # l10n: Index display text for built-in constants
     return _('%s (constant)') % name
Esempio n. 12
0
 def get_index_text(self, name):
     # l10n: Index display text for built-in constants
     return _('%s (constant)') % name
Esempio n. 13
0
 def get_index_text(self, name):
     # l10n: Index display text for built-in functions
     return _('%s() (function)') % name
def choose_other_type_prompt(reply, context):
    reply(_(tr.POPULAR_SUBJECT_OTHER_PROMPT, context))
def choose_type_prompt(reply, context):
    reply_keyboard = make_inline_keyboard(
        [[[_(tr.HELP_TYPE_TOGETHER, context), Answer.TYPE_TOGETHER]],
         [[_(tr.HELP_TYPE_IM_WEAK, context), Answer.IM_WEAK],
          [_(tr.HELP_TYPE_IM_STRONK, context), Answer.IM_STRONK]]])
    reply(text=_(tr.CHOOSE_HELP_TYPE, context), reply_markup=reply_keyboard)
Esempio n. 16
0
def add_new_subject(update: Update, context: CallbackContext):
    bd_worker.add_new_subject(update.message.text)
    context.user_data[SUBJECT] = update.message.text
    update.message.reply_text(_(tr.INPUT_SUBJ_NAME_SUCCESS, context))
    update.message.reply_text(_(tr.START_INPUTING_NAMES, context))
    return State.FDBK_GET_TEACHER_INFO
Esempio n. 17
0
    def translate_kingdom(self, kingdom, lang):
        kingdom['name'] = _(kingdom['name'], lang)
        kingdom['description'] = _(kingdom['description'], lang)
        kingdom['punchline'] = _(kingdom['punchline'], lang)
        kingdom['troop_title'] = _('[TROOPS]', lang)
        kingdom['troops'] = [
            {'name': _(self.troops[_id]['name'], lang),
             'id': _id
             } for _id in kingdom['troop_ids']
        ]
        kingdom['banner_title'] = _('[BANNERS]', lang)
        kingdom['banner'] = self.translate_banner(self.banners[kingdom['id']], lang)

        kingdom['linked_kingdom'] = None
        if kingdom['linked_kingdom_id']:
            kingdom['linked_kingdom'] = _(self.kingdoms[kingdom['linked_kingdom_id']]['name'], lang)
        if kingdom['linked_kingdom'] and kingdom['linked_kingdom'].startswith('['):
            kingdom['linked_kingdom'] = None
        kingdom['map'] = _('[MAPNAME_MAIN]', lang)
        kingdom['linked_map'] = _('[MAPNAME_UNDERWORLD]', lang)
        if kingdom['underworld']:
            kingdom['map'] = _('[MAPNAME_UNDERWORLD]', lang)
            kingdom['linked_map'] = _('[MAPNAME_MAIN]', lang)
        if 'primary_color' in kingdom:
            deed_num = self.colors.index(kingdom['primary_color'])
            kingdom['deed'] = _(f'[DEED{deed_num:02d}]', lang)
        kingdom['color_title'] = _('[GEM_MASTERY]', lang)
        kingdom['stat_title'] = _('[STAT_BONUS]', lang)
        if 'primary_stat' in kingdom:
            kingdom['primary_stat'] = _(f'[{kingdom["primary_stat"].upper()}]', lang)
    def translate_weapon(self, weapon, lang):
        weapon['name'] = _(weapon['name'], lang)
        weapon['description'] = _(weapon['description'], lang)
        weapon['color_code'] = "".join(weapon['colors'])
        weapon['spell_title'] = _('[TROOPHELP_SPELL0]', lang)
        weapon['rarity_title'] = _('[RARITY]', lang)
        weapon['raw_rarity'] = weapon['rarity']

        rarity_number = WEAPON_RARITIES.index(weapon['rarity'])
        weapon['rarity'] = _(f'[RARITY_{rarity_number}]', lang)
        weapon['spell'] = self.translate_spell(weapon['spell_id'], lang)
        weapon['affix_title'] = _('[UPGRADE_WEAPON]', lang)
        weapon['affixes'] = [
            self.translate_spell(spell['id'], lang)
            for spell in weapon['affixes']
        ]
        weapon['kingdom_title'] = _('[KINGDOM]', lang)
        weapon['kingdom'] = _(weapon['kingdom']['name'], lang)
        weapon['roles_title'] = _('[WEAPON_ROLE]', lang)
        weapon['roles'] = [
            _(f'[TROOP_ROLE_{role.upper()}]', lang) for role in weapon['roles']
        ]
        weapon['type_title'] = _('[FILTER_WEAPONTYPE]', lang)
        weapon['type'] = _(f'[WEAPONTYPE_{weapon["type"].upper()}]', lang)
        if weapon['requirement'] < 1000:
            weapon['requirement_text'] = _('[WEAPON_MASTERY_REQUIRED]', lang) + \
                                         str(weapon['requirement'])
        elif weapon['requirement'] == 1000:
            weapon['requirement_text'] = _(
                '[WEAPON_AVAILABLE_FROM_CHESTS_AND_EVENTS]', lang)
        elif weapon['requirement'] == 1002:
            _class = _(weapon['class'], lang)
            weapon['requirement_text'] = _('[CLASS_REWARD_TITLE]',
                                           lang) + f' ({_class})'
        elif weapon['requirement'] == 1003:
            weapon['requirement_text'] = _(
                '[SOULFORGE_WEAPONS_TAB_EMPTY_ERROR]', lang)
    def populate_world_data(self):
        with open('World.json', encoding='utf8') as f:
            data = json.load(f)

        for spell in data['Spells']:
            amount = 0
            multiplier = 1
            boost = 1
            for spell_step in spell['SpellSteps']:
                if spell_step.get('Primarypower'):
                    amount = spell_step.get('Amount')
                    multiplier = spell_step.get('SpellPowerMultiplier', 1)
                elif spell_step['Type'].startswith('Count'):
                    boost = spell_step.get('Amount', 1)
            self.spells[spell['Id']] = {
                'id': spell['Id'],
                'name': spell['Name'],
                'description': spell['Description'],
                'cost': spell['Cost'],
                'amount': amount,
                'multiplier': multiplier,
                'boost': boost,
            }
        for trait in data['Traits']:
            self.traits[trait['Code']] = {
                'name': trait['Name'],
                'description': trait['Description']
            }
        for troop in data['Troops']:
            colors = [
                c.replace('Color', '').lower()
                for c, v in troop['ManaColors'].items() if v
            ]
            self.troops[troop['Id']] = {
                'id':
                troop['Id'],
                'name':
                troop['Name'],
                'colors':
                sorted(colors),
                'description':
                troop['Description'],
                'spell_id':
                troop['SpellId'],
                'traits': [
                    self.traits.get(trait, {
                        'name': trait,
                        'description': '-'
                    }) for trait in troop['Traits']
                ],
                'rarity':
                troop['TroopRarity'],
                'types': [troop['TroopType']],
                'roles':
                troop['TroopRoleArray'],
                'kingdom': {
                    'Name': ''
                },
                'filename':
                f'http://garyatrics.com/gow_assets/{troop["FileBase"].lower()}.png',
            }
            if 'TroopType2' in troop:
                self.troops[troop['Id']]['types'].append(troop['TroopType2'])
        for kingdom in data['Kingdoms']:
            color_lookup_names = [f'[GEM_{c.upper()}]' for c in self.COLORS]
            color_names = [_(c).lower() for c in color_lookup_names]
            colors = zip(color_names, kingdom['BannerColors'])
            colors = sorted(colors, key=operator.itemgetter(1), reverse=True)
            self.banners[kingdom['Id']] = {
                'name': kingdom['BannerName'],
                'colors': colors,
            }
            kingdom_troops = [
                troop_id for troop_id in kingdom['TroopIds'] if troop_id != -1
            ]
            self.kingdoms[kingdom['Id']] = {
                'id': kingdom['Id'],
                'name': kingdom['Name'],
                'description': kingdom['Description'],
                'punchline': kingdom['ByLine'],
                'underworld': bool(kingdom.get('MapIndex', 0)),
                'troop_ids': kingdom_troops,
                'troop_type': kingdom['KingdomTroopType'],
                'linked_kingdom_id': kingdom.get('SisterKingdomId'),
            }
            if 'SisterKingdomId' in kingdom:
                self.kingdoms[kingdom['SisterKingdomId']][
                    'linked_kingdom_id'] = kingdom['Id']
            for troop_id in kingdom_troops:
                self.troops[troop_id]['kingdom'] = kingdom
        for weapon in data['Weapons']:
            colors = [
                c.replace('Color', '').lower()
                for c, v in weapon['ManaColors'].items() if v
            ]
            self.weapons[weapon['Id']] = {
                'id':
                weapon['Id'],
                'name':
                f'[SPELL{weapon["SpellId"]}_NAME]',
                'description':
                f'[SPELL{weapon["SpellId"]}_DESC]',
                'colors':
                sorted(colors),
                'rarity':
                weapon['WeaponRarity'],
                'type':
                weapon['Type'],
                'roles':
                weapon['TroopRoleArray'],
                'spell_id':
                weapon['SpellId'],
                'kingdom':
                self.kingdoms[weapon['KingdomId']],
                'requirement':
                weapon['MasteryRequirement'],
                'affixes': [
                    self.spells.get(spell) for spell in weapon['Affixes']
                    if spell in self.spells
                ],
            }
        self.pet_effects = (
            '[PETTYPE_BUFFTEAMCOLOR]',
            '[PETTYPE_BUFFGEMMASTERY]',
            '[PETTYPE_BUFFTEAMKINGDOM]',
            '[PETTYPE_BUFFTEAMTROOPTYPE]',
            '[PETTYPE_LOOTSOULS]',
            '[PETTYPE_LOOTGOLD]',
            '[PETTYPE_LOOTXP]',
            '[PETTYPE_NOEFFECT]',
        )
        for pet in data['Pets']:
            colors = [
                c.replace('Color', '').lower()
                for c, v in pet['ManaColors'].items() if v
            ]
            self.pets[pet['Id']] = {
                'id': pet['Id'],
                'name': pet['Name'],
                'kingdom': self.kingdoms[pet['KingdomId']],
                'colors': sorted(colors),
                'effect': self.pet_effects[pet['Effect']],
                'effect_data': pet.get('EffectData'),
                'troop_type': pet.get('EffectTroopType'),
            }
        for tree in data['TalentTrees']:
            talents = [
                self.traits.get(trait, trait) for trait in tree['Traits']
            ]
            self.talent_trees[tree['Code']] = {
                'name': f'[TALENT_TREE_{tree["Code"].upper()}]',
                'talents': talents,
                'classes': [],
            }
        for _class in data['HeroClasses']:
            self.classes[_class['Id']] = {
                'id':
                _class['Id'],
                'name':
                _class['Name'],
                'talents': [
                    self.talent_trees[tree]['talents']
                    for tree in _class['TalentTrees']
                ],
                'trees':
                _class['TalentTrees'],
                'traits': [
                    self.traits.get(trait, {
                        'name': trait,
                        'description': '-'
                    }) for trait in _class['Traits']
                ],
                'weapon_id':
                _class['ClassWeaponId'],
                'kingdom_id':
                _class['KingdomId'],
                'type':
                _class['Augment'][0],
            }
            self.weapons[_class['ClassWeaponId']]['class'] = _class['Name']
            for tree in _class['TalentTrees']:
                self.talent_trees[tree]['classes'].append(
                    self.classes[_class['Id']].copy())
Esempio n. 20
0
 def ok(evt):
     dialog.InfoDialog(_("file_deleted"),
                       _("File {} deleted").format(name),
                       remove_after=2)
     _remove(name)
def choose_description_prompt(reply, context):
    reply(_(tr.HELP_DESCRIPTION_PROMPT, context))
def choose_award_prompt(reply, context):
    reply(_(tr.HELP_AWARD_PROMPT, context))
Esempio n. 23
0
def any_comments_prompt(reply, context):
    reply_keyboard = utils.make_inline_keyboard([[[_(tr.YES, context), 'True'],
                                                  [_(tr.NO, context),
                                                   'False']]])
    reply(text=_(tr.WANT_ENTER_POLL_COMMENT, context),
          reply_markup=reply_keyboard)
def on_exit(update, context):
    update.effective_user.send_message(_(tr.HELP_LAST_PHRASE, context),
                                       reply_markup=get_main_keyboard(context))
    return State.FIRST_NODE
Esempio n. 25
0
def finish(send_first, send_second, context):
    answer = context.user_data[ANSWERS] + [context.user_data[ANSWER_COMMENT]]
    save_to_csv(context.user_data.get('lang', 'ru'), answer)
    send_first(_(tr.FEEDBACK_FINAL_PHRASE, context))
    utils.main_reply(send_second, context)
    return State.FIRST_NODE
def add_desc(update: Update, context: CallbackContext):
    context.user_data['teacher_desc'] = update.message.text
    update.message.reply_text(_(tr.HOW_REVIEW_TEACHER, context))
    return State.ADD_RATING
Esempio n. 27
0
    def translate_weapon(self, weapon, lang):
        weapon['name'] = _(weapon['name'], lang)
        weapon['description'] = _(weapon['description'], lang)
        weapon['color_code'] = "".join(weapon['colors'])
        weapon['spell_title'] = _('[TROOPHELP_SPELL0]', lang)
        weapon['rarity_title'] = _('[RARITY]', lang)
        weapon['raw_rarity'] = weapon['rarity']

        rarity_number = WEAPON_RARITIES.index(weapon['rarity'])
        weapon['rarity'] = _(f'[RARITY_{rarity_number}]', lang)
        weapon['spell'] = self.translate_spell(weapon['spell_id'], lang)
        weapon['upgrade_title'] = _('[UPGRADE_WEAPON]', lang)

        bonus_title = _('[BONUS]', lang)
        upgrade_numbers = zip(weapon['armor_increase'], weapon['attack_increase'], weapon['health_increase'],
                              weapon['magic_increase'])
        upgrade_titles = (
            _('[ARMOR]', lang),
            _('[ATTACK]', lang),
            _('[LIFE]', lang),
            _('[MAGIC]', lang),
        )
        upgrades = []
        for upgrade in upgrade_numbers:
            for i, amount in enumerate(upgrade):
                if amount:
                    upgrades.append(
                        {'name': f'{upgrade_titles[i]} {bonus_title}',
                         'description': f'+{amount} {upgrade_titles[i]}'})

        weapon['upgrades'] = upgrades + [self.translate_spell(spell['id'], lang) for spell in weapon['affixes']]
        weapon['kingdom_title'] = _('[KINGDOM]', lang)
        weapon['kingdom'] = _(weapon['kingdom']['name'], lang)
        weapon['roles_title'] = _('[WEAPON_ROLE]', lang)
        weapon['roles'] = [_(f'[TROOP_ROLE_{role.upper()}]', lang) for role in weapon['roles']]
        weapon['type_title'] = _('[FILTER_WEAPONTYPE]', lang)
        weapon['type'] = _(f'[WEAPONTYPE_{weapon["type"].upper()}]', lang)

        weapon['has_mastery_requirement_color'] = False
        if weapon['requirement'] < 1000:
            weapon['requirement_text'] = _('[WEAPON_MASTERY_REQUIRED]', lang) + \
                                         str(weapon['requirement'])
            weapon['has_mastery_requirement_color'] = True
        elif weapon['requirement'] == 1000:
            weapon['requirement_text'] = _('[WEAPON_AVAILABLE_FROM_CHESTS_AND_EVENTS]', lang)
        elif weapon['requirement'] == 1002:
            _class = _(weapon['class'], lang)
            weapon['requirement_text'] = _('[CLASS_REWARD_TITLE]', lang) + f' ({_class})'
        elif weapon['requirement'] == 1003:
            weapon['requirement_text'] = _('[SOULFORGE_WEAPONS_TAB_EMPTY_ERROR]', lang)
def add_new_subject(update: Update, context: CallbackContext):
    bd_worker.add_new_subject(update.message.text)
    context.user_data['subject'] = update.message.text
    update.message.reply_text(_(tr.INPUT_SUBJ_NAME_SUCCESS, context))
    update.message.reply_text(_(tr.INPUT_FIO, context))
    return State.ADD_T
Esempio n. 29
0
 def get_campaign_tasks(self, lang):
     return {
         _('[MEDAL_LEVEL_0]'): [self.translate_campaign_task(t, lang) for t in self.campaign_tasks['bronze']],
         _('[MEDAL_LEVEL_1]'): [self.translate_campaign_task(t, lang) for t in self.campaign_tasks['silver']],
         _('[MEDAL_LEVEL_2]'): [self.translate_campaign_task(t, lang) for t in self.campaign_tasks['gold']],
     }
def addictional_add(update, context):
    context.user_data['teacher_name'] = update.message.text
    update.message.reply_text(_(tr.OTZYV, context))
    return State.ADD_DESC
Esempio n. 31
0
 def try_different_translated_versions_because_devs_are_stupid(cat):
     lookup = f'[{cat.upper()}S]'
     result = _(lookup, lang)
     if result == lookup:
         result = _(f'[{cat.upper()}S:]', lang)[:-1]
     return result
Esempio n. 32
0
def show_list_keyboard(set_message, context, title_phrase):
    keyboard = context.user_data[LIST_KEYBOARD]
    i = context.user_data.setdefault(LIST_KEYBOARD_INDEX, 0)
    keyboard = keyboard[i]
    set_message(text=_(title_phrase, context),
                reply_markup=make_inline_keyboard(keyboard))