[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[原创] 图灵API封装贴

本帖最后由 老刘1号 于 2017-7-29 16:26 编辑

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

评分人数

牛逼了老刘

TOP

本帖将不再更新。

TOP

回复 10# happy886rr

感谢大佬支持,同时更新了天气查询
不知道注意到没

TOP

回复 9# 老刘1号
这个物流查询不错,实用性很强。

TOP

回复 6# happy886rr


    慢慢来,不着急

TOP

回复 7# 523066680
哈哈,有道理。静观其变。

TOP

回复 6# happy886rr

很多种可能,
1. just beginning,细水长流
2. 抛砖引玉

TOP

为何不实现机器人对话,这个只能讲笑话,功能太少。

TOP

回复 4# 523066680


    确实……
tuling就算了,还带123……
api免费好评

TOP

回复 3# 老刘1号


    这个官网肯定是刚起的名字而且有点急促…… 域名风格山寨了点

TOP

回复 2# 523066680


    人家官网就用拼音,怪我咯~

TOP

返回列表