├── README.md ├── ajax.php ├── config.php ├── cron.php ├── index.php ├── init.php ├── install ├── index.php └── install.sql ├── lib ├── api.php ├── class.tieba.php ├── commom.php ├── func.mysqli.php └── ui.php ├── login.php └── templates ├── css └── main.css ├── footer.php ├── header.php ├── index.php ├── js ├── ajax.js └── zepto.min.js ├── robot.php └── setting.php /README.md: -------------------------------------------------------------------------------- 1 | TBRobot_Simple 2 | ============== 3 | 百度贴吧机器人,可回复@和楼中楼对话 4 | 5 | ## 使用方法: 6 | 7 | 1. 访问 你的应用域名/install 进行安装 8 | 2. 登陆 进行相关设置 9 | 3. 设置 cron.php 的cron。 10 | 11 | ## The MIT License (MIT) 12 | 13 | Copyright (c) 2014 Giuem. 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE. 32 | -------------------------------------------------------------------------------- /ajax.php: -------------------------------------------------------------------------------- 1 | query("SELECT * FROM user"); 11 | if($res) $row = $res->fetch_row(); 12 | if(!empty($row)){ 13 | header('Location: ..'); 14 | exit(); 15 | } 16 | } 17 | ?> 18 | 19 | 20 | 21 | 22 | 23 | 贴吧机器人 - 安装向导 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 |
35 |

贴吧机器人 - 安装向导

36 | 下一步 '; 41 | }elseif (getenv('OPENSHIFT_APP_NAME')){ 42 | $content = '检测到为OPENSHIFT环境,请进入下一步
下一步 '; 43 | }else{ 44 | $content .='

请保证每一个项目都支持,否则不能正常使用

'; 45 | $content .=''; 46 | $content .=''; 47 | $content .=''; 48 | if (function_exists('curl_init') && class_exists('mysqli')) $content .='
项目检测结果
CURL'.check(function_exists('curl_init')).'
MYSQLi'.check(class_exists('mysqli')).'
config.php是否可编辑'.check(is_writable($config_file)).'(如不可写请手动编辑)
下一步'; 49 | } 50 | echo $content; 51 | break ; 52 | case 2: 53 | $content .='
'; 54 | if (!defined('SAE_ACCESSKEY')){ 55 | $content .='
'; 56 | $content .='
'; 57 | $content .='
'; 58 | $content .='
'; 59 | $content .='
'; 60 | } 61 | $content .='
'; 62 | $content .='
'; 63 | $content .='
'; 64 | echo $content; 65 | break; 66 | case 3: 67 | if (defined('SAE_ACCESSKEY')){ 68 | define('DB_SERVER',SAE_MYSQL_HOST_M); 69 | define('DB_POET',SAE_MYSQL_PORT); 70 | define('DB_USERNAME',SAE_MYSQL_USER); 71 | define('DB_PASSWORD',SAE_MYSQL_PASS); 72 | define('DB_NAME',SAE_MYSQL_DB); 73 | }else{ 74 | define('DB_SERVER',$_POST['db_server']); 75 | define('DB_POET',$_POST['db_port']); 76 | define('DB_USERNAME',$_POST['db_username']); 77 | define('DB_PASSWORD',$_POST['db_password']); 78 | define('DB_NAME',$_POST['db_name']); 79 | } 80 | require SYSTEM_ROOT.'../lib/func.mysqli.php'; 81 | if($error_msg){ 82 | showmsg($error_msg,0); 83 | return; 84 | } 85 | $config_content="哎呀,无法写入文件!请手动配置config.php(sae环境请忽略本条消息)配置信息如下

'.htmlspecialchars($config_content).'
',1); 93 | } 94 | $un = addslashes($_POST['un']); 95 | $upwd = $_POST['upwd']; 96 | if(!$un || !$upwd) { 97 | showmsg('您输入的信息不完整',0); 98 | return ; 99 | } 100 | $upwd = md5($upwd); 101 | $sql = file_get_contents(dirname(__FILE__).'/install.sql'); 102 | $sql .= PHP_EOL."INSERT INTO user SET un='{$un}', upwd='{$upwd}';"; 103 | $m->multi_query($sql); 104 | echo '

安装完成,请配置机器人信息,然后设置 cron.php 每分钟一次的计划任务

'; 105 | echo '完成'; 106 | } 107 | 108 | 109 | function check($c){ 110 | if($c) 111 | return '支持'; 112 | else 113 | return '不支持'; 114 | } 115 | function showmsg($msg,$type=0){ 116 | $content = "

Warning

