Бот не может использовать несколько токенов в текстовом файле

#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. О, ух ты, как я скучаю по кодовым водопадам. Мое предложение состоит в том, чтобы полностью изменить стиль вашего кода в менее вложенном виде, возможно, добавить некоторые разрывы и вернуться к исходным отступам, иначе вы постепенно потеряете контроль над циклами, условными обозначениями и т. Д….И вы заставите любого, кто имеет дело с вашим кодом, рвать на себе волосы 🙂