如何批量制作聊天机器人
How To Make Chat Bot In Batch
我想批量创建一个聊天机器人程序。
聊天机器人响应不同的关键字。
例如:
如果你说嗨,机器人。然后它接受关键字 "Hi"
然后用类似的东西响应:Hello, What Is Your Name?
这是我的代码:
@echo off
color 0a
title Chat Bot
:chatloop
set /p n=Name:
set /p c=Chat:
If "%c%" Contains "Hi" ( <-- What would be this line of code?
echo Hi, how are you?
pause
goto chatloop
)
试试这个:
@ECHO OFF
:CHATLOOP
SET /P input=Your message:
IF %input%==Hi ECHO Hello, What Is Your Name?
IF %input%==Something ECHO something else
IF %input%==How are you? ECHO Fine. How are you?
IF %input%==quit GOTO END
GOTO CHATLOOP
:END
PAUSE
搜索关键字而不是完整词组:
@echo off
:loop
set /p input="> "
echo %input%|find /i "hi" >nul && echo Hello.
echo %input%|find /i "your name" >nul && echo My name is Rob. What's yours?
echo %input%|find /i "my name is" >nul && echo That's a nice name.
echo %input%|find /i "wheather" >nul && echo Wonderful. Sun is shining.
echo %input%|find /i "bye" >nul && (echo what a pity. See you! & goto :eof)
REM choose your keywords wisely...
goto :loop
注意:这是一个非常基础的 "show how"。完全没有错误处理。
如果你想在没有关键字的情况下做到这一点,只回答确切的输入,你可以试试这个代码:
@echo off
color f0
set T=speak.dat
echo Hinweis: nur kleinbuchstaben verwenden keine satzzeichen
echo beliebige Taste zum starten
pause >nul
:A
title speak2me
set /p ui=
for /f "tokens=1* delims=:" %%i in ('findstr /b "%ui%:" %T%') do set "out=%%j" >nul
echo %out%
goto :A
您可能已经看到,您需要一个数据库(名为 T=speak.dat),格式如下:
any input:output
我的数据库示例:
hi:hey
how are you:I am fine, thanks
bye:See you next time
当你想写新句子时,在数据库中键入它或使用以下批处理:
@echo off
echo Benutzereingaben immer klein ohne Sonderzeichen etc
pause
echo (BE:BenutzerEingabe,I:Was ich darauf antworte)
:A
set /p BE=BE:
set /p I=I:
echo %BE%:%I% >> speak.dat
echo Ok danke,
echo Auf %BE% antworte ich mit %I%
goto :A
(如果我的英语不是最好的,请原谅,我不是母语人士
如果您想翻译小文本片段,请使用 google 德语>英语,谢谢 :D)
希望能帮到你,
问候蒂姆
我想批量创建一个聊天机器人程序。
聊天机器人响应不同的关键字。
例如:
如果你说嗨,机器人。然后它接受关键字 "Hi"
然后用类似的东西响应:Hello, What Is Your Name?
这是我的代码:
@echo off
color 0a
title Chat Bot
:chatloop
set /p n=Name:
set /p c=Chat:
If "%c%" Contains "Hi" ( <-- What would be this line of code?
echo Hi, how are you?
pause
goto chatloop
)
试试这个:
@ECHO OFF
:CHATLOOP
SET /P input=Your message:
IF %input%==Hi ECHO Hello, What Is Your Name?
IF %input%==Something ECHO something else
IF %input%==How are you? ECHO Fine. How are you?
IF %input%==quit GOTO END
GOTO CHATLOOP
:END
PAUSE
搜索关键字而不是完整词组:
@echo off
:loop
set /p input="> "
echo %input%|find /i "hi" >nul && echo Hello.
echo %input%|find /i "your name" >nul && echo My name is Rob. What's yours?
echo %input%|find /i "my name is" >nul && echo That's a nice name.
echo %input%|find /i "wheather" >nul && echo Wonderful. Sun is shining.
echo %input%|find /i "bye" >nul && (echo what a pity. See you! & goto :eof)
REM choose your keywords wisely...
goto :loop
注意:这是一个非常基础的 "show how"。完全没有错误处理。
如果你想在没有关键字的情况下做到这一点,只回答确切的输入,你可以试试这个代码:
@echo off
color f0
set T=speak.dat
echo Hinweis: nur kleinbuchstaben verwenden keine satzzeichen
echo beliebige Taste zum starten
pause >nul
:A
title speak2me
set /p ui=
for /f "tokens=1* delims=:" %%i in ('findstr /b "%ui%:" %T%') do set "out=%%j" >nul
echo %out%
goto :A
您可能已经看到,您需要一个数据库(名为 T=speak.dat),格式如下:
any input:output
我的数据库示例:
hi:hey
how are you:I am fine, thanks
bye:See you next time
当你想写新句子时,在数据库中键入它或使用以下批处理:
@echo off
echo Benutzereingaben immer klein ohne Sonderzeichen etc
pause
echo (BE:BenutzerEingabe,I:Was ich darauf antworte)
:A
set /p BE=BE:
set /p I=I:
echo %BE%:%I% >> speak.dat
echo Ok danke,
echo Auf %BE% antworte ich mit %I%
goto :A
(如果我的英语不是最好的,请原谅,我不是母语人士 如果您想翻译小文本片段,请使用 google 德语>英语,谢谢 :D)
希望能帮到你, 问候蒂姆