我目前正在用 Python 编写一个脚本,允许您使用邀请代码和您想要加入的帐户的授权令牌来加入不和谐服务器。
这是代码:
link = f"https://discordapp.com/api/v6/invite/{self.invite}?with_counts=true"
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36', 'Authorization': token}
if not self.using_proxies:
join = requests.post(link, headers=header)
else:
random_proxy = get_random_proxy() # Returns random proxy from a list.
try:
auth = HTTPProxyDigestAuth(random_proxy[1][0], random_proxy[1][1]) # user/pass
join = requests.post(link, proxies=random_proxy[0], auth=auth, headers=header)
except KeyError: # If there is no random_proxy[1], then do not try to authenticate user/pass
join = requests.post(link, proxies=random_proxy, headers=header) # if no user/pass needed
此代码会导致不和谐的可疑活动,在使用一个令牌加入一台服务器(无论是否有代理)后,就会出现电话验证屏幕。
我目前想知道是否确实可以以某种方式绕过检测。我尝试过其他用户代理并包括其他标头;不工作。当然,必须有某种方法来应对这种疯狂,如果有的话,我问是否有人知道。
谢谢!
编辑:
我应该指出,在实际让帐户加入服务器方面,代码确实按预期工作。
我还应该指出,该代码计划用于开源、公共使用 - 因此,使用极端的帐户特定标头可能不起作用如果这个假定程序的最终用户无法处理他们。
您自己回答了这个问题。 Discord 会根据未完成电话号码验证的事实来检测可疑活动。我在我的另一个帐户拥有的服务器上使用自己的授权令牌对其进行了测试,并且在我验证电话号码的帐户上没有触发此错误。
因此,解决方案只是使用实际的电话号码验证您的帐户。如果您实际上正在寻找绕过电话验证的方法,我建议在 Security Stackexchange 上创建一个新问题来询问。
与普遍的看法相反,您不需要使用无头浏览器或电话号码来通过脚本自动加入服务器。相反,您需要在 HTTP 请求中指定标有“X-Super-Properties”的标头。您可以将此值视为特定端点的 Discord 用户的第二个授权令牌。要获取此值,只需在任何浏览器上登录 Discord 并复制 API 请求的标头(就像使用您的令牌一样)。