dungeon.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:helper_bot 作者: akita8 项目源码 文件源码
def get_map(chat, **kwargs):
    redis = kwargs.get('redis')
    args = kwargs.get('info').get('args')
    active_dungeon = await redis.hget(kwargs.get('info').get('username'), 'active_dungeon')
    if len(args) == 2:
        name, num = args
        if name in Dungeon.ACRONYMS:
            active_dungeon = Dungeon.ACRONYMS.get(name)
        else:
            return chat.reply(f"Errore!\nLa sigla dungeon che mi ha mandato non esiste!\n"
                              f"Opzioni valide: {', '.join(Dungeon.ACRONYMS.keys())}")
        if is_number(num):
            active_dungeon += ' ' + num
        else:
            return chat.reply(f"Errore!\n{num} non è un numero!")
    elif not active_dungeon:
        return await chat.reply(ErrorReply.NO_ACTIVE_DUNGEONS)
    map_string = await redis.get(f'map:{active_dungeon}')
    if not map_string:
        return await chat.reply('La mappa del dungeon che hai richiesto non esiste!')
    dungeon_map = literal_eval(map_string)[:5]
    printable_map = active_dungeon + '\n\n' + ''.join([
        Dungeon.stringify_room(i, *level, kwargs.get('info').get('emojis')) for i, level in enumerate(dungeon_map, 1)])
    markup = Dungeon.map_directions(active_dungeon, 0, 5, kwargs.get('info').get('username'))
    return await chat.send_text(printable_map, reply_markup=markup, parse_mode='Markdown')
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号