SocketClients, вошедшие в систему с токенами пользователей, не всегда получают уведомления об обновлениях членов гильдии. - PullRequest
1 голос
/ 26 января 2020

Я знаю, что поддержка учетной записи была отменена и была в течение долгого времени, однако у меня есть свои цели. По сути, цель состоит в том, чтобы отследить разрешения ролей для одной определенной c роли, которую имеют все в гильдии. Теперь это не всегда одна и та же роль, но это всегда одно и то же имя, поэтому мне по сути нужно захватить версии роли «ИМЯ» до и после, каждый раз, когда пользователь обновляется и реальная роль меняется. Это не из-за чего-то жуткого, я обещаю, что это просто трекер игрока в дискорд-игре.

Однако мой alt аккаунт, который я использую для ботов пользователей (потому что я не хочу быть лично забаненным), не получать GUILD_MEMBER_UPDATE рассылки ВСЕ. несмотря на нахождение в гильдии и получение рассылок MESSAGE_CREATE и MESSAGE_REACTION_ADD. Моя основная учетная запись, насколько я могу судить, получает их для всех пользователей и работает довольно безупречно, как и предполагалось, но я не хочу продолжать работать. Мой друг, когда запускает тот же сценарий, получает рассылки для некоторых пользователей, но не для других, по-видимому, на случайной основе.

Я попытался загрузить пользователей гильдии в состоянии готовности, которое, насколько я могу судить, выполняется успешно но ничего не решает. И, возможно, нет никакого решения, и это просто потому, что учетные записи пользователей больше не предназначены для использования, но есть причина, по которой я здесь вместо github. Просто любопытно, есть ли у кого-нибудь еще какие-то решения. Обратите внимание, что рассматриваемая альтернатива - это учетная запись fre sh, которая только что присоединилась к серверу, друг присоединился к go через несколько месяцев, и я лично был на сервере более года, так что он может что-то делать с сколько лет учетной записи / как долго go сервер присоединился? Вся ситуация неясна.

Приношу свои извинения, если вы потратили впустую свое время на чтение и не нашли решения, есть причина, по которой я упомянул, что это был пользовательский бот в первую очередь, на тот случай, если это действительно единственная проблема здесь. Поскольку утверждение, что это пользовательский токен, вызывает ошибку сборки, я просто делаю await _client.LoginAsync(0, token);, и он выдает и исключение, и вызовы, готовые дважды, но, кроме этого, кажется, что он работает как обычно, но это также может иметь какое-то отношение к нему.

edit: быть уточненным c о причинах разногласий. net тег не только в том месте, где создается этот конкретный бот, но и так получилось, что концепция работает нормально - discord.py Я просто предпочитаю работать в среде c#, и в ней уже написан весь остальной необходимый код. Моя версия .py сделана плохо, и я не хочу переписывать ее.

...