VB.NET编写图灵聊天机器人程序

第一次在这写博客,不妥之处还望海涵。

效果就是这样




首先我们用到的工具是VS2015,还没安装的朋友自行安装。

然后我们需要到图灵聊天机器人官网获取key。

http://www.tuling123.com/

注册成功后我们会获得一个你专属的机器,给我们提供的key让我能在代码中引用机器人的聊天内容。



有了key之后我们来测试下key能用了没

在浏览器输入

http://www.tuling123.com/openapi/api?key=yourkey7588df24e399bf06971&info=你好



看到有类似机器人回复的文字出现,就证明key 可以使用了。

好了,现在我们理一下思路:

1、输入聊天内容

2、聊天内容与图灵key链接组合

3、发送这个链接请求

4、获取返回内容

5、加工返回的内容,剔除不需要的部分,{“code”:100000,“text":"

6、将加工后的内容和输入的聊天内容显示在一个lable上,完成。

现在开始我们的步骤

新建一个vb.net 窗口应用程序

拖入控件



控件 的属性默认就好

双击窗口空白处进入代码编写

在载入窗体函数下加入

 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Label1.Text = ""
        Label2.Text = ""
    End Sub

使两个标签一开始没有显示文字

回到设计页面,双击发送按钮,进入按钮点击函数,我们的功能在这个按钮下实现。


    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim input As String
        Dim url As String
        Dim data As String
        Dim data1 As String
        Dim data2 As String
        input = TextBox1.Text '获取输入框内容
        url = "http://www.tuling123.com/openapi/api?key=yourkey&info=" + input '聊天内容与图灵key链接组合
        data = GetData(url)  '调用函数,请求链接,获取图灵机器人返回的字符串内容
        data1 = "灵儿:  " + Microsoft.VisualBasic.Left(Microsoft.VisualBasic.Right(data, Len(data) - 23), Len(Microsoft.VisualBasic.Right(data, Len(data) - 23)) - 2) ' 去掉左边23个字符,右边2个字符
        Label1.Text = Label1.Text + data1 & vbCrLf & vbCrLf  '更新lable1的文字,并加回车两行,用于显示机器人的聊天内容
        data2 = "you:  " + TextBox1.Text '加入前缀,you
        Label2.Text = Label2.Text + data2 & vbCrLf & vbCrLf '更新lable2d文字,并加回车两行,用于显示输入的聊天内容
        TextBox1.Text = "" '清空输入框
    End Sub


加入链接请求函数,使用httpget


 Public Shared Function GetData(ByVal url As String) As String
        Dim request As HttpWebRequest = WebRequest.Create(url)
        request.Method = "GET"
        Dim sr As StreamReader = New StreamReader(request.GetResponse().GetResponseStream)
        Return sr.ReadToEnd
    End Function


点击调试,我们的功能已经可以实现

但是调试时我们发现,每次输入完聊天内容都需要点击发送按钮,很麻烦,我们需要像QQ一样按输入完按回车就完成。我们现在就把这功能加入,添加一个函数,presskey


Private Sub TextBox1_keyup(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp
        If e.KeyCode = Keys.Enter Then  '按下enter后
            Dim input As String
            Dim url As String
            Dim data As String
            Dim data1 As String
            Dim data2 As String
            input = TextBox1.Text
            url = "http://www.tuling123.com/openapi/api?key=b53e3ba5402047588df24e399bf06971&info=" + input
            data = GetData(url)
            data1 = "灵儿:  " + Microsoft.VisualBasic.Left(Microsoft.VisualBasic.Right(data, Len(data) - 23), Len(Microsoft.VisualBasic.Right(data, Len(data) - 23)) - 2)
            Label1.Text = Label1.Text + data1 & vbCrLf & vbCrLf
            data2 = "you:  " + TextBox1.Text
            Label2.Text = Label2.Text + data2 & vbCrLf
            TextBox1.Text = ""
        End If
    End Sub


 

检测按下enter后执行与按钮一样的代码点击调试,我们可以使用回车发送聊天内容了,但是我们又发现了一个问题,每次按回车后都会提示报警声,而且输入法默认关闭,每次都要 切换,这是因为textbox输入框只允许输入单行,我们去修改下textbox的属性,在设计页面点击textbox,在属性中找到,并修改,允许多行输入,允许使用输入法。

修改好这两个属性之后,我们再点击调试,发现没哟报警声了,至此,我们需要的功能都实现了。如果想调教自己的机器人,可以在图灵机器人官网修改聊天回答,这里就不累述了。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值