黄色草逼视频_久久夜夜视频_亚洲国产成人久久午夜_三级在线播放

網站改版|WAP網站制作|域名注冊|虛擬主機|服務器|海微商|海微信|海微通| 無障礙| 24小時服務電話:13807590485
海南網站建設海南網站制作海口網站建設三亞網站建設儋州網站建設五指山網站建設文昌網站建設瓊海網站建設萬寧網站建設東方網站建設定安網站建設 網站首頁網站首頁 網站建設網站建設 微信開發微信開發 網站推廣網站推廣 海南網站建設公司,海南網站開發制作公司,海南網頁設計公司,海南小程序開發公司,海南微信公眾號開發公司,海南網絡公司,海南世紀華聯海南世紀華聯 網站超市網站超市 客戶案例客戶案例 網站模板網站模板 關于我們關于我們
  • 微信開發
  • 持之以恒
  • 網站設計制作
  • 中立五年回報客戶
無障礙
微信開發
微信系統開發 微信開發功能 公眾號基礎教程 開發技術資訊 公眾號推廣營銷 客戶案例
聯系我們
QQ服務群:28519571 工作時間:86-0898-31568080 傳真號碼:86-0898-31568085 24小時服務:0138-07590485
 您現在的位置: 首頁 >> 微信開發 >> 開發技術資訊 開發技術資訊
微信公眾平臺機器人教程
世紀華聯 | 2018-01-26 23:55:58 | 閱讀:13666
首先要去微信公眾平臺申請一個帳號
http://mp.weixin.qq.com/

申請一個SAE應用
我的是http://weixintalk.sinaapp.com

設置微信接口地址
微信平臺->設置->回復設置->自定義回復->調用公眾平臺消息接口>>
url寫這個url,token隨便定一個"helloczq"

開啟SAE服務
由于我們需要教機器人一些日常用語,所以我們必須要一個存儲他們的空間,這里暫時使用SAE的kvdb服務,請先到sae開啟。

定義規則
我們先給他定義一個簡單的規則,比如
求助是
help
教他學東西是
"_" + 問題 + ":" + 回答
比如:_hi:hello,就是回復hello給hi
如果一樣東西有很多人教他,機器人應該優先回復舊的東西。

