当我从按钮获得触发器时,我正在尝试使用 Telethon 发送电报消息。
当由 NewMessage 事件等事件触发时,我的 Telethon 方法可以正常工作,但是如何client.send_message(user, msg)
使用其他触发器(即按下按钮,telethon 发送消息)发送消息()?
目前我得到的只是这些错误:
RuntimeError: There is no current event loop in thread 'Thread-1'.
RuntimeWarning: coroutine 'send_to' was never awaited
这是我的代码的简化版本:
with client:
client.start()
while True:
if (button):
await client.send_message(int(chat),msg)
client.run_until_disconnected()
编辑:
事后看来,我的实际原始问题过于简单化了。我没有使用按钮,而是语音命令,无论哪种方式,都是非电报触发器。在 Telegram 聊天组 @TelethonChat 的帮助下,答案是使用:
import asyncio
loop = asyncio.new_event_loop()
async def send_to(chat, msg):
await client.send_message(chat, msg)
def mainfunc():
if (trigger):
loop.create_task(send_to(chat, msg))