Не работает копирование последнего сообщения из телеграмм-чата через библиотеку Pyrogram
В общем была задача сделать код юзербота, который будет присылать определённое сообщение другому боту, а затем через 20 секунд читать последнее отправленное обратно(уже от бота юзеру сообщение), и добавлять его текст в переменную result. Получился такой код:
from pyrogram import Client
import time
api_id = ID
api_hash = "hash"
app = Client('my_account')
my_message = "Hello, this is a test message!"
result = ""
def send_message():
app.send_message("@example_bot", my_message)
def copy_message():
global result
messages = app.get_history("@example_bot")
for message in messages:
if message.sender_id == "@example_bot":
result = message.text
break
send_message()
time.sleep(20)
copy_message()
print(result)
app.run()
И выдаётся такая ошибка:
Traceback (most recent call last): File "C:\Projects\Python\opa\Enigram\main.py", line 23, in send_message() File "C:\Projects\Python\opa\Enigram\main.py", line 13, in send_message app.send_message("@GptwitchBot", my_message) File "C:\Projects\Python\opa\Enigram.venv\Lib\site-packages\pyrogram\sync.py", line 66, in async_to_sync_wrap return loop.run_until_complete(coroutine) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Egor\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 685, in run_until_complete return future.result() ^^^^^^^^^^^^^^^ File "C:\Projects\Python\opa\Enigram.venv\Lib\site-packages\pyrogram\methods\messages\send_message.py", line 128, in send_message peer=await self.resolve_peer(chat_id), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Projects\Python\opa\Enigram.venv\Lib\site-packages\pyrogram\methods\advanced\resolve_peer.py", line 59, in resolve_peer raise ConnectionError("Client has not been started yet") ConnectionError: Client has not been started yet
Process finished with exit code 1
Всё перепробовал, но не понял, как исправить.