Автовступление в каналы
Это пример ссылок, какие они будут.
Всем привет друзья, пишут бота для автовступлений в группы/каналы. Использую библиотеку pyrogram. Имеется вот такой код.
import asyncio
from pyrogram import Client
app = Client("config/my_account", config_file = "config/config.ini", workers=1)
links = open('Channels.txt')
with app:
for line in links.readlines():
app.join_chat(line.rstrip())
app.run()
Однако у меня вылетает такая ошибка

Нужно как то решить эту проблему и что бы где по одобрению администрации тоже вступалось. Вроде вступает, но как я понял, нужна задержка между запросами. Но, у меня не получается это сделать. Буду благодарен за помощь.
Сейчас снова попробовал запустить код, заново авторизоваться нужно было и такая ошибка вылезла, хотя до этого, относительно, все работало.
Traceback (most recent call last):
File "C:\Users\avans\PycharmProjects\probnik\main.py", line 9, in <module>
with app:
File "C:\Users\avans\PycharmProjects\probnik\venv\lib\site-packages\pyrogram\client.py", line 251, in __enter__
return self.start()
File "C:\Users\avans\PycharmProjects\probnik\venv\lib\site-packages\pyrogram\sync.py", line 66, in async_to_sync_wrap
return loop.run_until_complete(coroutine)
File "C:\Users\avans\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 649, in run_until_complete
return future.result()
File "C:\Users\avans\PycharmProjects\probnik\venv\lib\site-packages\pyrogram\methods\utilities\start.py", line 56, in start
await self.authorize()
File "C:\Users\avans\PycharmProjects\probnik\venv\lib\site-packages\pyrogram\client.py", line 306, in authorize
sent_code = await self.send_code(self.phone_number)
File "C:\Users\avans\PycharmProjects\probnik\venv\lib\site-packages\pyrogram\methods\auth\send_code.py", line 49, in send_code
r = await self.send(
File "C:\Users\avans\PycharmProjects\probnik\venv\lib\site-packages\pyrogram\methods\advanced\send.py", line 77, in send
r = await self.session.send(
File "C:\Users\avans\PycharmProjects\probnik\venv\lib\site-packages\pyrogram\session\session.py", line 362, in send
return await self._send(data, timeout=timeout)
File "C:\Users\avans\PycharmProjects\probnik\venv\lib\site-packages\pyrogram\session\session.py", line 332, in _send
RPCError.raise_it(result, type(data))
File "C:\Users\avans\PycharmProjects\probnik\venv\lib\site-packages\pyrogram\errors\rpc_error.py", line 91, in raise_it
raise getattr(
pyrogram.errors.exceptions.flood_420.FloodWait: Telegram says: [420 FLOOD_WAIT_X] - A wait of 37727 seconds is required (caused by "auth.SendCode")
Process finished with exit code 1
Немного пофиксил тут, теперь вопрос как пропустить эту ошибку?
import time
from pyrogram import Client
app = Client("config/my_account", config_file="config/config.ini", workers=1)
links = open('Channels.txt')
with app:
for line in links.readlines():
app.join_chat(line.strip())
time.sleep(5)
app.run()
Сама ошибка:
TgCrypto is missing! Pyrogram will work the same, but at a much slower speed. More info: https://docs.pyrogram.org/topics/tgcrypto
Traceback (most recent call last):
File "C:\Users\avans\PycharmProjects\pythonProject\main.py", line 11, in <module>
app.join_chat(line.strip())
File "C:\Users\avans\PycharmProjects\pythonProject\venv\lib\site-packages\pyrogram\sync.py", line 66, in async_to_sync_wrap
return loop.run_until_complete(coroutine)
File "C:\Users\avans\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 649, in run_until_complete
return future.result()
File "C:\Users\avans\PycharmProjects\pythonProject\venv\lib\site-packages\pyrogram\methods\chats\join_chat.py", line 56, in join_chat
chat = await self.send(
File "C:\Users\avans\PycharmProjects\pythonProject\venv\lib\site-packages\pyrogram\methods\advanced\send.py", line 77, in send
r = await self.session.send(
File "C:\Users\avans\PycharmProjects\pythonProject\venv\lib\site-packages\pyrogram\session\session.py", line 362, in send
return await self._send(data, timeout=timeout)
File "C:\Users\avans\PycharmProjects\pythonProject\venv\lib\site-packages\pyrogram\session\session.py", line 332, in _send
RPCError.raise_it(result, type(data))
File "C:\Users\avans\PycharmProjects\pythonProject\venv\lib\site-packages\pyrogram\errors\rpc_error.py", line 80, in raise_it
raise getattr(
pyrogram.errors.exceptions.bad_request_400.BadRequest: Telegram says: [400 Bad Request] - [400 INVITE_REQUEST_SENT] (caused by "messages.ImportChatInvite")
Process finished with exit code 1
Ответы (1 шт):
А код и так рабочий, надо было просто в try except обернуть и обработать ошибку, как успешный запрос на вступление и просто pass. Буквально через день понял, забыл сюда вписать ответ.