{$msg}
"; 117 | if ($type == 0) $content .=''; 118 | echo $content; 119 | } 120 | 121 | ?> 122 |
123 |
124 |
125 | 126 | -------------------------------------------------------------------------------- /install/install.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS `user`; 2 | DROP TABLE IF EXISTS `robot`; 3 | DROP TABLE IF EXISTS `setting`; 4 | DROP TABLE IF EXISTS `log`; 5 | 6 | CREATE TABLE IF NOT EXISTS `user` ( 7 | `un` varchar(24) NOT NULL, 8 | `upwd` varchar(32) NOT NULL 9 | ); 10 | CREATE TABLE IF NOT EXISTS `robot` ( 11 | `id` int(10) NOT NULL AUTO_INCREMENT, 12 | `name` text NOT NULL, 13 | `bduss` text NOT NULL, 14 | PRIMARY KEY (`id`) 15 | ); 16 | CREATE TABLE IF NOT EXISTS `setting` ( 17 | `k` varchar(10) NOT NULL DEFAULT 'giuem', 18 | `api` varchar(24) NOT NULL DEFAULT 'xiaoji', 19 | `apikey` text, 20 | `blacklist` text, 21 | `kwblacklist` text, 22 | `islike` varchar(1) DEFAULT '0', 23 | `weiba` text, 24 | `reply` varchar(24) NOT NULL DEFAULT '0', 25 | `at` varchar(24) NOT NULL DEFAULT '0' 26 | ); 27 | CREATE TABLE IF NOT EXISTS `log` ( 28 | `time` int(10) NOT NULL , 29 | `log` text NOT NULL, 30 | PRIMARY KEY (`time`) 31 | ); 32 | INSERT INTO setting SET k='giuem',api='xiaoji',islike='1'; 33 | ALTER TABLE `setting` ADD UNIQUE ( 34 | `k` 35 | ); -------------------------------------------------------------------------------- /lib/api.php: -------------------------------------------------------------------------------- 1 | $k); 111 | $cc=str_replace(' Path','' ,$k); 112 | $uid = rand(); 113 | $cc='simsimi_uid='.$uid.';'.$cc; 114 | $re = fetch('http://www.simsimi.com/requestChat?lc=ch&ft=0.0&req='.$content.'&uid='.$uid,$cc); 115 | $re = json_decode($re,true); 116 | $re = $re['res']; 117 | if(stristr($re,'I HAVE NO RESPONSE')) 118 | $re = '你在说啥,我听不懂'; 119 | return $re; 120 | } 121 | /*PHP END*/ -------------------------------------------------------------------------------- /lib/class.tieba.php: -------------------------------------------------------------------------------- 1 | setting = get_setting(); 17 | $this->bduss = get_robot_bduss(); 18 | // 黑名单加入小号,防止重复回复 19 | $this->setting[3] .= get_robot_name(); 20 | $this->un = self::getun($this->bduss[0]); 21 | $this->cron(); 22 | 23 | } 24 | private function rand_bduss(){ 25 | $i = rand(0,count($this->bduss)-1); 26 | $this->i = $i; 27 | } 28 | 29 | public static function getun($bduss){ 30 | $re = fetch('http://wapp.baidu.com/','BDUSS='.$bduss,null,array('User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:29.0) Gecko/20100101 Firefox/29.0','Connection: Keep-Alive')); 31 | $name = ''; 32 | if (preg_match('/i?un=(.*?)">/', $re, $match)) { 33 | $name = urldecode($match[1]); 34 | } 35 | return $name; 36 | } 37 | public static function islogin($bduss){ 38 | $re=json_decode(fetch('http://tieba.baidu.com/dc/common/tbs','BDUSS='.$bduss),true); 39 | return $re['is_login'] == 1; 40 | } 41 | public static function getpid($bduss,$type){ 42 | $pid = self::getmsg($bduss,$type); 43 | return $pid[0]['post_id']; 44 | } 45 | 46 | private static function getmsg($bduss,$type){ 47 | $postdata = array ( 48 | 'BDUSS='.$bduss, 49 | '_client_id=wappc_136'.random(10).'_'.random(3), 50 | '_client_type=2', 51 | '_client_version=5.0.0', 52 | '_phone_imei=642b43b58d21b7a5814e1fd41b08e2a6', 53 | 'net_type=3', 54 | 'pn=1' 55 | ); 56 | $postdata=self::getsign($postdata); 57 | $header=array('Content-Type: application/x-www-form-urlencoded'); 58 | $re=json_decode(fetch('http://c.tieba.baidu.com/c/u/feed/'.$type.'me',null,$postdata,$header),true); 59 | return $re[$type.'_list']; 60 | } 61 | private function floorpid($tid,$pid){ 62 | $url = 'http://c.tieba.baidu.com/c/f/pb/floor'; 63 | $postdata = array( 64 | 'BDUSS='.$this->bduss[0], 65 | '_client_id=wappc_136'.random(10).'_'.random(3), 66 | '_client_type=2', 67 | '_client_version=5.0.0', 68 | '_phone_imei=642b43b58d21b7a5814e1fd41b08e2a6', 69 | 'kz='.$tid, 70 | 'net_type=3', 71 | 'spid='.$pid, 72 | 'tbs='.$this->gettbs(0) 73 | ); 74 | $postdata=self::getsign($postdata); 75 | $header=array('Content-Type: application/x-www-form-urlencoded'); 76 | $re=json_decode(fetch($url,null,$postdata,$header),true); 77 | $pid = $re['post']['id']; 78 | return $pid; 79 | } 80 | 81 | private function reply($tid,$pid,$kw,$content){ 82 | $postdata = array ( 83 | 'BDUSS='.$this->bduss[$this->i], 84 | '_client_id='.'wappc_136'.random(10).'_'.random(3), 85 | '_client_type='. 2, 86 | '_client_version=' . '6.5.2', 87 | '_phone_imei=' . md5($this->bduss[$this->i]), 88 | 'anonymous=' . 1, 89 | 'content=' . $content, 90 | 'fid=' . $this->kwdata['forum_info']['forum_info']['forum_id'], 91 | 'from=' . '1382d', 92 | 'is_ad=' . '0', 93 | 'kw=' . $kw, 94 | 'model=' .'SCH-I959', 95 | 'new_vcode=' .'1', 96 | 'quote_id=' . $pid, 97 | 'tbs='. $this->gettbs($this->i), 98 | 'tid='.$tid, 99 | 'vcode_tag='.'11' 100 | ); 101 | $postdata=self::getsign($postdata); 102 | $re = fetch('http://c.tieba.baidu.com/c/c/post/add',null,$postdata,array( 103 | 'User-Agent: bdtb for Android 6.5.2', 104 | 'Content-Type: application/x-www-form-urlencoded', 105 | )); 106 | $re = json_decode($re,true); 107 | if($re['error_code'] == 0){ 108 | return '回帖成功'; 109 | }else { 110 | return '回帖失败,错误代码:'.$re['error_code'].' '.$re['error_msg']; 111 | } 112 | return ; 113 | } 114 | private function getkwdata($kw){ 115 | $re=json_decode(fetch("http://tieba.baidu.com/sign/info?kw={$kw}&ie=utf-8",'BDUSS='.$this->bduss[$this->i]),true); 116 | $this->kwdata = $re['data']; 117 | } 118 | private function likekw($kw){ 119 | $postdata = 'fid='.$this->kwdata['forum_info']['forum_info']['forum_id'].'&fname='.urlencode($kw).'&uid='.urlencode(self::getun($this->bduss[$this->i])).'&ie=gbk&tbs='.$this->gettbs($this->i); 120 | $re = json_decode((fetch('http://tieba.baidu.com/f/like/commit/add','BDUSS='.$this->bduss[$this->i],$postdata))); 121 | } 122 | private function signkw($kw){ 123 | $postdata = array( 124 | 'BDUSS='.$this->bduss[$this->i], 125 | '_client_id=03-00-DA-59-05-00-72-96-06-00-01-00-04-00-4C-43-01-00-34-F4-02-00-BC-25-09-00-4E-36', 126 | '_client_type=4', 127 | '_client_version=1.2.1.17', 128 | '_phone_imei=540b43b59d21b7a4824e1fd31b08e9a6', 129 | 'fid='.$this->kwdata['forum_info']['forum_info']['forum_id'], 130 | 'kw='.$kw, 131 | 'net_type=3', 132 | 'tbs='.$this->gettbs($this->i), 133 | ); 134 | $postdata = self::getsign($postdata); 135 | $re = json_decode(fetch('http://c.tieba.baidu.com/c/c/forum/sign',null,$postdata,array('Content-Type: application/x-www-form-urlencoded')),1); 136 | if ($re['user_info']) 137 | return '在'.$kw.'吧签到成功,经验值上升'.$re['sign_bonus_point']; 138 | else 139 | return '在'.$kw.'吧签到失败,错误代码:'.$re['error_code'].' '.$re['error_msg']; 140 | } 141 | private function gettbs($i){ 142 | $re=json_decode(fetch('http://tieba.baidu.com/dc/common/tbs','BDUSS='.$this->bduss[$i]),true); 143 | return $re['tbs']; 144 | } 145 | private static function getsign($postdata){ 146 | $postdata=implode("&", $postdata)."&sign=".md5(implode('', $postdata).'tiebaclient!!!'); 147 | return $postdata; 148 | } 149 | 150 | private function cron_type($type){ 151 | $msg = self::getmsg($this->bduss[0],$type); 152 | $db_pid = get_pid($type); 153 | set_pid($msg[0]['post_id'], $type); 154 | foreach ($msg as $k){ 155 | $content = ''; 156 | $this->rand_bduss(); 157 | $this->getkwdata($k['fname']); 158 | if ($db_pid == $k['post_id']) break; 159 | if (@stristr($this->setting[3],$k['replyer']['name_show'])===false && @stristr($this->setting[4],$k['fname'])===false){ 160 | if ($this->setting[5]==1){ 161 | if($this->kwdata['user_info']['is_sign_in']==0){ 162 | $this->likekw($k['fname']); 163 | set_log($this->signkw($k['fname'])); 164 | } 165 | } 166 | if($k['is_floor'] == 1){ 167 | $pid = $this->floorpid($k['thread_id'], $k['post_id']); 168 | $content = "回复 {$k['replyer']['name_show']} :"; 169 | }else{ 170 | $pid = $k['post_id']; 171 | } 172 | 173 | $content .= talk($k['content'],$this->un,$this->setting[1],$this->setting[2]).$this->setting[6]; 174 | $res = $this->reply($k['thread_id'], $pid, $k['fname'], $content); 175 | echo "在{$k['fname']}吧贴号{$k['thread_id']}{$res}"; 176 | set_log("在{$k['fname']}吧贴号{$k['thread_id']}{$res}"); 177 | // 回帖间隔 178 | sleep(3); 179 | } 180 | } 181 | } 182 | private function cron(){ 183 | for ($i=0;$i<2;$i++){ 184 | $this->cron_type($this->type[$i]); 185 | } 186 | } 187 | } 188 | /*PHP END*/ -------------------------------------------------------------------------------- /lib/commom.php: -------------------------------------------------------------------------------- 1 | connect_error) { 8 | switch ($m->connect_errno) { 9 | case 1044: 10 | case 1045: 11 | return '连接数据库失败,数据库用户名或密码错误'; 12 | break; 13 | case 1049: 14 | return '连接数据库失败,未找到您填写的数据库'; 15 | break; 16 | case 2003: 17 | return '连接数据库失败,数据库端口错误'; 18 | break; 19 | case 2005: 20 | return '连接数据库失败,数据库地址错误或者数据库服务器不可用'; 21 | break; 22 | case 2006: 23 | return '连接数据库失败,数据库服务器不可用'; 24 | break; 25 | default : 26 | return '连接数据库失败,请检查数据库信息。错误编号:' . $m->connect_errno; 27 | } 28 | } 29 | } 30 | function login($un,$upwd){ 31 | global $m; 32 | if (empty($un) || empty($upwd)) return false; 33 | $res = $m->query("SELECT un FROM user WHERE upwd='{$upwd}'"); 34 | if ($res){ 35 | $row = $res->fetch_row(); 36 | return $row[0]==$un; 37 | }else { 38 | return false; 39 | } 40 | } 41 | function get_pid($type){ 42 | global $m; 43 | $res = $m->query("SELECT $type FROM setting WHERE k='giuem'"); 44 | if($res) $row = $res->fetch_row(); 45 | $pid = (String)$row[0]; 46 | return $pid; 47 | } 48 | function set_pid($pid,$type){ 49 | global $m; 50 | $m->query("UPDATE setting set {$type}={$pid} WHERE k='giuem'"); 51 | } 52 | function get_log(){ 53 | global $m; 54 | $res = $m->query("SELECT * FROM log ORDER BY time desc"); 55 | if($res){ 56 | while ($row = $res->fetch_row()){ 57 | $array[]=$row; 58 | } 59 | return $array; 60 | } 61 | } 62 | function set_log($log){ 63 | global $m; 64 | $time = time(); 65 | $res=$m->prepare("INSERT INTO log(time,log) VALUES (?,?)"); 66 | $res->bind_param("is",$time,$log); 67 | $res->execute(); 68 | } 69 | function del_log(){ 70 | global $m; 71 | $res = $m->query('TRUNCATE TABLE log'); 72 | return $res; 73 | } 74 | function updata(){ 75 | if (md5_file(SYSTEM_ROOT.'./templates/footer.php')!='90a817a741148f0f84abfa890ba600d9') die; 76 | } 77 | function get_robot_list(){ 78 | global $m; 79 | $res = $m->prepare("SELECT * FROM robot"); 80 | $res->execute(); 81 | $res->bind_result($id,$name,$bduss); 82 | while($res->fetch()){ 83 | $robot['id']=$id; 84 | $robot['name']=$name; 85 | $robot['bduss']=$bduss; 86 | $robot_list[] =$robot; 87 | } 88 | return $robot_list; 89 | } 90 | function get_robot_name(){ 91 | global $m; 92 | $res = $m->query("SELECT name FROM robot"); 93 | if($res){ 94 | while ($row = $res->fetch_row()){ 95 | $name = $row[0].'|'; 96 | } 97 | return $name; 98 | } 99 | } 100 | function get_robot_bduss(){ 101 | global $m; 102 | $res = $m->query("SELECT bduss FROM robot"); 103 | if($res){ 104 | while ($row = $res->fetch_row()){ 105 | $array[]=$row[0]; 106 | } 107 | return $array; 108 | } 109 | } 110 | function set_new_robot($name,$bduss){ 111 | global $m; 112 | $res=$m->prepare("INSERT IGNORE INTO robot(name,bduss) VALUES (?,?)"); 113 | $res->bind_param("ss",$name,$bduss); 114 | $res->execute(); 115 | } 116 | function set_robot($id,$name,$bduss){ 117 | global $m; 118 | return $m->query("UPDATE robot SET name='{$name}', bduss='{$bduss}' WHERE id={$id}"); 119 | } 120 | function del_robot($id){ 121 | global $m; 122 | return $m->query("DELETE FROM robot WHERE id={$id}"); 123 | } 124 | function setting($api,$apikey,$blacklist,$kwblacklist,$islike,$weiba){ 125 | global $m; 126 | $sql="UPDATE setting SET api='{$api}', apikey='{$apikey}', blacklist='{$blacklist}', kwblacklist='{$kwblacklist}',islike='{$islike}', weiba='{$weiba}' WHERE k='giuem'"; 127 | $m->query($sql); 128 | } 129 | function get_setting(){ 130 | global $m; 131 | $res=$m->query("SELECT * FROM setting WHERE k='giuem'"); 132 | if($res) $row = $res->fetch_row(); 133 | return $row; 134 | } 135 | /*PHP END*/ -------------------------------------------------------------------------------- /lib/ui.php: -------------------------------------------------------------------------------- 1 | 18 | 19 | 20 | 21 | 22 | 贴吧机器人助手登陆 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
32 |
33 |
34 |

