#python #discord.py
Вопрос:
Я пытаюсь создать команду для бота, который будет регистрировать учетные записи онлайн и заставлять их случайным образом переключаться с онлайн на оффлайн, вот мой текущий код
@bot.command()
async def onoff(ctx): # b'xfc'
await ctx.message.delete()
for _i in range(1000):
with open("tokens.txt", "r") as f:
tokens = f.read().splitlines()
for _token in tokens:
headers = {
'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7',
'Content-Type': 'application/json',
'Authorization': _token,
}
request = requests.Session()
modes = cycle(["light", "dark"])
statuses = cycle(["online", "invisible"])
while True:
setting = {
'theme': next(modes),
'status': next(statuses)
}
while True:
try:
request.patch("https://canary.discordapp.com/api/v6/users/@me/settings",headers=headers, json=setting, timeout=10)
time.sleep(randint(1,2))
except Exception as e:
print(f"{Fore.RED}[ERROR]: {Fore.YELLOW}{e}" Fore.RESET)
else:
break
Мои жетоны в tokens.txt разделены клавишей enter на концах, чтобы разделить их на строки. В настоящее время у меня есть 2 токена, но он работает только с первым предоставленным токеном. Любая помощь будет с радостью принята.
Комментарии:
1. Как это могло случиться? Внешняя
while
петля никогда не заканчивается.2. @TimRoberts Я чувствую себя глупо из-за того, что пропустил это… о, спасибо.
3. В значительной степени весь ваш код блокируется, использовать такой подход-действительно плохая идея
4. О, ух ты, как я скучаю по кодовым водопадам. Мое предложение состоит в том, чтобы полностью изменить стиль вашего кода в менее вложенном виде, возможно, добавить некоторые разрывы и вернуться к исходным отступам, иначе вы постепенно потеряете контроль над циклами, условными обозначениями и т. Д….И вы заставите любого, кто имеет дело с вашим кодом, рвать на себе волосы 🙂