首页 > 解决方案 > 无法从电报(电话)中获取消息

问题描述

我想用 Telethon python 自动回复消息。但是当我运行时,它无法收到消息并且无法回复我的消息。

这是我的代码。任何人都可以帮助我

def chatbot_response(msg):
ints = predict_class(msg, model)
res = getResponse(ints, intents)
return res

if __name__ == '__main__':
# Create the client and connect
# use sequential_updates=True to respond to messages one at a time
client = TelegramClient(session_file, api_id, api_hash, sequential_updates=True)

@client.on(events.NewMessage(incoming=True))
async def handle_new_message(event):  
    if event.is_private:  # only auto-reply to private chats
        from_ = await event.client.get_entity(event.from_id)  
        if not from_.bot:  # don't auto-reply to bots
            msg = events.NewMessage(incoming=True)
            if msg!='':
                message= cchatbot_response(msg)
                print(time.asctime(), '-', event.message)  # optionally log time and message
                time.sleep(1)  # pause for 1 second to rate-limit automatic replies
                await event.respond(message)


print(time.asctime(), '-', 'Auto-replying...')
client.start(phone, password)
client.run_until_disconnected()

标签: pythonbotstelegramtelethon

解决方案


我可以运行你的代码减去这些行

message = cchatbot_response(msg)
print(time.asctime(), '-', event.message)  # optionally log time and message
time.sleep(1)  # pause for 1 second to rate-limit automatic replies

请检查 cchatbot_response 函数。

另外,我打电话给这条线

client.start(phone, password)

像这样

client.start()

它提示我输入电话号码和密码,但没有再次提及。


推荐阅读