Python telegram bot - 当用户说出特定词时回复

Python telegram bot - reply when user says specific words

上下文:我开始学习如何在 python 中编写电报机器人代码。我已经成功地为我的团队和朋友制作了一个有趣的机器人。但是,除了触发它的命令之外,我只希望它在提到特定单词时做出响应。 示例:每当用户说“wen”这个词加上任何其他词时,我希望机器人回复:SOON! 我希望机器人只选择一些触发词并回复,而聊天的其余部分保持空闲

我的部分代码:

       user_message = str(input_text).lower()
       wenResponse = str("wen ").join(input_text)
      
       if user_message + wenResponse:
           return ("SOON!")
   
   def handle_message(update,context):
       text=str(update.message.text).lower()
       response=sample_responses(text)
       update.message.reply_text(response)

实际结果: 该机器人正在工作,但只有当用户特别说“wen”时才会工作。如果用户在“wen”之后添加了更多单词,则机器人不会接收它。

您可以只使用 .startswith('text') 来检查是否以 'text' 开头的字符串。

.startswith('text')returnTrue如果字符串以text开头,否则返回False.

if "wen" in str(input_text).lower():
    return "soon"

即使关键字不是第一个词,这也应该有效。