帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
开黑啦kook 机器人开发 PHP swoole Liunx 服务器(宝塔)
发布时间:2024-03-08 04:43:10   分类:帮助文档
开黑啦kook 机器人开发 PHP swoole Liunx 服务器(宝塔) 安装环境 PHP 拓展 直接使用 宝塔一键安装 (Windows系统不支持) 设置命令行的PHP版本避免执行脚本时 获取不到 swoole 检查swoole是否安装成功 获取官方SDK  GitHub - kaiheila/php-bot: 开黑啦机器人的php版本https://github.com/kaiheila/php-bot  配置参数 机器人链接模式选择 webhook 密钥 自己设置 回调链接直接填写 (配置回调地址之前 先将机器人邀请进频道,在域名后面一定要自己定义域名端口如果是正常的80端口会被占用导致无法运行) 端口一定要开放否则无法监听到,如果是腾讯云就去安全组释放端口,最好在宝塔面板页开放端口 获取到邀请链接后直接请求即可 配置好参数示例:  使用tp5框架创建一个 api 文件 用于 配置 WebHook 回调地址 处理 Challenge 请求 (数据默认会先被进行 zlib (deflate) 压缩再发送。请先使用你使用的语言的 zlib 相关方法解压,或在提供给 KOOK 开放平台的 callback url 中加上 Query 参数 compress=0 以停用压缩) config = [ 'token' => Env::get('kook.token'), 'verify_token' => Env::get('kook.verify_token'), 'encrypt_key' => Env::get('kook.encrypt_key'), ]; } public function start(){ $params = file_get_contents("php://input"); Log::info("接收参数"); $param = json_decode($params,true); Log::info($param); if (isset($param['encrypt']) && !empty($param['encrypt'])){ Log::info('解密信息'); $challenge = $this->decryptData($param['encrypt'],$this->config['encrypt_key']); Log::info($challenge); $response_data = json_decode($challenge,true); Log::info($response_data); if (!empty($response_data)){ // 判断是否是验证请求 s 等于 0 代表 消息(包含聊天和通知消息) if (isset($response_data['s']) && $response_data['s'] == 0 && isset($response_data['d']['channel_type']) && $response_data['d']['channel_type'] == 'WEBHOOK_CHALLENGE'){ // 判断验证token是否正确 if ($response_data['d']['verify_token'] == $this->config['verify_token']) { // code... return json(['challenge' => $response_data['d']['challenge']]); }else { return json(['msg'=>'验证错误!']); } } } } } / * 数据加密 * @param $data * @param $key 密钥 * @return string */ private function encryptData($data, $key) { $iv = substr(md5(uniqid()), 0, 16); return base64_encode($iv.openssl_encrypt($data, 'aes-256-cbc', $key, 0, $iv)); } / * * 数据解密 * @param $eData * @param $key 密钥 * @return false|string */ private function decryptData($eData, $key) { $eData = base64_decode($eData); $iv = substr($eData, 0, 16); return openssl_decrypt(substr($eData, 16), 'aes-256-cbc', $key, 0, $iv); } }  在项目根目录(在tp5 command文件夹中创建也可 自定义命令行 ) 创建一个 PHP文件 使用脚本运行 复制官方示例webhook.php即可 配置好参数  官方示例使用的是 swoole中的 http 服务器 实例化http服务器 $http = new Swoole\Http\Server(监听IP地址,监听端口); 监听IP地址: 可以填写 0.0.0.0 代表所有,可以指定 使用当前服务器IP 监听端口:则是你在机器人后台填写的 http请求地址的端口 参数配置好,打开终端 ,进入项目根目录 使用命令 检查端口是否被占用 netstat -anp | grep 9501 如果被占用这 使用命令 kill 进程 注意如果进程后面跟着 nginx 则代表端口被 nginx占用,那是在绑定域名时设置了端口号,这时候去宝塔域名把绑定了端口的域名删除即可,如果直接kill进程会导致nginx 停止运行(绑定域名时不用设置端口,设置回调地址时设置端口即可) 在执行 文件  php webhook.php 启动  启动成功 打印 啊啊啊 这是我自己在代码中添加的日志 $session->log('receiveFrame', '啊啊啊啊');  在频道内随便发送一条信息  监听到数据
香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价