贴吧机器人助手登陆

35 |
36 |
37 | 38 |
39 | 40 |
41 |
42 | 43 |
44 | 45 |
46 | 47 |
48 |
49 |
50 |
51 | 52 |
53 |
54 |
55 | '.$msg.'
';?> 56 |
57 | 58 | 59 | -------------------------------------------------------------------------------- /templates/css/main.css: -------------------------------------------------------------------------------- 1 | @media only screen and (min-width:641px){.am-offcanvas{display:block;position:static;background:none;}.am-offcanvas-bar{position:static;width:auto;background:none;-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}.am-offcanvas-bar:after{content:none;}}@media only screen and (max-width:640px){.am-offcanvas-bar .am-nav>li>a{color:#ccc;border-radius:0;border-top:1px solid rgba(0,0,0,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.am-offcanvas-bar .am-nav>li>a:hover{background:#404040;color:#fff}.am-offcanvas-bar .am-nav>li.am-nav-header{color:#777;background:#404040;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);text-shadow:0 1px 0 rgba(0,0,0,.5);border-top:1px solid rgba(0,0,0,.3);font-weight:400;font-size:75%}.am-offcanvas-bar .am-nav>li.am-active>a{background:#1a1a1a;color:#fff;box-shadow:inset 0 1px 3px rgba(0,0,0,.3)}.am-offcanvas-bar .am-nav>li+li{margin-top:0;}}.my-button{position:fixed;top:2;right:0;border-radius:0;}.my-sidebar{padding-right:0;border-right:1px solid #eeeeee;} -------------------------------------------------------------------------------- /templates/footer.php: -------------------------------------------------------------------------------- 1 | 2 |
3 |

Design by Giuem© Copyright 2014 Github

4 |
5 | 6 | 7 | 8 | 侧栏导航 9 | 10 |
提示
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /templates/header.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 贴吧机器人助手 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 |
20 |
21 | 31 |
32 | 33 |
34 |
35 |
-------------------------------------------------------------------------------- /templates/index.php: -------------------------------------------------------------------------------- 1 | 2 |

回帖记录

3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | '; 17 | } 18 | } 19 | ?> 20 | 21 |
时间操作
'.date('Y-m-d H:i:s',$k[0]).''.$k[1].'
22 |
23 |
24 | 25 |
26 |
27 |
28 |
提示
29 |
真的要删除吗?
30 | 34 |
35 |
-------------------------------------------------------------------------------- /templates/js/ajax.js: -------------------------------------------------------------------------------- 1 | eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('!5(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G){"‮"===a&&($(5(){$(c)[b](d,5(){$(f)[e]({J:N,K:5(){$[g](h,5(a){$(j)[i](a),$(k)[e](l)})}})})}),$(5(){$(m)[b](d,5(){$(o)[n](p),$(q)[e]({J:N,K:5(a){$[g](r+a,5(a){$(j)[i](a),$(k)[e](l)})}})})}),$(5(){$(s)[b](d,5(){$(o)[n](t),$(u)[e]({J:N,K:5(a){$[g](v+a,5(a){$(j)[i](a),$(k)[e](l)})}})})}),$(5(){$(w)[b](d,5(){$(x)[e]({J:N,K:5(a){16[y]=a}})})}),$(o)[n](z),$(x)[b](A,5(){$(o)[n](B),$(C)[e]({J:N,K:5(a){$[g](D+16[y]+E+a,5(a){$(j)[i](a),$(k)[e](l)})}})}),$(5(){$(F)[i](G)}))}("‮","1h","#V-1r","1m","2","#1p-L","1o","./Q.10?P=1n","1g","#1a","#1b","1f","#11-12","1c","1e",\'<3 4="0-2 0-2-7" U="-1" H="7-11"><3 4="0-2-W"><3 4="0-2-X">提示<3 4="0-2-Z">请输入18<8 Y="M" 4="0-2-7-8"><3 4="0-2-T"> <6 4="0-2-9" I-0-2-L>提交<6 4="0-2-9" I-0-2-S>取消\',"#7-11","./Q.10?P=1q&R=","#V-12",\'<3 4="0-2 0-2-7" U="-1" H="7-V"><3 4="0-2-W"><3 4="0-2-X">提示<3 4="0-2-Z">请输入要删除的机器人对应的13<8 Y="M" 4="0-2-7-8"><3 4="0-2-T"> <6 4="0-2-9" I-0-2-L>提交<6 4="0-2-9" I-0-2-S>取消\',"#7-V","./Q.10?P=1y&H=","#O-12","#7-O-H","a",\'<3 4="0-2 0-2-7" U="-1" H="7-O-H"><3 4="0-2-W"><3 4="0-2-X">提示<3 4="0-2-Z">请输入要修改的机器人对应的13<8 Y="M" 4="0-2-7-8"><3 4="0-2-T"> <6 4="0-2-9" I-0-2-L>提交<6 4="0-2-9" I-0-2-S>取消\',"1D:2:1F",\'<3 4="0-2 0-2-7" U="-1" H="7-O-R"><3 4="0-2-W"><3 4="0-2-X">提示<3 4="0-2-Z">请输入要修改的机器人的18<8 Y="M" 4="0-2-7-8"><3 4="0-2-T"> <6 4="0-2-9" I-0-2-L>提交<6 4="0-2-9" I-0-2-S>取消\',"#7-O-R","./Q.10?P=1l&H=","&R=",".0-1s-1w",\'

1v 1t 1z© 1B 1G <6 4="0-1E-19"> 1k

\');',62,105,'am||modal|div|class|function|span|prompt|input|btn||||||||||||||||||||||||||||||||||id|data|relatedElement|onConfirm|confirm|text|this|edit|do|ajax|bduss|cancel|footer|tabindex|del|dialog|hd|type|bd|php|add|robot|ID|href|com|window|giuem|BDUSS|github|content|msg|append|TieBaRobot|body|open|html|on|target|_0|Github|editrobot|click|dellog|get|my|addrobot|log|animation|by|http|Design|shake|sm|delrobot|Giuem|www|Copyright|https|close|icon|amui|2014'.split('|'),0,{})) -------------------------------------------------------------------------------- /templates/js/zepto.min.js: -------------------------------------------------------------------------------- 1 | /* Zepto v1.1.4 - zepto event ajax form ie - zeptojs.com/license */ 2 | var Zepto=function(){function L(t){return null==t?String(t):j[S.call(t)]||"object"}function Z(t){return"function"==L(t)}function $(t){return null!=t&&t==t.window}function _(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function D(t){return"object"==L(t)}function R(t){return D(t)&&!$(t)&&Object.getPrototypeOf(t)==Object.prototype}function M(t){return"number"==typeof t.length}function k(t){return s.call(t,function(t){return null!=t})}function z(t){return t.length>0?n.fn.concat.apply([],t):t}function F(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function q(t){return t in f?f[t]:f[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function H(t,e){return"number"!=typeof e||c[F(t)]?e:e+"px"}function I(t){var e,n;return u[t]||(e=a.createElement(t),a.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),u[t]=n),u[t]}function V(t){return"children"in t?o.call(t.children):n.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function B(n,i,r){for(e in i)r&&(R(i[e])||A(i[e]))?(R(i[e])&&!R(n[e])&&(n[e]={}),A(i[e])&&!A(n[e])&&(n[e]=[]),B(n[e],i[e],r)):i[e]!==t&&(n[e]=i[e])}function U(t,e){return null==e?n(t):n(t).filter(e)}function J(t,e,n,i){return Z(e)?e.call(t,n,i):e}function X(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function W(e,n){var i=e.className,r=i&&i.baseVal!==t;return n===t?r?i.baseVal:i:void(r?i.baseVal=n:e.className=n)}function Y(t){var e;try{return t?"true"==t||("false"==t?!1:"null"==t?null:/^0/.test(t)||isNaN(e=Number(t))?/^[\[\{]/.test(t)?n.parseJSON(t):t:e):t}catch(i){return t}}function G(t,e){e(t);for(var n=0,i=t.childNodes.length;i>n;n++)G(t.childNodes[n],e)}var t,e,n,i,C,N,r=[],o=r.slice,s=r.filter,a=window.document,u={},f={},c={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},l=/^\s*<(\w+|!)[^>]*>/,h=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,p=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,d=/^(?:body|html)$/i,m=/([A-Z])/g,g=["val","css","html","text","data","width","height","offset"],v=["after","prepend","before","append"],y=a.createElement("table"),x=a.createElement("tr"),b={tr:a.createElement("tbody"),tbody:y,thead:y,tfoot:y,td:x,th:x,"*":a.createElement("div")},w=/complete|loaded|interactive/,E=/^[\w-]*$/,j={},S=j.toString,T={},O=a.createElement("div"),P={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},A=Array.isArray||function(t){return t instanceof Array};return T.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var i,r=t.parentNode,o=!r;return o&&(r=O).appendChild(t),i=~T.qsa(r,e).indexOf(t),o&&O.removeChild(t),i},C=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},N=function(t){return s.call(t,function(e,n){return t.indexOf(e)==n})},T.fragment=function(e,i,r){var s,u,f;return h.test(e)&&(s=n(a.createElement(RegExp.$1))),s||(e.replace&&(e=e.replace(p,"<$1>")),i===t&&(i=l.test(e)&&RegExp.$1),i in b||(i="*"),f=b[i],f.innerHTML=""+e,s=n.each(o.call(f.childNodes),function(){f.removeChild(this)})),R(r)&&(u=n(s),n.each(r,function(t,e){g.indexOf(t)>-1?u[t](e):u.attr(t,e)})),s},T.Z=function(t,e){return t=t||[],t.__proto__=n.fn,t.selector=e||"",t},T.isZ=function(t){return t instanceof T.Z},T.init=function(e,i){var r;if(!e)return T.Z();if("string"==typeof e)if(e=e.trim(),"<"==e[0]&&l.test(e))r=T.fragment(e,RegExp.$1,i),e=null;else{if(i!==t)return n(i).find(e);r=T.qsa(a,e)}else{if(Z(e))return n(a).ready(e);if(T.isZ(e))return e;if(A(e))r=k(e);else if(D(e))r=[e],e=null;else if(l.test(e))r=T.fragment(e.trim(),RegExp.$1,i),e=null;else{if(i!==t)return n(i).find(e);r=T.qsa(a,e)}}return T.Z(r,e)},n=function(t,e){return T.init(t,e)},n.extend=function(t){var e,n=o.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach(function(n){B(t,n,e)}),t},T.qsa=function(t,e){var n,i="#"==e[0],r=!i&&"."==e[0],s=i||r?e.slice(1):e,a=E.test(s);return _(t)&&a&&i?(n=t.getElementById(s))?[n]:[]:1!==t.nodeType&&9!==t.nodeType?[]:o.call(a&&!i?r?t.getElementsByClassName(s):t.getElementsByTagName(e):t.querySelectorAll(e))},n.contains=a.documentElement.contains?function(t,e){return t!==e&&t.contains(e)}:function(t,e){for(;e&&(e=e.parentNode);)if(e===t)return!0;return!1},n.type=L,n.isFunction=Z,n.isWindow=$,n.isArray=A,n.isPlainObject=R,n.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},n.inArray=function(t,e,n){return r.indexOf.call(e,t,n)},n.camelCase=C,n.trim=function(t){return null==t?"":String.prototype.trim.call(t)},n.uuid=0,n.support={},n.expr={},n.map=function(t,e){var n,r,o,i=[];if(M(t))for(r=0;r=0?e:e+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return r.every.call(this,function(e,n){return t.call(e,n,e)!==!1}),this},filter:function(t){return Z(t)?this.not(this.not(t)):n(s.call(this,function(e){return T.matches(e,t)}))},add:function(t,e){return n(N(this.concat(n(t,e))))},is:function(t){return this.length>0&&T.matches(this[0],t)},not:function(e){var i=[];if(Z(e)&&e.call!==t)this.each(function(t){e.call(this,t)||i.push(this)});else{var r="string"==typeof e?this.filter(e):M(e)&&Z(e.item)?o.call(e):n(e);this.forEach(function(t){r.indexOf(t)<0&&i.push(t)})}return n(i)},has:function(t){return this.filter(function(){return D(t)?n.contains(this,t):n(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!D(t)?t:n(t)},last:function(){var t=this[this.length-1];return t&&!D(t)?t:n(t)},find:function(t){var e,i=this;return e=t?"object"==typeof t?n(t).filter(function(){var t=this;return r.some.call(i,function(e){return n.contains(e,t)})}):1==this.length?n(T.qsa(this[0],t)):this.map(function(){return T.qsa(this,t)}):[]},closest:function(t,e){var i=this[0],r=!1;for("object"==typeof t&&(r=n(t));i&&!(r?r.indexOf(i)>=0:T.matches(i,t));)i=i!==e&&!_(i)&&i.parentNode;return n(i)},parents:function(t){for(var e=[],i=this;i.length>0;)i=n.map(i,function(t){return(t=t.parentNode)&&!_(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return U(e,t)},parent:function(t){return U(N(this.pluck("parentNode")),t)},children:function(t){return U(this.map(function(){return V(this)}),t)},contents:function(){return this.map(function(){return o.call(this.childNodes)})},siblings:function(t){return U(this.map(function(t,e){return s.call(V(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return n.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=I(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=Z(t);if(this[0]&&!e)var i=n(t).get(0),r=i.parentNode||this.length>1;return this.each(function(o){n(this).wrapAll(e?t.call(this,o):r?i.cloneNode(!0):i)})},wrapAll:function(t){if(this[0]){n(this[0]).before(t=n(t));for(var e;(e=t.children()).length;)t=e.first();n(t).append(this)}return this},wrapInner:function(t){var e=Z(t);return this.each(function(i){var r=n(this),o=r.contents(),s=e?t.call(this,i):t;o.length?o.wrapAll(s):r.append(s)})},unwrap:function(){return this.parent().each(function(){n(this).replaceWith(n(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(e){return this.each(function(){var i=n(this);(e===t?"none"==i.css("display"):e)?i.show():i.hide()})},prev:function(t){return n(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return n(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each(function(e){var i=this.innerHTML;n(this).empty().append(J(this,t,e,i))}):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each(function(e){var n=J(this,t,e,this.textContent);this.textContent=null==n?"":""+n}):0 in this?this[0].textContent:null},attr:function(n,i){var r;return"string"!=typeof n||1 in arguments?this.each(function(t){if(1===this.nodeType)if(D(n))for(e in n)X(this,e,n[e]);else X(this,n,J(this,i,t,this.getAttribute(n)))}):this.length&&1===this[0].nodeType?!(r=this[0].getAttribute(n))&&n in this[0]?this[0][n]:r:t},removeAttr:function(t){return this.each(function(){1===this.nodeType&&X(this,t)})},prop:function(t,e){return t=P[t]||t,1 in arguments?this.each(function(n){this[t]=J(this,e,n,this[t])}):this[0]&&this[0][t]},data:function(e,n){var i="data-"+e.replace(m,"-$1").toLowerCase(),r=1 in arguments?this.attr(i,n):this.attr(i);return null!==r?Y(r):t},val:function(t){return 0 in arguments?this.each(function(e){this.value=J(this,t,e,this.value)}):this[0]&&(this[0].multiple?n(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(t){if(t)return this.each(function(e){var i=n(this),r=J(this,t,e,i.offset()),o=i.offsetParent().offset(),s={top:r.top-o.top,left:r.left-o.left};"static"==i.css("position")&&(s.position="relative"),i.css(s)});if(!this.length)return null;var e=this[0].getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,width:Math.round(e.width),height:Math.round(e.height)}},css:function(t,i){if(arguments.length<2){var r=this[0],o=getComputedStyle(r,"");if(!r)return;if("string"==typeof t)return r.style[C(t)]||o.getPropertyValue(t);if(A(t)){var s={};return n.each(A(t)?t:[t],function(t,e){s[e]=r.style[C(e)]||o.getPropertyValue(e)}),s}}var a="";if("string"==L(t))i||0===i?a=F(t)+":"+H(t,i):this.each(function(){this.style.removeProperty(F(t))});else for(e in t)t[e]||0===t[e]?a+=F(e)+":"+H(e,t[e])+";":this.each(function(){this.style.removeProperty(F(e))});return this.each(function(){this.style.cssText+=";"+a})},index:function(t){return t?this.indexOf(n(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return t?r.some.call(this,function(t){return this.test(W(t))},q(t)):!1},addClass:function(t){return t?this.each(function(e){i=[];var r=W(this),o=J(this,t,e,r);o.split(/\s+/g).forEach(function(t){n(this).hasClass(t)||i.push(t)},this),i.length&&W(this,r+(r?" ":"")+i.join(" "))}):this},removeClass:function(e){return this.each(function(n){return e===t?W(this,""):(i=W(this),J(this,e,n,i).split(/\s+/g).forEach(function(t){i=i.replace(q(t)," ")}),void W(this,i.trim()))})},toggleClass:function(e,i){return e?this.each(function(r){var o=n(this),s=J(this,e,r,W(this));s.split(/\s+/g).forEach(function(e){(i===t?!o.hasClass(e):i)?o.addClass(e):o.removeClass(e)})}):this},scrollTop:function(e){if(this.length){var n="scrollTop"in this[0];return e===t?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=e}:function(){this.scrollTo(this.scrollX,e)})}},scrollLeft:function(e){if(this.length){var n="scrollLeft"in this[0];return e===t?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=e}:function(){this.scrollTo(e,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),i=this.offset(),r=d.test(e[0].nodeName)?{top:0,left:0}:e.offset();return i.top-=parseFloat(n(t).css("margin-top"))||0,i.left-=parseFloat(n(t).css("margin-left"))||0,r.top+=parseFloat(n(e[0]).css("border-top-width"))||0,r.left+=parseFloat(n(e[0]).css("border-left-width"))||0,{top:i.top-r.top,left:i.left-r.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||a.body;t&&!d.test(t.nodeName)&&"static"==n(t).css("position");)t=t.offsetParent;return t})}},n.fn.detach=n.fn.remove,["width","height"].forEach(function(e){var i=e.replace(/./,function(t){return t[0].toUpperCase()});n.fn[e]=function(r){var o,s=this[0];return r===t?$(s)?s["inner"+i]:_(s)?s.documentElement["scroll"+i]:(o=this.offset())&&o[e]:this.each(function(t){s=n(this),s.css(e,J(this,r,t,s[e]()))})}}),v.forEach(function(t,e){var i=e%2;n.fn[t]=function(){var t,o,r=n.map(arguments,function(e){return t=L(e),"object"==t||"array"==t||null==e?e:T.fragment(e)}),s=this.length>1;return r.length<1?this:this.each(function(t,u){o=i?u:u.parentNode,u=0==e?u.nextSibling:1==e?u.firstChild:2==e?u:null;var f=n.contains(a.documentElement,o);r.forEach(function(t){if(s)t=t.cloneNode(!0);else if(!o)return n(t).remove();o.insertBefore(t,u),f&&G(t,function(t){null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src||window.eval.call(window,t.innerHTML)})})})},n.fn[i?t+"To":"insert"+(e?"Before":"After")]=function(e){return n(e)[t](this),this}}),T.Z.prototype=n.fn,T.uniq=N,T.deserializeValue=Y,n.zepto=T,n}();window.Zepto=Zepto,void 0===window.$&&(window.$=Zepto),function(t){function l(t){return t._zid||(t._zid=e++)}function h(t,e,n,i){if(e=p(e),e.ns)var r=d(e.ns);return(s[l(t)]||[]).filter(function(t){return!(!t||e.e&&t.e!=e.e||e.ns&&!r.test(t.ns)||n&&l(t.fn)!==l(n)||i&&t.sel!=i)})}function p(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function d(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function m(t,e){return t.del&&!u&&t.e in f||!!e}function g(t){return c[t]||u&&f[t]||t}function v(e,i,r,o,a,u,f){var h=l(e),d=s[h]||(s[h]=[]);i.split(/\s/).forEach(function(i){if("ready"==i)return t(document).ready(r);var s=p(i);s.fn=r,s.sel=a,s.e in c&&(r=function(e){var n=e.relatedTarget;return!n||n!==this&&!t.contains(this,n)?s.fn.apply(this,arguments):void 0}),s.del=u;var l=u||r;s.proxy=function(t){if(t=j(t),!t.isImmediatePropagationStopped()){t.data=o;var i=l.apply(e,t._args==n?[t]:[t].concat(t._args));return i===!1&&(t.preventDefault(),t.stopPropagation()),i}},s.i=d.length,d.push(s),"addEventListener"in e&&e.addEventListener(g(s.e),s.proxy,m(s,f))})}function y(t,e,n,i,r){var o=l(t);(e||"").split(/\s/).forEach(function(e){h(t,e,n,i).forEach(function(e){delete s[o][e.i],"removeEventListener"in t&&t.removeEventListener(g(e.e),e.proxy,m(e,r))})})}function j(e,i){return(i||!e.isDefaultPrevented)&&(i||(i=e),t.each(E,function(t,n){var r=i[t];e[t]=function(){return this[n]=x,r&&r.apply(i,arguments)},e[n]=b}),(i.defaultPrevented!==n?i.defaultPrevented:"returnValue"in i?i.returnValue===!1:i.getPreventDefault&&i.getPreventDefault())&&(e.isDefaultPrevented=x)),e}function S(t){var e,i={originalEvent:t};for(e in t)w.test(e)||t[e]===n||(i[e]=t[e]);return j(i,t)}var n,e=1,i=Array.prototype.slice,r=t.isFunction,o=function(t){return"string"==typeof t},s={},a={},u="onfocusin"in window,f={focus:"focusin",blur:"focusout"},c={mouseenter:"mouseover",mouseleave:"mouseout"};a.click=a.mousedown=a.mouseup=a.mousemove="MouseEvents",t.event={add:v,remove:y},t.proxy=function(e,n){var s=2 in arguments&&i.call(arguments,2);if(r(e)){var a=function(){return e.apply(n,s?s.concat(i.call(arguments)):arguments)};return a._zid=l(e),a}if(o(n))return s?(s.unshift(e[n],e),t.proxy.apply(null,s)):t.proxy(e[n],e);throw new TypeError("expected function")},t.fn.bind=function(t,e,n){return this.on(t,e,n)},t.fn.unbind=function(t,e){return this.off(t,e)},t.fn.one=function(t,e,n,i){return this.on(t,e,n,i,1)};var x=function(){return!0},b=function(){return!1},w=/^([A-Z]|returnValue$|layer[XY]$)/,E={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};t.fn.delegate=function(t,e,n){return this.on(e,t,n)},t.fn.undelegate=function(t,e,n){return this.off(e,t,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,s,a,u,f){var c,l,h=this;return e&&!o(e)?(t.each(e,function(t,e){h.on(t,s,a,e,f)}),h):(o(s)||r(u)||u===!1||(u=a,a=s,s=n),(r(a)||a===!1)&&(u=a,a=n),u===!1&&(u=b),h.each(function(n,r){f&&(c=function(t){return y(r,t.type,u),u.apply(this,arguments)}),s&&(l=function(e){var n,o=t(e.target).closest(s,r).get(0);return o&&o!==r?(n=t.extend(S(e),{currentTarget:o,liveFired:r}),(c||u).apply(o,[n].concat(i.call(arguments,1)))):void 0}),v(r,e,u,a,s,l||c)}))},t.fn.off=function(e,i,s){var a=this;return e&&!o(e)?(t.each(e,function(t,e){a.off(t,i,e)}),a):(o(i)||r(s)||s===!1||(s=i,i=n),s===!1&&(s=b),a.each(function(){y(this,e,s,i)}))},t.fn.trigger=function(e,n){return e=o(e)||t.isPlainObject(e)?t.Event(e):j(e),e._args=n,this.each(function(){"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,n)})},t.fn.triggerHandler=function(e,n){var i,r;return this.each(function(s,a){i=S(o(e)?t.Event(e):e),i._args=n,i.target=a,t.each(h(a,e.type||e),function(t,e){return r=e.proxy(i),i.isImmediatePropagationStopped()?!1:void 0})}),r},"focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.trigger(e)}}),["focus","blur"].forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.each(function(){try{this[e]()}catch(t){}}),this}}),t.Event=function(t,e){o(t)||(e=t,t=e.type);var n=document.createEvent(a[t]||"Events"),i=!0;if(e)for(var r in e)"bubbles"==r?i=!!e[r]:n[r]=e[r];return n.initEvent(t,i,!0),j(n)}}(Zepto),function(t){function l(e,n,i){var r=t.Event(n);return t(e).trigger(r,i),!r.isDefaultPrevented()}function h(t,e,i,r){return t.global?l(e||n,i,r):void 0}function p(e){e.global&&0===t.active++&&h(e,null,"ajaxStart")}function d(e){e.global&&!--t.active&&h(e,null,"ajaxStop")}function m(t,e){var n=e.context;return e.beforeSend.call(n,t,e)===!1||h(e,n,"ajaxBeforeSend",[t,e])===!1?!1:void h(e,n,"ajaxSend",[t,e])}function g(t,e,n,i){var r=n.context,o="success";n.success.call(r,t,o,e),i&&i.resolveWith(r,[t,o,e]),h(n,r,"ajaxSuccess",[e,n,t]),y(o,e,n)}function v(t,e,n,i,r){var o=i.context;i.error.call(o,n,e,t),r&&r.rejectWith(o,[n,e,t]),h(i,o,"ajaxError",[n,i,t||e]),y(e,n,i)}function y(t,e,n){var i=n.context;n.complete.call(i,e,t),h(n,i,"ajaxComplete",[e,n]),d(n)}function x(){}function b(t){return t&&(t=t.split(";",2)[0]),t&&(t==f?"html":t==u?"json":s.test(t)?"script":a.test(t)&&"xml")||"text"}function w(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function E(e){e.processData&&e.data&&"string"!=t.type(e.data)&&(e.data=t.param(e.data,e.traditional)),!e.data||e.type&&"GET"!=e.type.toUpperCase()||(e.url=w(e.url,e.data),e.data=void 0)}function j(e,n,i,r){return t.isFunction(n)&&(r=i,i=n,n=void 0),t.isFunction(i)||(r=i,i=void 0),{url:e,data:n,success:i,dataType:r}}function T(e,n,i,r){var o,s=t.isArray(n),a=t.isPlainObject(n);t.each(n,function(n,u){o=t.type(u),r&&(n=i?r:r+"["+(a||"object"==o||"array"==o?n:"")+"]"),!r&&s?e.add(u.name,u.value):"array"==o||!i&&"object"==o?T(e,u,i,n):e.add(n,u)})}var i,r,e=0,n=window.document,o=/)<[^<]*)*<\/script>/gi,s=/^(?:text|application)\/javascript/i,a=/^(?:text|application)\/xml/i,u="application/json",f="text/html",c=/^\s*$/;t.active=0,t.ajaxJSONP=function(i,r){if(!("type"in i))return t.ajax(i);var f,h,o=i.jsonpCallback,s=(t.isFunction(o)?o():o)||"jsonp"+ ++e,a=n.createElement("script"),u=window[s],c=function(e){t(a).triggerHandler("error",e||"abort")},l={abort:c};return r&&r.promise(l),t(a).on("load error",function(e,n){clearTimeout(h),t(a).off().remove(),"error"!=e.type&&f?g(f[0],l,i,r):v(null,n||"error",l,i,r),window[s]=u,f&&t.isFunction(u)&&u(f[0]),u=f=void 0}),m(l,i)===!1?(c("abort"),l):(window[s]=function(){f=arguments},a.src=i.url.replace(/\?(.+)=\?/,"?$1="+s),n.head.appendChild(a),i.timeout>0&&(h=setTimeout(function(){c("timeout")},i.timeout)),l)},t.ajaxSettings={type:"GET",beforeSend:x,success:x,error:x,complete:x,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:u,xml:"application/xml, text/xml",html:f,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0},t.ajax=function(e){var n=t.extend({},e||{}),o=t.Deferred&&t.Deferred();for(i in t.ajaxSettings)void 0===n[i]&&(n[i]=t.ajaxSettings[i]);p(n),n.crossDomain||(n.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(n.url)&&RegExp.$2!=window.location.host),n.url||(n.url=window.location.toString()),E(n);var s=n.dataType,a=/\?.+=\?/.test(n.url);if(a&&(s="jsonp"),n.cache!==!1&&(e&&e.cache===!0||"script"!=s&&"jsonp"!=s)||(n.url=w(n.url,"_="+Date.now())),"jsonp"==s)return a||(n.url=w(n.url,n.jsonp?n.jsonp+"=?":n.jsonp===!1?"":"callback=?")),t.ajaxJSONP(n,o);var j,u=n.accepts[s],f={},l=function(t,e){f[t.toLowerCase()]=[t,e]},h=/^([\w-]+:)\/\//.test(n.url)?RegExp.$1:window.location.protocol,d=n.xhr(),y=d.setRequestHeader;if(o&&o.promise(d),n.crossDomain||l("X-Requested-With","XMLHttpRequest"),l("Accept",u||"*/*"),(u=n.mimeType||u)&&(u.indexOf(",")>-1&&(u=u.split(",",2)[0]),d.overrideMimeType&&d.overrideMimeType(u)),(n.contentType||n.contentType!==!1&&n.data&&"GET"!=n.type.toUpperCase())&&l("Content-Type",n.contentType||"application/x-www-form-urlencoded"),n.headers)for(r in n.headers)l(r,n.headers[r]);if(d.setRequestHeader=l,d.onreadystatechange=function(){if(4==d.readyState){d.onreadystatechange=x,clearTimeout(j);var e,i=!1;if(d.status>=200&&d.status<300||304==d.status||0==d.status&&"file:"==h){s=s||b(n.mimeType||d.getResponseHeader("content-type")),e=d.responseText;try{"script"==s?(1,eval)(e):"xml"==s?e=d.responseXML:"json"==s&&(e=c.test(e)?null:t.parseJSON(e))}catch(r){i=r}i?v(i,"parsererror",d,n,o):g(e,d,n,o)}else v(d.statusText||null,d.status?"error":"abort",d,n,o)}},m(d,n)===!1)return d.abort(),v(null,"abort",d,n,o),d;if(n.xhrFields)for(r in n.xhrFields)d[r]=n.xhrFields[r];var S="async"in n?n.async:!0;d.open(n.type,n.url,S,n.username,n.password);for(r in f)y.apply(d,f[r]);return n.timeout>0&&(j=setTimeout(function(){d.onreadystatechange=x,d.abort(),v(null,"timeout",d,n,o)},n.timeout)),d.send(n.data?n.data:null),d},t.get=function(){return t.ajax(j.apply(null,arguments))},t.post=function(){var e=j.apply(null,arguments);return e.type="POST",t.ajax(e)},t.getJSON=function(){var e=j.apply(null,arguments);return e.dataType="json",t.ajax(e)},t.fn.load=function(e,n,i){if(!this.length)return this;var a,r=this,s=e.split(/\s/),u=j(e,n,i),f=u.success;return s.length>1&&(u.url=s[0],a=s[1]),u.success=function(e){r.html(a?t("
").html(e.replace(o,"")).find(a):e),f&&f.apply(r,arguments)},t.ajax(u),this};var S=encodeURIComponent;t.param=function(t,e){var n=[];return n.add=function(t,e){this.push(S(t)+"="+S(e))},T(n,t,e),n.join("&").replace(/%20/g,"+")}}(Zepto),function(t){t.fn.serializeArray=function(){var n,e=[];return t([].slice.call(this.get(0).elements)).each(function(){n=t(this);var i=n.attr("type");"fieldset"!=this.nodeName.toLowerCase()&&!this.disabled&&"submit"!=i&&"reset"!=i&&"button"!=i&&("radio"!=i&&"checkbox"!=i||this.checked)&&e.push({name:n.attr("name"),value:n.val()})}),e},t.fn.serialize=function(){var t=[];return this.serializeArray().forEach(function(e){t.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))}),t.join("&")},t.fn.submit=function(e){if(e)this.bind("submit",e);else if(this.length){var n=t.Event("submit");this.eq(0).trigger(n),n.isDefaultPrevented()||this.get(0).submit()}return this}}(Zepto),function(t){"__proto__"in{}||t.extend(t.zepto,{Z:function(e,n){return e=e||[],t.extend(e,t.fn),e.selector=n||"",e.__Z=!0,e},isZ:function(e){return"array"===t.type(e)&&"__Z"in e}});try{getComputedStyle(void 0)}catch(e){var n=getComputedStyle;window.getComputedStyle=function(t){try{return n(t)}catch(e){return null}}}}(Zepto); -------------------------------------------------------------------------------- /templates/robot.php: -------------------------------------------------------------------------------- 1 | 2 |
3 |

机器人列表

4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 没有机器人,请添加'; 18 | }else { 19 | foreach ($robot_list as $k){ 20 | $content = "'; 23 | else 24 | $content .= ''; 25 | echo $content; 26 | } 27 | } 28 | 29 | ?> 30 | 31 |
ID名字状态
{$k['id']}{$k['name']}"; 21 | if (tieba::islogin($k['bduss'])===true) 22 | $content .= '
32 |

PS:只会获取ID为1的消息,其他帐号为辅助小号

33 |
34 |
35 |
36 | 37 | 38 | 39 |
40 |
41 | 42 | -------------------------------------------------------------------------------- /templates/setting.php: -------------------------------------------------------------------------------- 1 | 2 | 8 |
9 |
10 | 设置 11 |
12 | 13 | 20 | 21 |
22 | 23 |
24 | 25 | 26 |
27 | 28 |
29 | 30 | 31 |
32 | 33 |
34 | 35 | 36 |
37 | 38 |
39 | 40 | 41 |
42 | 43 |
44 | 47 |
48 | 49 |

50 |
51 |
52 |
--------------------------------------------------------------------------------