cdies / news_aggregator

Полный агрегатор новостей
48 stars 24 forks source link

Ошибка telethone #3

Open georgevp opened 1 year ago

georgevp commented 1 year ago

Здравствуйте. Настроил всё как указано, в том числе, в предыдущих issues. При запуске main.py выскакивает следующая ошибка: 2023-03-05 19:18:42,304 - newscrap - INFO Start...

Traceback (most recent call last): File "main.py", line 104, in history = loop.run_until_complete(get_history(client, n_id, File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete return future.result() File "/home/user/news_scrap/microservice/utils.py", line 27, in get_history messages = await client.get_messages(chat_id, amount_messages) File "/home/user/.local/lib/python3.8/site-packages/telethon/client/messages.py", line 586, in get_messages return await it.collect() File "/home/user/.local/lib/python3.8/site-packages/telethon/requestiter.py", line 113, in collect async for message in self: File "/home/user/.local/lib/python3.8/site-packages/telethon/requestiter.py", line 74, in anext if await self._load_next_chunk(): File "/home/user/.local/lib/python3.8/site-packages/telethon/client/messages.py", line 184, in _load_next_chunk r = await self.client(self.request) File "/home/user/.local/lib/python3.8/site-packages/telethon/client/users.py", line 30, in call return await self._call(self._sender, request, ordered=ordered) File "/home/user/.local/lib/python3.8/site-packages/telethon/client/users.py", line 84, in _call result = await future telethon.errors.rpcerrorlist.BotMethodInvalidError: The API access for bot users is restricted. The method you tried to invoke cannot be executed as a bot (caused by GetHistoryRequest)

cdies commented 1 year ago

telegram_parser.py отдельно у вас работает? (Не забыли про bot.session и gazp.session?)

georgevp commented 1 year ago

работает. новый вариант ошибки. 2023-03-12 20:59:48,999 - newscrap - INFO Start...

Traceback (most recent call last): File "main.py", line 98, in client = telegram_parser('newscrap', api_id, api_hash, telegram_channels, posted_q, File "/home/user/news_scrap/microservice/telegram_parser.py", line 17, in telegram_parser client.start() File "/home/user/.local/lib/python3.8/site-packages/telethon/client/auth.py", line 134, in start else self.loop.run_until_complete(coro) File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete return future.result() File "/home/user/.local/lib/python3.8/site-packages/telethon/client/auth.py", line 141, in _start await self.connect() File "/home/user/.local/lib/python3.8/site-packages/telethon/client/telegrambaseclient.py", line 537, in connect self.session.auth_key = self._sender.auth_key File "/home/user/.local/lib/python3.8/site-packages/telethon/sessions/sqlite.py", line 180, in auth_key self._update_session_table() File "/home/user/.local/lib/python3.8/site-packages/telethon/sessions/sqlite.py", line 194, in _update_session_table c.execute('delete from sessions') sqlite3.OperationalError: database is locked Task was destroyed but it is pending! task: <Task pending name='Task-14' coro=<MTProtoSender._send_loop() running at /home/user/.local/lib/python3.8/site-packages/telethon/network/mtprotosender.py:458> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x7fa374d01af0>()]>> Task was destroyed but it is pending! task: <Task pending name='Task-15' coro=<MTProtoSender._recv_loop() running at /home/user/.local/lib/python3.8/site-packages/telethon/network/mtprotosender.py:501> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x7fa374d01b20>()]>> Task was destroyed but it is pending! task: <Task pending name='Task-12' coro=<Connection._send_loop() running at /home/user/.local/lib/python3.8/site-packages/telethon/network/connection/connection.py:306> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x7fa374d01820>()]>> Task was destroyed but it is pending! task: <Task pending name='Task-13' coro=<Connection._recv_loop() running at /home/user/.local/lib/python3.8/site-packages/telethon/network/connection/connection.py:324> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x7fa374d01970>()]>>

cdies commented 1 year ago

Что-то с аутентификацией, копайте в сторону работы с telethon, может туториал какой есть для начинающих на youtube, нужно посмотреть.

Nachos25 commented 1 year ago

У меня похожая ошибка. D:\python.exe C:/Users/Asus/PycharmProjects/Work/main.py Handling /start command Unhandled exception on handle_admin_commands Traceback (most recent call last): File "D:\lib\site-packages\telethon\client\updates.py", line 570, in _dispatch_update await callback(event) File "C:\Users\Asus\PycharmProjects\Work\main.py", line 88, in handle_admin_commands response = await client.get_messages(event.chat_id, limit=1) File "D:\lib\site-packages\telethon\client\messages.py", line 603, in get_messages return await it.collect() File "D:\lib\site-packages\telethon\requestiter.py", line 113, in collect async for message in self: File "D:\lib\site-packages\telethon\requestiter.py", line 74, in anext if await self._load_next_chunk(): File "D:\lib\site-packages\telethon\client\messages.py", line 184, in _load_next_chunk r = await self.client(self.request) File "D:\lib\site-packages\telethon\client\users.py", line 30, in call return await self._call(self._sender, request, ordered=ordered) File "D:\lib\site-packages\telethon\client\users.py", line 87, in _call result = await future telethon.errors.rpcerrorlist.BotMethodInvalidError: The API access for bot users is restricted. The method you tried to invoke cannot be executed as a bot (caused by GetHistoryRequest) Не знаю как ее решить. Буду благодарен за помощь. Если надо будет код могу скинуть.

georgevp commented 1 year ago

К сожалению пришлось использовать requests.

Nachos25 commented 1 year ago

Сможешь помочь?