Проблемы с отображением статуса человека в Discord.py

Я хотел получить и отобразить игровой или просто статус человека, использовав activitys = member.activities[0].name но если у человека нету никакой активности, ни игровой ни пользовательского статуса то отследить параметр activitys = member.activities[0].name не получается даже через else

Пример:

statuses = ["ONLINE", "IDLE", "DND"]
if status == "OFFLINE":
            print("DA")
            activitys = ("empty")
            draw.text((65,635), activitys, font = subfont)
        else:
            if status in statuses:
                activitys_type = str(member.activities[0].type)
                activitys_list = ["ActivityType.custom", "ActivityType.playing", "ActivityType.streaming", "ActivityType.listening", "ActivityType.watching", "ActivityType.competing"]
                if activitys_type in activitys_list:
                    print("lol")
                    activitys = member.activities[0].name
                    draw.text((65,635), activitys, font = subfont)

Ответы (2 шт):

Автор решения: Кирил

Если я правильно понял вопрос, то попробуйте сначала отследить member.activity, если у человека нет активностей, то он вернёт None, а там вы сможете сделать ветку if. Извиняюсь если не правильно вас понял

→ Ссылка
Автор решения: Влад Новиков

Долго мучился, адаптируйте под свой код и себя, удачи! :

activity_name = ctx.message.author.activity.name if ctx.message.author.activity is not None else "Не чего не делает"
if activity_name == "Не чего не делает":
    # print('Не во что не играет')
    pass

if activity_name != "Не чего не делает":
    # print('во что то играет!')
    activity_type = ctx.author.activities[0].type



activity_type2 = ctx.message.author.activity # если нету то None
    if activity_type2 is not None and activity_type == discord.ActivityType.playing:
        idraw.text((40, 170), f'Играет в {activity_name}', font=normaltext)
→ Ссылка