try:
result = await client(functions.users.GetFullUserRequest(id=user_id))
except:
pass
if result is not None:
if result.user.username is None:
send_error('У пользователя нет username')
else:
return result.user.username
ребята, как правильно офрмить код, чтоб пайчарм ошибку не писал о том что переменная result не определена? приписать вначале result = None или есть другой, более правильный вариант?
async def get_username(event, channel_name): user_id = event.message.from_id result = None try: args = functions.users.GetFullUserRequest(id=user_id) result = await client(args) # кмк, стоит разделить на 2 строки. except: pass # TODO: ??? почему ошибку не обрабатываете? if result is None: # Вложенные условия -- зло return if result.user.username is None: send_error('У пользователя нет username') else: return result.user.username Чем этот варик Вам кажется неверным?
В случае ошибки result'у бы ничего не присваивалось, поэтому да — для начала нужно было указать result = None
Обсуждают сегодня