Именно так и сделал: удалил Pyrogram, и установил pyrotgfork (чтобы обойти ограничение в 1000 подписчиков на канале, от которого должны поступать сообщения). В итоге довольно простой код, логирующий входящие сообщения, перестал работать.
Стал выдавать ошибку: "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
А что будет, если для этого примера с "заказом" и "элементом заказа" все-таки указать неидентифицирующую связь (пускай с атрибутом NOT NULL). Какие следствия (ошибки, нестыковки) это вызовет?
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Стал выдавать ошибку: "sqlite3.OperationalError: table update_state already exists".
По поиску этой ошибки выдаются далекие от темы результаты - по БД, хотя БД в коде никак не участвуют.
Что делать в этой ситуации?
Полный лог ошибок: