Задать вопрос
Den_Rou_OFFICIAL
@Den_Rou_OFFICIAL
Человек

Что делать если юзербот Pyrogram не видит новых сообщений от каналов >1000 человек?

Уже давно заметил это, но не особо волновался потому что не особо требовалось и я обходился получением сообщений через обработку preview канала, сейчас стало нужно и искренне не знаю как фиксить, т.е клиент юзер бота просто не видит новых сообщений от каналов/чатов в которых больше 1000 человек, можно ли как то это исправить что бы я смог получать сообщения от таких каналов?
  • Вопрос задан
  • 258 просмотров
Подписаться 2 Простой 6 комментариев
Пригласить эксперта
Ответы на вопрос 3
aliprofi
@aliprofi
Хочешь стать неудачником? Всегда ищи виноватых!
Что за проблема? Купите себе 1000 подписчиков ботов обычных и будет вас счастье ))
Ответ написан
@nikita_kataev_dev
Pyrogram не поддерживают уже больше года, есть форк - pyrotgfork.
Удаляешь Pyrogram, устанавливаешь pyrotgfork, и всё. Код менять не нужно. Всё будет работать.
Ответ написан
@romanraspopov
Удалось ли решить проблему?
Я сделал, как написал Никита: удалил pyrogram, и установил pyrotgfork. В итоге довольно простой код, логирующий входящие сообщения, перестал работать.

Стал выдавать ошибку: "sqlite3.OperationalError: table update_state already exists".

По поиску этой ошибки выдаются далекие от темы результаты - по БД, хотя БД в коде никак не участвуют.
Что делать в этой ситуации?

from pyrogram import Client
from pyrogram import filters

app = Client("my_account")


@app.on_message(filters.channel | filters.group)
def log(client, message):
    print(f"{message}\n")


app.run()


Полный лог ошибок:

Traceback (most recent call last):
  File "c:\Users\roman\AppData\Local\Programs\Python\SoberMonitor\onMessage_1.py", line 12, in <module>
    app.run()
    ~~~~~~~^^
  File "C:\Users\roman\AppData\Local\Programs\Python\SoberMonitor\.venv\Lib\site-packages\pyrogram\methods\utilities\run.py", line 84, in run
    self.start()
    ~~~~~~~~~~^^
  File "C:\Users\roman\AppData\Local\Programs\Python\SoberMonitor\.venv\Lib\site-packages\pyrogram\sync.py", line 66, in async_to_sync_wrap
    return loop.run_until_complete(coroutine)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
  File "C:\Users\roman\AppData\Local\Programs\Python\Python313\Lib\asyncio\base_events.py", line 721, in run_until_complete
    return future.result()
           ~~~~~~~~~~~~~^^
  File "C:\Users\roman\AppData\Local\Programs\Python\SoberMonitor\.venv\Lib\site-packages\pyrogram\methods\utilities\start.py", line 58, in start
    is_authorized = await self.connect()
                    ^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\roman\AppData\Local\Programs\Python\SoberMonitor\.venv\Lib\site-packages\pyrogram\methods\auth\connect.py", line 40, in connect
    await self.load_session()
  File "C:\Users\roman\AppData\Local\Programs\Python\SoberMonitor\.venv\Lib\site-packages\pyrogram\client.py", line 804, in load_session
    await self.storage.open()
  File "C:\Users\roman\AppData\Local\Programs\Python\SoberMonitor\.venv\Lib\site-packages\pyrogram\storage\file_storage.py", line 131, in open
    await self.update()
  File "C:\Users\roman\AppData\Local\Programs\Python\SoberMonitor\.venv\Lib\site-packages\pyrogram\storage\file_storage.py", line 113, in update
    await self.loop.run_in_executor(self.executor, self._update_from_four_impl)
  File "C:\Users\roman\AppData\Local\Programs\Python\Python313\Lib\concurrent\futures\thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "C:\Users\roman\AppData\Local\Programs\Python\SoberMonitor\.venv\Lib\site-packages\pyrogram\storage\file_storage.py", line 83, in _update_from_four_impl
    self.conn.executescript(UPDATE_STATE_SCHEMA)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: table update_state already exists
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы