jenkins部署完通過mojo-webqq推送消息

使用Docker構建Mojo-Webqq
基於官方dockerfile:https://github.com/sjdy521/Mojo-Webqq/blob/master/docker-image/Dockerfile

FROM centos:latest
MAINTAINER sckghost <[email protected]>
WORKDIR /root
USER root
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN rpm --rebuilddb && yum -y --nogpgcheck install \
    openssl-devel \
    wget \
    make \
    unzip \
    tar \
    perl \
    perl-App-cpanminus \
    perl-Crypt-OpenSSL-Bignum \
    perl-Crypt-OpenSSL-RSA \
    perl-Compress-Raw-Zlib \
    perl-IO-Compress-Gzip \
    perl-Digest-MD5 \
    perl-Digest-SHA \
    perl-Time-Piece \
    perl-Time-Seconds \
    perl-Time-HiRes \
    perl-IO-Socket-SSL \
    perl-Encode-Locale \
    perl-Term-ANSIColor
RUN yum clean all
RUN cpanm -vn Test::More Webqq::Encryption Mojolicious MIME::Lite Mojo::SMTP::Client Mojo::IRC::Server::Chinese Mojo::Webqq::Friend Mojo::Webqq::Group Mojo::Webqq::Plugin::Openqq
RUN wget -q https://github.com/sjdy521/Mojo-Webqq/archive/master.zip -OMojo-Webqq.zip \
    && unzip -qo Mojo-Webqq.zip \
    && cd Mojo-Webqq-master \
    && cpanm . \
    && cd .. \
    && rm -rf Mojo-Webqq-master Mojo-Webqq.zip
CMD perl -MMojo::Webqq -e 'Mojo::Webqq->new(log_encoding=>"utf8")->load(["ShowMsg","UploadQRcode"])->load("Openqq",data=>{listen=>[{port=>$ENV{MOJO_WEBQQ_PLUGIN_OPENQQ_PORT}//5000}],post_api=>$ENV{MOJO_WEBQQ_PLUGIN_OPENQQ_POST_API}})->run'

1、基於WebQQ協議,Mojo-Webqq,運行openqq模塊。
(可選)Jenkins插件編寫基礎。
注意:該插件依賴Mojo-Webqq的運行,否則不能正常工作。
jenkins部署完通過mojo-webqq推送消息

31行插件說明:
Mojo::Webqq::Friend 好友
Mojo::Webqq::Group 羣組
Mojo::Webqq::Plugin::Openqq
提供HTTP API接口,方便獲取客戶端帳號、好友、羣、討論組信息,以及通過接口發送和接收好友消息、羣消息、羣臨時消息和討論組臨時消息
完整插件請參考:https://github.com/sjdy521/Mojo-Webqq/blob/master/doc/Webqq.pod

2、使用本項目提供的Dockerfile構建Mojo-Webqq鏡像
docker build -t mojo-webqq .

3、運行構建好的mojo-webqq鏡像
docker run -it --env MOJO_WEBQQ_LOG_ENCODING=utf8 -p 5000:5000 -v /tmp:/tmp mojo-webqq

4、接下來掃碼登錄你懂得。
使用說明,需要做如下準備:

5、Api接口測試:https://github.com/sjdy521/Mojo-Webqq/blob/master/API.md
獲取羣組數據:
curl "http://10.17.13.49:5000/openqq/get_group_info"

獲取好友數據:
curl "http://10.17.13.49:5000/openqq/get_friend_info"

jenkins部署完通過mojo-webqq推送消息

jenkins部署完通過mojo-webqq推送消息

6、jenkins部署成功發送QQ消息;
發送QQ羣消息name=羣名
curl "http://10.17.13.49:5000/openqq/send_group_message?name=xxxxxxxx&content=%e5%90%84%e4%bd%8d%e5%b0%8f%e4%bc%99%e4%bc%b4%ef%bc%8c%e6%9c%ac%e5%9c%b0devops%e6%b5%8b%e8%af%95%e7%89%88%e6%9c%ac%e9%83%a8%e7%bd%b2%e6%88%90%e5%8a%9f%ef%bc%8cURL%e5%9c%b0%e5%9d%80%ef%bc%9ahttp%3a%2f%2f10.17.13.228"

因爲每次掃碼登錄,QQ羣id和uid會變,所以使用QQ羣名,羣名一般固定,並urlencode轉碼

發送QQ好友消息
curl "http://10.17.13.49:5000/openqq/send_friend_message?id=4195367474&content=%e5%90%84%e4%bd%8d%e5%b0%8f%e4%bc%99%e4%bc%b4%ef%bc%8c%e6%9c%ac%e5%9c%b0devops%e6%b5%8b%e8%af%95%e7%89%88%e6%9c%ac%e9%83%a8%e7%bd%b2%e6%88%90%e5%8a%9f%ef%bc%8cURL%e5%9c%b0%e5%9d%80%ef%bc%9ahttp%3a%2f%2f10.17.13.228"
對好友發送消息,uid已被騰訊屏蔽,所以使用id,或者使用name(中文需要做urlencode)

也可以使用curl --data-urlencode對中文進行編碼
[root@jenkins script]# curl "http://10.17.13.49:5000/openqq/send_friend_message?id=4195367474&" --data-urlencode "content=各位小夥伴,本地PC端web測試部署成功,URL地址:http://10.17.13.228"
{"code":0,"id":69750029,"info":"發送正常","status":"發送成功"}

以上URL消息 &content=後面爲消息內容
同時微信端也可以推送消息

jenkins部署結果如下:
jenkins部署完通過mojo-webqq推送消息

QQ羣消息:
jenkins部署完通過mojo-webqq推送消息

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章