#discord.py
Вопрос:
async def on_member_update(member, status):
if str(member.status) == "online":
print(f"{member} has gone {status}.")
Код работает просто отлично, но он не будет обновляться, когда я обновляю свой статус или кто-то другой его меняет.
Ответ №1:
on_member_update
принимает только до и после в качестве параметров, а не участника или статуса.
Что — то вроде этого должно сработать:
@bot.event
async def on_member_update(before, after):
if str(after.status) == "online":
print(f"{after.name} has gone {after.status}.")
Комментарии:
1. Что вы имеете в виду под этим? Все, что я могу сказать, это то, что я сам протестировал его с помощью этого кода, и он работает для меня. Не могли бы вы показать полный список слушателей событий?
2. Вы добавили
@bot.event
декоратора над вашим слушателем? Соответствующим образом отредактировал мой код3. Это связано с тем, что вы не включили шлюз участников, предназначенный для портала разработчиков discord.
4. @LUNA также он должен быть активирован в коде вместе с порталом
5. Вам также необходимо включить намерения присутствия