找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 43858|回复: 11

[原创] 图灵API封装贴

[复制链接]
发表于 2017-7-7 10:05:41 | 显示全部楼层 |阅读模式
CSDN—Code
与图灵机器人畅聊吧~

使用@Nsqs开发的Vbscript.Console框架
使用前先双击Console.EXE注册,建议将Console.EXE放到System32目录中注册
Chat_With_Turing_Robot.vbs源代码:
  1. Rem 转载请注明老刘编写,谢谢合作。
  2. Option Explicit
  3. Public [发送内容],Console
  4. Const API_Address = "http://www.tuling123.com/openapi/api"
  5. Rem —————————————————设置区———————————————————
  6. Const API_Key = "b9f823b5ae0144abb7b0cba774a0f5f8"
  7. Rem 这是老刘的apikey,每天有5000次的使用次数,一般不用操心。
  8. Rem 如果想要大批量使用,请自行前往tuling123.com注册帐号来更改。
  9. Const [用户ID] = "Unknown" '无需更改,改一下也没关系~支持英文与数字混合组合。
  10. Const [用户昵称] = "你"
  11. Const [机器人昵称] = "图灵AI"
  12. Const [首条自动发送] = True
  13. Const [首条自动发送内容] = "你好"
  14. Const [昵称颜色] = 10
  15. Const [信息交互颜色] = 15
  16. Const [提示颜色] = 12
  17. Const [消息延时] = 100
  18. Rem ————————————————设置区尾部——————————————————

  19. Const [宿主] = "WSCRIPT.EXE" '强制固定宿主
  20. If Not UCase(Right(WScript.FullName,11)) = UCase([宿主]) Then
  21.         Dim Args,Arg
  22.         For Each Arg in Wscript.Arguments
  23.                 Args=Args&Chr(&H20)&Chr(&H22)&Arg&Chr(&H22)
  24.         Next
  25.         CreateObject("Wscript.Shell").Run _
  26.                 [宿主]&Chr(&H20)&Chr(&H22)&WScript.ScriptFullName&Chr(&H22)&Args
  27.         WScript.Quit
  28. End If

  29. Set Console = CreateObject("VBScript.Console")
  30. With Console
  31.         .ForeColor = [提示颜色]
  32.         .WriteLine "按下Alt+Shift切换输入法~"
  33.         If [首条自动发送] = True Then
  34.                 .ForeColor = [昵称颜色] : .WriteText [用户昵称] : .ForeColor = 11 : .WriteLine " 说:"
  35.                 .ForeColor = [信息交互颜色] : .WriteLine [首条自动发送内容]
  36.                 WScript.Sleep [消息延时]
  37.                 .ForeColor = [昵称颜色] : .WriteText [机器人昵称] : .ForeColor = 11 : .WriteLine " 说:"
  38.                 .ForeColor = [信息交互颜色] : [机器人交互] [首条自动发送内容]
  39.         End If
  40.         While Not [发送内容] = "退出"&VbNewLine
  41.                 .ForeColor = [昵称颜色] : .WriteText [用户昵称] : .ForeColor = 11 : .WriteLine " 说:"
  42.                 .ForeColor = [信息交互颜色] : [发送内容] = .ReadLine
  43.                 WScript.Sleep [消息延时]
  44.                 .ForeColor = [昵称颜色] : .WriteText [机器人昵称] : .ForeColor = 11 : .WriteLine " 说:"
  45.                 .ForeColor = [信息交互颜色] : [机器人交互] [发送内容]
  46.         Wend
  47. End With

  48. Sub [机器人交互](strText) '发信息与返回信息处理的子程序
  49.         Dim [Arr返回内容(JSON)],Re,[返回内容(文字)],[列指针]
  50.         Set Re = New RegExp
  51.         Re.Pattern = "http://"
  52.         [Arr返回内容(JSON)] = Split(HTTP_POST(API_Address,"key="&API_Key&"&info="&strText&"&userid="&[用户ID]),Chr(&H22))
  53.         With Console
  54.                 For [列指针] = 5 To UBound([Arr返回内容(JSON)]) Step 4
  55.                         If re.Test([Arr返回内容(JSON)]([列指针])) = True Then
  56.                                 .WriteText [Arr返回内容(JSON)]([列指针])
  57.                                 .ForeColor = [提示颜色]
  58.                                 .WriteText "发现链接,是否打开?【按Y确认】"
  59.                                 If UCase(Chr(.ReadKey)) = "Y" Then CreateObject("Wscript.Shell").Run [Arr返回内容(JSON)]([列指针])
  60.                                 .ForeColor = [信息交互颜色]
  61.                         Else
  62.                                 .WriteText [Arr返回内容(JSON)]([列指针])
  63.                         End If
  64.                 Next
  65.                 .WriteLine
  66.         End With
  67. End Sub

  68. Function HTTP_POST(Address,Args) 'HTTP-POST函数块
  69.         With CreateObject("MSXML2.XMLHTTP")
  70.                 .Open "POST",Address, False
  71.                 .SetRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"
  72.                 .Send Args
  73.                 HTTP_POST = .ResponseText
  74.         End With
  75. End Function
