%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 %}
```

%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 %}
```

%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 %}
```

%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