%global _empty_manifest_terminate_build 0 Name: python-chatbotAI Version: 0.3.1.3 Release: 1 Summary: A chatbot AI engine is a chatbot builder platform that provides both bot intelligence and chat handler with minimal codding License: MIT URL: https://github.com/ahmadfaizalbh/Chatbot Source0: https://mirrors.nju.edu.cn/pypi/web/packages/d4/40/f32720944b7bfad2a31a98cb9f90932347c5b2c562cecd5438980ab44f5c/chatbotAI-0.3.1.3.tar.gz BuildArch: noarch Requires: python3-requests %description ## Memory #### Set Memory ``` { variable : value } ``` In think mode ``` {! variable : value } ``` #### Get Memory ``` { variable } ``` ## Get matched group for grouping in regex refer [Python regular expression docs](https://docs.python.org/3/howto/regex.html#non-capturing-and-named-groups) #### Get Nth matched group of client pattern ``` %N ``` Example to get first matched ``` %1 ``` #### Get matching named group of client pattern ``` %Client_pattern_group_name ``` Example to get matching named group `person` ``` %person ``` #### Get Nth matched group of bots message pattern ``` %!N ``` Example to get first matched ``` %!1 ``` #### Get matching named group of bots message pattern ``` %!Bot_pattern_group_name ``` Example to get matching named group `region` ``` %!region ``` ## Recursion Get response as if client said this new statement ``` {% chat statement %} ``` It will do a pattern match for statement ## Condition ``` {% if condition %} do this first {% elif condition %} do this next {% else %} do otherwise {% endif %} ``` ## Change Topic ``` {% topic TopicName %} ``` ## Interact with python function ##### In python ```python @register_call("functionName") def function_name(session, query): return "response string" ``` ##### In template ``` {% call functionName: value %} ``` ## REST API integration ### In API.json file ``` { "APIName":{ "auth" : { "url":"https://your_rest_api_url/login.json", "method":"POST", "data":{ "user":"Your_Username", "password":"Your_Password" } }, "MethodName" : { "url":"https://your_rest_api_url/GET_method_Example.json", "method":"GET", "params":{ "key1":"value1", "key2":"value2", }, "value_getter":[order in which data has to be picked from json response] }, "MethodName1" : { "url":"https://your_rest_api_url/GET_method_Example.json", "method":"POST", "data":{ "key1":"value1", "key2":"value2", }, "value_getter":[order in which data has to be picked from json response] }, "MethodName2" : { }, }, "APIName2":{ }, } ``` *If authentication is required only then `auth` method is needed.The `data` and `params` defined in pi.json file acts as defult values and all key value pair defined in template file overrides the default value.`value_getter` consistes of list of keys in order using which info from json will be collected.* ### In Template file ``` [ APIName:MethodName,Key1:value1 (,Key*:value*) ] ``` you can have any number of key value pair and all key value pair will override data or params depending on `method`, if `method` is `POST` then it overrides data and if method is `GET` then it overrides `params`. ## Topic based group ``` {% group topicName %} {% block %} {% client %}client says {% endclient %} {% response %}response text{% endresponse %} {% endblock %} {% endgroup %} ``` ## Learn ``` {% learn %} {% group topicName %} {% block %} {% client %}client says {% endclient %} {% response %}response text{% endresponse %} {% endblock %} {% endgroup %} {% endlearn %} ``` ## To upper case ``` {% up string %} ``` ## To lower case ``` {% low string %} ``` ## Capitalize ``` {% cap string %} ``` ## Previous ``` {% block %} {% client %}client's statement pattern{% endclient %} {% prev %}previous bot's statement pattern{% endprev %} {% response %}response string{% endresponse %} {% endblock %} ``` ![Chatbot AI flow Diagram](https://raw.githubusercontent.com/ahmadfaizalbh/Chatbot/master/images/ChatBot%20AI.png) %package -n python3-chatbotAI Summary: A chatbot AI engine is a chatbot builder platform that provides both bot intelligence and chat handler with minimal codding Provides: python-chatbotAI BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-chatbotAI ## Memory #### Set Memory ``` { variable : value } ``` In think mode ``` {! variable : value } ``` #### Get Memory ``` { variable } ``` ## Get matched group for grouping in regex refer [Python regular expression docs](https://docs.python.org/3/howto/regex.html#non-capturing-and-named-groups) #### Get Nth matched group of client pattern ``` %N ``` Example to get first matched ``` %1 ``` #### Get matching named group of client pattern ``` %Client_pattern_group_name ``` Example to get matching named group `person` ``` %person ``` #### Get Nth matched group of bots message pattern ``` %!N ``` Example to get first matched ``` %!1 ``` #### Get matching named group of bots message pattern ``` %!Bot_pattern_group_name ``` Example to get matching named group `region` ``` %!region ``` ## Recursion Get response as if client said this new statement ``` {% chat statement %} ``` It will do a pattern match for statement ## Condition ``` {% if condition %} do this first {% elif condition %} do this next {% else %} do otherwise {% endif %} ``` ## Change Topic ``` {% topic TopicName %} ``` ## Interact with python function ##### In python ```python @register_call("functionName") def function_name(session, query): return "response string" ``` ##### In template ``` {% call functionName: value %} ``` ## REST API integration ### In API.json file ``` { "APIName":{ "auth" : { "url":"https://your_rest_api_url/login.json", "method":"POST", "data":{ "user":"Your_Username", "password":"Your_Password" } }, "MethodName" : { "url":"https://your_rest_api_url/GET_method_Example.json", "method":"GET", "params":{ "key1":"value1", "key2":"value2", }, "value_getter":[order in which data has to be picked from json response] }, "MethodName1" : { "url":"https://your_rest_api_url/GET_method_Example.json", "method":"POST", "data":{ "key1":"value1", "key2":"value2", }, "value_getter":[order in which data has to be picked from json response] }, "MethodName2" : { }, }, "APIName2":{ }, } ``` *If authentication is required only then `auth` method is needed.The `data` and `params` defined in pi.json file acts as defult values and all key value pair defined in template file overrides the default value.`value_getter` consistes of list of keys in order using which info from json will be collected.* ### In Template file ``` [ APIName:MethodName,Key1:value1 (,Key*:value*) ] ``` you can have any number of key value pair and all key value pair will override data or params depending on `method`, if `method` is `POST` then it overrides data and if method is `GET` then it overrides `params`. ## Topic based group ``` {% group topicName %} {% block %} {% client %}client says {% endclient %} {% response %}response text{% endresponse %} {% endblock %} {% endgroup %} ``` ## Learn ``` {% learn %} {% group topicName %} {% block %} {% client %}client says {% endclient %} {% response %}response text{% endresponse %} {% endblock %} {% endgroup %} {% endlearn %} ``` ## To upper case ``` {% up string %} ``` ## To lower case ``` {% low string %} ``` ## Capitalize ``` {% cap string %} ``` ## Previous ``` {% block %} {% client %}client's statement pattern{% endclient %} {% prev %}previous bot's statement pattern{% endprev %} {% response %}response string{% endresponse %} {% endblock %} ``` ![Chatbot AI flow Diagram](https://raw.githubusercontent.com/ahmadfaizalbh/Chatbot/master/images/ChatBot%20AI.png) %package help Summary: Development documents and examples for chatbotAI Provides: python3-chatbotAI-doc %description help ## Memory #### Set Memory ``` { variable : value } ``` In think mode ``` {! variable : value } ``` #### Get Memory ``` { variable } ``` ## Get matched group for grouping in regex refer [Python regular expression docs](https://docs.python.org/3/howto/regex.html#non-capturing-and-named-groups) #### Get Nth matched group of client pattern ``` %N ``` Example to get first matched ``` %1 ``` #### Get matching named group of client pattern ``` %Client_pattern_group_name ``` Example to get matching named group `person` ``` %person ``` #### Get Nth matched group of bots message pattern ``` %!N ``` Example to get first matched ``` %!1 ``` #### Get matching named group of bots message pattern ``` %!Bot_pattern_group_name ``` Example to get matching named group `region` ``` %!region ``` ## Recursion Get response as if client said this new statement ``` {% chat statement %} ``` It will do a pattern match for statement ## Condition ``` {% if condition %} do this first {% elif condition %} do this next {% else %} do otherwise {% endif %} ``` ## Change Topic ``` {% topic TopicName %} ``` ## Interact with python function ##### In python ```python @register_call("functionName") def function_name(session, query): return "response string" ``` ##### In template ``` {% call functionName: value %} ``` ## REST API integration ### In API.json file ``` { "APIName":{ "auth" : { "url":"https://your_rest_api_url/login.json", "method":"POST", "data":{ "user":"Your_Username", "password":"Your_Password" } }, "MethodName" : { "url":"https://your_rest_api_url/GET_method_Example.json", "method":"GET", "params":{ "key1":"value1", "key2":"value2", }, "value_getter":[order in which data has to be picked from json response] }, "MethodName1" : { "url":"https://your_rest_api_url/GET_method_Example.json", "method":"POST", "data":{ "key1":"value1", "key2":"value2", }, "value_getter":[order in which data has to be picked from json response] }, "MethodName2" : { }, }, "APIName2":{ }, } ``` *If authentication is required only then `auth` method is needed.The `data` and `params` defined in pi.json file acts as defult values and all key value pair defined in template file overrides the default value.`value_getter` consistes of list of keys in order using which info from json will be collected.* ### In Template file ``` [ APIName:MethodName,Key1:value1 (,Key*:value*) ] ``` you can have any number of key value pair and all key value pair will override data or params depending on `method`, if `method` is `POST` then it overrides data and if method is `GET` then it overrides `params`. ## Topic based group ``` {% group topicName %} {% block %} {% client %}client says {% endclient %} {% response %}response text{% endresponse %} {% endblock %} {% endgroup %} ``` ## Learn ``` {% learn %} {% group topicName %} {% block %} {% client %}client says {% endclient %} {% response %}response text{% endresponse %} {% endblock %} {% endgroup %} {% endlearn %} ``` ## To upper case ``` {% up string %} ``` ## To lower case ``` {% low string %} ``` ## Capitalize ``` {% cap string %} ``` ## Previous ``` {% block %} {% client %}client's statement pattern{% endclient %} {% prev %}previous bot's statement pattern{% endprev %} {% response %}response string{% endresponse %} {% endblock %} ``` ![Chatbot AI flow Diagram](https://raw.githubusercontent.com/ahmadfaizalbh/Chatbot/master/images/ChatBot%20AI.png) %prep %autosetup -n chatbotAI-0.3.1.3 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-chatbotAI -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 0.3.1.3-1 - Package Spec generated