Перезапись диска не позволяет проверить, находится ли виджет в сети. Для того, чтобы проверить это, в конце концов проверяется, можете ли вы получить действительный ответ. Таким образом, чтобы по-прежнему иметь возможность проверять, вам нужно что-то попробовать с виджетом, чтобы проверить, находится ли он в сети.
Всякий раз, когда вы получаете ошибку HTTP, вы знаете, что он отключен (или не может работать).
Я предлагаю создать простую функцию, чтобы проверить, подключен ли он:
# Checks if the widget is online by
# trying to access the widget through a guild object.
async def widget_is_online(guild):
try:
# or a function that needs online functionality
await guild.widget()
return True
except:
return False
Что-то, что также является хорошей идеей. Это использовать попробовать, кроме как в месте, где вы пытаетесь использовать виджет. Где исключение ловит исключение ошибки http. Это, вероятно, лучше и быстрее, чем использование функции, описанной ранее, для предотвращения ошибок http.