聊天代碼
規則定好了,我們先寫一個聊天的類
  1. class talk {
  2. public function reply($str) {
  3. $kv = new SaeKV ();
  4. $kv->init (); //用戶輸入幫助語句,可以自定義幫助語法
  5. if ($str == 'help' || $str == '求助'){
  6. return "要教我讀書,請英文下劃線開頭,接著問題,接著英文冒號,接著回答";
  7. } //下劃線開頭的教學模式
  8. if (substr($str, 0,1) == '_'){
  9. //教
  10. $pos = strpos($str, ':');
  11. if ($pos > -1){ //問題
  12. $q = substr($str, 1,$pos - 1); //答案
  13. $a = substr($str, $pos + 1);
  14. //加入知識庫
  15. $ret = $kv->get('know_' . md5($q)); if ($ret === false || !is_array($ret))
  16. $ret = array();
  17. $ret[] = $a;
  18. $kv->set('know_' . md5($q), $ret);
  19. return "known::" . $q . '/' . $a ;
  20. }
  21. }
  22. $ret = $kv->get('know_' . md5($str));//查詢數據庫,尋找問題答案
  23. if ($ret === false || !is_array($ret) || count($ret) == 0){
  24. return '我什么都不知道,輸入"help"求助';
  25. }else{
  26. //隨機一個
  27. while(count($ret) > 1){
  28. $re = array_shift($ret);
  29. if (rand(0, 1) == 0)
  30. return $re;
  31. }
  32. return array_shift($ret);
  33. }
  34. }
復制代碼



這個類會自動回復,教學,大家可以簡單測試一下

接入微信
其實就是把上面那個類和官方的php代碼拼起來...
以下是全部代碼,包括驗證部分
  1. define ( "TOKEN", "helloczq" );
  2. $wechatObj = new wechat ();
  3. $wechatObj->valid ();
  4. $wechatObj->responseMsg ();
  5. class wechat {
  6. public function valid() {
  7. $echoStr = $_GET ["echostr"];
  8. if (! $this->checkSignature ())
  9. exit ();
  10. }
  11. public function responseMsg() {
  12. $postStr = $GLOBALS ["HTTP_RAW_POST_DATA"];
  13. if (! empty ( $postStr )) {
  14. $postObj = simplexml_load_string ( $postStr, 'SimpleXMLElement', LIBXML_NOCDATA );
  15. $fromUsername = $postObj->FromUserName;
  16. $toUsername = $postObj->ToUserName;
  17. $content = trim ( $postObj->Content );
  18. $time = time ();
  19. $talk = new talk();
  20. $textTpl = "


  21. %s


  22. 0
  23. ";
  24. $msgType = "text";
  25. $contentStr = $talk->reply($content);
  26. $resultStr = sprintf ( $textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr );
  27. echo $resultStr;

  28. } else {echo $_GET ["echostr"];
  29. exit ();
  30. }
  31. }
  32. private function checkSignature() {
  33. $signature = $_GET ["signature"];
  34. $timestamp = $_GET ["timestamp"];
  35. $nonce = $_GET ["nonce"];
  36. $token = TOKEN;
  37. $tmpArr = array (
  38. $token,
  39. $timestamp,
  40. $nonce
  41. );
  42. sort ( $tmpArr );
  43. $tmpStr = implode ( $tmpArr );
  44. $tmpStr = sha1 ( $tmpStr );

  45. if ($tmpStr == $signature) {
  46. return true;
  47. } else {
  48. return false;
  49. }
  50. }
  51. }
  52. class talk {
  53. public function reply($str) {
  54. $kv = new SaeKV ();
  55. $kv->init ();
  56. if ($str == 'help' || $str == '求助'){
  57. return "要教我讀書,請英文下劃線開頭,接著問題,接著英文冒號,接著回答";
  58. }
  59. if (substr($str, 0,1) == '_'){
  60. $pos = strpos($str, ':');
  61. if ($pos > -1){
  62. $q = substr($str, 1,$pos - 1);
  63. $a = substr($str, $pos + 1);
  64. $ret = $kv->get('know_' . md5($q));
  65. if ($ret === false || !is_array($ret))
  66. $ret = array();
  67. $ret[] = $a;
  68. $kv->set('know_' . md5($q), $ret);
  69. return "known::" . $q . '/' . $a ;
  70. }
  71. }
  72. $ret = $kv->get('know_' . md5($str));
  73. if ($ret === false || !is_array($ret) || count($ret) == 0){
  74. return '我什么都不知道,輸入"help"求助';
  75. }else{
  76. //隨機一個
  77. while(count($ret) > 1){
  78. $re = array_shift($ret);
  79. if (rand(0, 1) == 0)
  80. return $re;
  81. }
  82. return array_shift($ret);
  83. }
  84. }
  85. }
  86. ?>
復制代碼

海南網站建設|海南網站制作|海口網站建設|三亞網站建設|儋州網站建設|五指山網站建設|文昌網站建設|瓊海網站建設|萬寧網站建設|東方網站建設|定安網站建設|屯昌網站建設|澄邁網站建設|臨高網站建設|白沙網站建設|昌江網站建設|樂東網站建設|陵水網站建設|保亭網站建設|瓊中網站建設|海口精英網|三亞精英網|文昌精英網|瓊海精英網|陵水精英網|儋州精英網|萬寧精英網|澄邁精英網|海微通
合作伙伴 企業發展 企業文化 聯系我們 在線訂購 網站地圖 返回首頁手機版
海口世紀華聯科技有限公司2025版權所有 24小時服務熱線:13807590485   歡迎來電咨詢
地址:海南省.海口市.海甸二東路環惠大廈6樓(南寶路明都大廈107#) 公司電話:0898-31568080 31568060 QQ:85398489
全國合作聯盟分布:海南海口 四川成都 湖北武漢 湖南長沙 安徽合肥 廣東深圳 山西太原 西藏拉薩
技術服務: E_mail:server@www.0118yy.com 服務訂購:E_mail:server@www.0118yy.com 在線客服邀請 瓊ICP備10201086號-15
推廣關鍵字:海南網站建設公司,海南網站制作公司,海南網站開發公司,海南微信開發公司,海南微信公眾號開發公司,海南微信公眾號代運營公司,海南模板網站制作公司,海南網頁設計公司,海南網絡公司