首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AIML如何使bot通过使用日期标签检查值来祝用户生日快乐

AIML如何使bot通过使用日期标签检查值来祝用户生日快乐
EN

Stack Overflow用户
提问于 2022-11-07 11:15:12
回答 1查看 29关注 0票数 0

在AIML中,如何通过查看日历日期来使bot识别用户的生日?我试图在aiml中构建一个函数,它将存储用户生日的变量,并且在生日时,机器人应该通过使用" date“标记检查日期来向用户祝生日快乐。

这是我的代码

代码语言:javascript
复制
<category>
<pattern>MY BIRTHDAY IS ON <set>day</set> <set>month</set></pattern>
<template>Ok!

<think>
<set name="day"><star index="1" /></set>
<set name="getday"><date format="%d"/></set>

<set name="month"><star index="2" /></set>
<set name="getmonth"><date format="%B"/></set>

<set name="checkbirthday"><get name="getday"/><get name="getmonth"/></set>
</think>

</template>
</category>

<category>
<pattern>BIRTHDAYCHECK</pattern>
<template>
<think>

<set name="checkbday"><date format="%d %B"/></set>
<set name="checkbday">checkbirthday</set>

</think>

<condition name="checkbday">
<li value="checkbirthday">Happy birthday</li>
<li>No its not your birthday today</li>
</condition>

</template>
</category>

如果我在11月7日告诉我的机器人,我的bday是11月7日,那么它就能正常工作了。

代码语言:javascript
复制
HUMAN: My birthday is on 7 november
ROBOT: Okay!
HUMAN: BIRTHDAYCHECK
ROBOT: Happy birthday

但是如果我在11月7日告诉我的机器人我的bday是11月5日,那么它会输出相同的消息。

代码语言:javascript
复制
HUMAN: My birthday is on 5 november
ROBOT: Okay!
HUMAN: BIRTHDAYCHECK
ROBOT: Happy birthday

我在期待这个输出

(11月7日)

代码语言:javascript
复制
HUMAN: My birthday is on 5 november
ROBOT: Okay!
HUMAN: BIRTHDAYCHECK
ROBOT: No its not your birthday today

机器人将如何检查日期和祝生日快乐在出生日期?我现在很困惑!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-07 18:37:15

您的代码总是说生日快乐,因为您正在设置一个名为checkbday的谓词,该谓词的值为checkbirthday,然后查看它是否等于checkbirthday,当然它总是这样做的。

试试这个吧。您可能需要修改它来处理您的集合。

代码语言:javascript
复制
<category>
<pattern>MY BIRTHDAY IS ON * *</pattern>
<template>
    Ok!
    <think>
        <set name="birthday"><star/> <star index="2"/></set>
    </think>
</template>
</category>

<category>
<pattern>BIRTHDAYCHECK</pattern>
<template>
    <think>
        <set name="checkbday"><date format="%e %B"/></set>
    </think>
    <condition name="birthday">
        <li><value><get name="checkbday"/></value>Happy birthday</li>
        <li>No its not your birthday today</li>
    </condition>
</template>
</category>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74345709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档