NameError: name 'ActivityType' is not defined
t = ctx.message.author.activity.name
print('Имя:')
print(t)
activitys_type = str(ctx.author.activities[0].type)
print('Тип:')
print(activitys_type)
if activitys_type is not None:
if activitys_type is ActivityType.playing:
idraw.text((40, 170), f'Играет в {t}', font = normaltext)
Этот код должен показывать мне Деятельность человека. Мучаюсь около часа и не могу понять в чём проблема, помогите пожалуйста! Также if ctx.author.activities[0].type == str('ActivityType.playing'): не выдаёт ошибку в консоль, но также и не выводит деятельность человека.
Ответы (2 шт):
Вам не нужно преобразовывать ctx.author.activities[0].type в str. В строке if activitys_type is ActivityType.playing: вы сравниваете строку с классом, поэтому там будет априори False.
Так же и в if ctx.author.activities[0].type == str('ActivityType.playing'): будет всегда False, но здесь вы уже зачем-то преобразуете обращение к классу.свойство к строке, в этом состоянии оно не имеет никакого смысла, не говоря уже о том, что преобразуется фактически строка к строке :)
Пример команды:
async def activity(ctx):
activity_name = ctx.message.author.activity.name
activity_type = ctx.author.activities[0].type
print(f'Имя:\n{activity_name}')
print(f'Тип:\n{activity_type}')
if activity_type is not None and activity_type == discord.ActivityType.playing:
idraw.text((40, 170), f'Играет в {activity_name}', font=normaltext)
Вот кому нужен готовый, без ошибок код для написания с помощью библиотеки PIL активности игрока:
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)