日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何通过QQ机器人技术实现禅道bug的自动提交功能

發(fā)布時(shí)間:2023/12/20 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何通过QQ机器人技术实现禅道bug的自动提交功能 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

零、寫在前頭

最近部門老大提到可以使用qq機(jī)器人實(shí)現(xiàn)bug自動(dòng)提交禪道,好奇心趨勢(shì)于是自告奮勇進(jìn)行了一系列探索。qq機(jī)器人當(dāng)然有很多種,這里選擇基于smartQQ協(xié)議的qqbot作為模擬客戶端。qqbot是用python寫的,目前社區(qū)比較活躍,如果想要實(shí)現(xiàn)一些簡(jiǎn)單的功能的話,推薦使用qqbot。不過最近由于支付寶掃碼紅包事件,騰訊封掉了一些smartQQ的關(guān)鍵字段,所以qqbot以及所有基于smartQQ的框架的能力變得更有限。

流程圖

一、qqbot 介紹

Github地址:https://github.com/pandolia/qqbot

qqbot特點(diǎn)

  • 基于smartQQ協(xié)議
  • 目前各種qq機(jī)器人庫(kù)中最活躍的庫(kù)之一
  • 豐富的可配置項(xiàng)
  • 可自定義插件進(jìn)行消息的接收和處理
  • 功能豐富

安裝和使用(具體可參考qqbot的github)

安裝:pip install qqbot 啟動(dòng):qqbot 啟動(dòng)后自動(dòng)彈出二維碼,可以掃碼登錄

二、qqbot的插件機(jī)制

qqbot 支持自定義插件,它的插件機(jī)制是實(shí)現(xiàn)這個(gè)項(xiàng)目所依賴的基礎(chǔ)。通過可以插件獲取qq消息的內(nèi)容,即可進(jìn)行下一步操作。

具體可參考以下

實(shí)現(xiàn)你自己的-qq-機(jī)器人

三、禪道API簡(jiǎn)介

禪道也是一個(gè)開源的項(xiàng)目管理/bug管理工具,現(xiàn)在很火,具體就不多說了。禪道開放了一系列的接口支持通過http請(qǐng)求進(jìn)行api的調(diào)用。這里是禪道API機(jī)制介紹的官網(wǎng)連接:http://devel.cnezsoft.com/book/extension/api-intro-43.html

如何實(shí)現(xiàn)bug的提交

禪道在每次請(qǐng)求的時(shí)候需要在cookie中設(shè)置一個(gè)zentaosid的參數(shù),而這個(gè)參數(shù)是登錄的時(shí)候獲取到的,所以現(xiàn)在流程就很清清楚了

  • 調(diào)用登錄接口獲取zentaosid
  • 調(diào)用提交bug接口(將zentaosid設(shè)置到cookie中)
  • 四、qqbot插件的實(shí)現(xiàn)

    qqbot插件是用python寫的,而我擅長(zhǎng)的卻是JavaScript,所以想了一個(gè)辦法,把調(diào)用禪道API那塊的程序?qū)懗擅钚谐绦?#xff0c;然后用python直接執(zhí)行命令行即可。甚至是,把qqbot的插件完全寫成轉(zhuǎn)發(fā)的功能,一旦有可用的消息就交給node命令行來處理,插件只負(fù)責(zé)消息的接收、轉(zhuǎn)發(fā)和推送。

    這里有幾個(gè)細(xì)節(jié)需要注意

    python執(zhí)行完命令行如何獲取返回值?

    使用os.popen這個(gè)函數(shù)

    t_f = os.popen(cmd) print t_f.read()

    如何實(shí)現(xiàn)node命令行程序

    我是借助了commander.js,當(dāng)然如果不復(fù)雜的話也可以自己寫。

    本地命令行程序如何全局安裝

    在package.json所在目錄下使用npm install . -g可先在本地安裝當(dāng)前命令行程序,可用于發(fā)布前的本地測(cè)試。

    代碼

    這塊的代碼已經(jīng)提交到github上了,這是地址 https://github.com/brahmachen/zentao
    如果能對(duì)你起到幫助的話順便點(diǎn)個(gè)star也是極好的。
    這塊node命令行使用superagent發(fā)起http請(qǐng)求,使用Promise以及async/await進(jìn)行異步的處理,使用commander.js實(shí)現(xiàn)命令的解析和處理。

    五、成果

    六、有什么收獲?

    • 熟悉python基本語法
    • 了解node命令行程序制作方法
    • 了解了禪道的API機(jī)制
    • 了解了圖靈機(jī)器人申請(qǐng)和調(diào)用流程
    • Commander.js
    • Superagent.js

    七、使用qqbot的優(yōu)缺點(diǎn)

    優(yōu)點(diǎn)

    qqbot的一系列豐富的功能,包括自動(dòng)重啟、自動(dòng)發(fā)送二維碼到郵箱等,保證了程序的穩(wěn)定性和可靠性

    缺點(diǎn)

    每隔1~2天cookie過期,需要QQ號(hào)掃碼登錄,需要專人維護(hù)。同樣由于smartQQ協(xié)議的特點(diǎn),提交bug時(shí)不支持圖片的處理。如果對(duì)圖片有需求的話,建議使用基于PCQQ/AndroidQQ/TimQQ等高級(jí)協(xié)議的框架,如myPCQQ、酷Q和Amanda等

    總結(jié)

    以上是生活随笔為你收集整理的如何通过QQ机器人技术实现禅道bug的自动提交功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。