上下文:我开始学习如何用python编写电报机器人程序。我已经成功地制作了一个有趣的机器人,供我和朋友们一起使用。然而,我只希望它在除了触发它的命令之外的特定单词被提及时做出响应。示例:每当用户说出单词"时;温;加上任何其他单词,我希望机器人回复: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)
实际结果:机器人正在工作,但只有当用户明确地说";温;。如果用户在";温;机器人不会拾取它。
您只需使用.startswith('text')
来检查字符串是否以'text'
开头。
如果字符串以text
开头,则.startswith('text')
返回True
,否则将返回False
。
if "wen" in str(input_text).lower():
return "soon"
即使关键字不是第一个单词,这也应该有效。