复制代码

————————————————————————————————————————————————————
邮编查询.VBS
  1. Const API_Address = "http://www.tuling123.com/openapi/api"
  2. Const API_Key = "b9f823b5ae0144abb7b0cba774a0f5f8"
  3. '这是老刘的apikey,每天有5000次的使用次数,一般不用操心。
  4. '如果想要大批量使用,请自行前往tuling123.com注册帐号来更改。

  5. [城市名] = Inputbox("输入城市名:")
  6. Msgbox Split(HTTP_POST(API_Address,"key="&API_Key&"&info="&[城市名]&Chr(&HB5C4)&Chr(&HD3CA)&Chr(&HB1E0)),"""")(5)

  7. Function HTTP_POST(Address,Args)
  8.         With CreateObject("MSXML2.XMLHTTP")
  9.                 .Open "POST",Address, False
  10.                 .SetRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"
  11.                 .Send Args
  12.                 HTTP_POST = .ResponseText
  13.         End With
  14. End Function
复制代码
快递查询.VBS

  1. Const API_Address = "http://www.tuling123.com/openapi/api"
  2. Const API_Key = "b9f823b5ae0144abb7b0cba774a0f5f8"
  3. '这是作者的apikey,每天有5000次的使用次数,一般不用操心。
  4. '如果想要大批量使用,请自行前往tuling123.com注册帐号来更改。
  5. Const Userid = "Unknown" '无需更改,改一下也没关系~

  6. [快递号] = Inputbox("输入快递号:")
  7. Msgbox Replace(Split(HTTP_POST(API_Address,"key="&API_Key&"&info="&Chr(&HB2E9)&Chr(&HD1AF)&Chr(&HBFEC)&Chr(&HB5DD)&[快递号]&"&userid="&Userid),"""")(5),"\n",VbNewLine)

  8. Function HTTP_POST(Address,Args)
  9.         With CreateObject("MSXML2.XMLHTTP")
  10.                 .Open "POST",Address, False
  11.                 .SetRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"
  12.                 .Send Args
  13.                 HTTP_POST = .ResponseText
  14.         End With
  15. End Function
复制代码
天气查询.VBS
  1. Const API_Address = "http://www.tuling123.com/openapi/api"
  2. Const API_Key = "b9f823b5ae0144abb7b0cba774a0f5f8"
  3. '这是作者的apikey,每天有5000次的使用次数,一般不用操心。
  4. '如果想要大批量使用,请自行前往tuling123.com注册帐号来更改。
  5. Const Userid = "Unknown" '无需更改,改一下也没关系~
  6. Const [城市名] = "临河" '如果有同城的,握个手哈~

  7. Msgbox Replace(Split(HTTP_POST(API_Address,"key="&API_Key&"&info="&[城市名]&Chr(&HCCEC)&Chr(&HC6F8)&"&userid="&Userid),"""")(5),";",VbNewLine),,_
  8. [城市名]&"天气"

  9. Function HTTP_POST(Address,Args)
  10.         With CreateObject("MSXML2.XMLHTTP")
  11.                 .Open "POST",Address, False
  12.                 .SetRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"
  13.                 .Send Args
  14.                 HTTP_POST = .ResponseText
  15.         End With
  16. End Function
复制代码
笑话一则.VBS
  1. Const API_Address = "http://www.tuling123.com/openapi/api"
  2. Const API_Key = "b9f823b5ae0144abb7b0cba774a0f5f8"
  3. '这是老刘的apikey,每天有5000次的使用次数,一般不用操心。
  4. '如果想要大批量使用,请自行前往tuling123.com注册帐号来更改。

  5. Msgbox _
  6. Split(HTTP_POST(API_Address,"key="&API_Key&"&info="&Chr(&HBDB2)&Chr(&HB8F6)&Chr(&HD0A6)&Chr(&HBBB0)),Chr(&H22))(5),, _
  7. "笑话一则"

  8. Function HTTP_POST(Address,Args)
  9.         With CreateObject("MSXML2.XMLHTTP")
  10.                 .Open "POST",Address, False
  11.                 .SetRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"
  12.                 .Send Args
  13.                 HTTP_POST = .ResponseText
  14.         End With
  15. End Function
复制代码
小故事一则.vbs
  1. Const API_Address = "http://www.tuling123.com/openapi/api"
  2. Const API_Key = "b9f823b5ae0144abb7b0cba774a0f5f8"
  3. '这是老刘的apikey,每天有5000次的使用次数,一般不用操心。
  4. '如果想要大批量使用,请自行前往tuling123.com注册帐号来更改。

  5. Const [宿主] = "WSCRIPT.EXE"
  6. If Not UCase(Right(WScript.FullName,11)) = UCase([宿主]) Then
  7.         Dim Args,Arg
  8.         For Each Arg in Wscript.Arguments
  9.                 Args=Args&Chr(&H20)&Chr(&H22)&Arg&Chr(&H22)
  10.         Next
  11.         CreateObject("Wscript.Shell").Run _
  12.                 [宿主]&Chr(&H20)&Chr(&H22)&WScript.ScriptFullName&Chr(&H22)&Args
  13.         WScript.Quit
  14. End If

  15. Wscript.Echo _
  16. Replace(Split(HTTP_POST(API_Address,"key="&API_Key&"&info="&Chr(&HBDB2)&Chr(&HB8F6)&Chr(&HB9CA)&Chr(&HCAC2)),"""")(5),"\n",VBNEWLINE)


  17. Function HTTP_POST(Address,Args)
  18.         With CreateObject("MSXML2.XMLHTTP")
  19.                 .Open "POST",Address, False
  20.                 .SetRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"
  21.                 .Send Args
  22.                 HTTP_POST = .ResponseText
  23.         End With
  24. End Function
复制代码

评分

参与人数 6技术 +6 收起 理由
taofan712 + 1 Old Law!
17779357752 + 1 严重支持
523066680 + 1 holy high
Nsqs + 1 感谢分享
a2002 + 1 支持了

查看全部评分

发表于 2017-7-11 15:00:19 | 显示全部楼层
牛逼了老刘
 楼主| 发表于 2017-7-11 14:05:45 | 显示全部楼层
本帖将不再更新。
 楼主| 发表于 2017-7-8 12:29:30 | 显示全部楼层
回复 10# happy886rr

感谢大佬支持,同时更新了天气查询
不知道注意到没
发表于 2017-7-8 09:49:49 | 显示全部楼层
回复 9# 老刘1号
这个物流查询不错,实用性很强。
 楼主| 发表于 2017-7-7 17:30:23 | 显示全部楼层
回复 6# happy886rr


    慢慢来,不着急
发表于 2017-7-7 15:01:05 | 显示全部楼层
回复 7# 523066680
哈哈,有道理。静观其变。
发表于 2017-7-7 12:03:23 | 显示全部楼层
回复 6# happy886rr

很多种可能,
1. just beginning,细水长流
2. 抛砖引玉
发表于 2017-7-7 11:53:50 | 显示全部楼层
为何不实现机器人对话,这个只能讲笑话,功能太少。
 楼主| 发表于 2017-7-7 10:17:18 | 显示全部楼层
回复 4# 523066680


    确实……
tuling就算了,还带123……
api免费好评
发表于 2017-7-7 10:15:41 | 显示全部楼层
回复 3# 老刘1号


    这个官网肯定是刚起的名字而且有点急促…… 域名风格山寨了点
 楼主| 发表于 2017-7-7 10:14:25 | 显示全部楼层
回复 2# 523066680


    人家官网就用拼音,怪我咯~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 21:21 , Processed in 0.022667 second(s), 10 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表