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')
评论列表
文章目录