我在开始做热图客户上有个问题。
我在https://my.telegram.org/中创建了一个应用程序,并从那里复制了creds。
现在我开始客户端:
from pyrogram import Client
client = Client(
"occasion",
api_id=os.environ.get('TG_API_ID'),
api_hash=os.environ.get('TG_API_HASH')
)
client.start()
client.send_message('me', 'some_message_text')
client.stop()并在字符串client.start()处引发一个错误。
错误说:
Traceback (most recent call last):
File "C:\Users\Artur_Epremian\AppData\Local\Programs\Python\Python310\lib\code.py", line 90, in runcode
exec(code, self.locals)
File "<input>", line 1, in <module>
File "C:\Users\Artur_Epremian\AppData\Local\pypoetry\Cache\virtualenvs\occasion-back-UNW6TZnG-py3.10\lib\site-packages\pyrogram\sync.py", line 66, in async_to_sync_wrap
return loop.run_until_complete(coroutine)
File "C:\Users\Artur_Epremian\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 646, in run_until_complete
return future.result()
File "C:\Users\Artur_Epremian\AppData\Local\pypoetry\Cache\virtualenvs\occasion-back-UNW6TZnG-py3.10\lib\site-packages\pyrogram\methods\utilities\start.py", line 58, in start
is_authorized = await self.connect()
File "C:\Users\Artur_Epremian\AppData\Local\pypoetry\Cache\virtualenvs\occasion-back-UNW6TZnG-py3.10\lib\site-packages\pyrogram\methods\auth\connect.py", line 40, in connect
await self.load_session()
File "C:\Users\Artur_Epremian\AppData\Local\pypoetry\Cache\virtualenvs\occasion-back-UNW6TZnG-py3.10\lib\site-packages\pyrogram\client.py", line 564, in load_session
await self.storage.open()
File "C:\Users\Artur_Epremian\AppData\Local\pypoetry\Cache\virtualenvs\occasion-back-UNW6TZnG-py3.10\lib\site-packages\pyrogram\storage\file_storage.py", line 58, in open
self.conn = sqlite3.connect(str(path), timeout=1, check_same_thread=False)
sqlite3.OperationalError: unable to open database file你能帮我找出原因吗?
发布于 2022-06-13 14:14:10
所以我的问题是,在我开始一个会话之前,我在应用程序(django)中做了这件事。因此,如果您看到这个问题,您应该手动启动会话(从终端、python控制台等)。用你的证件:
client = Client('name', api_id='', api_hash='')
client.start() # here it will ask you to enter your phone number and confirmation code
client.export_session_string()
# -> and here you will get a string, save it in credentials too
client.stop()在您保存会话字符串之后,您可以运行应用程序,您只需在客户端中传递参数session_string即可。
client = Client(
"occasion",
api_id=os.environ.get('TG_API_ID'),
api_hash=os.environ.get('TG_API_HASH'),
session_string=os.environ.get('TG_SESSION_STRING')
)https://stackoverflow.com/questions/72603614
复制相似问题