天天看點

python微信機器人之aliyun伺服器

微信機器人寫好了,你不可能在電腦上一直挂着啊,

是以就想到了放到阿裡雲的伺服器上

我的阿裡雲伺服器的系統是ubuntu 14.3的版本

python lib的目錄是在

/usr/lib/python2.7/dist-pagebag/

把前面寫的東西通過securtCRT發送到伺服器,然後pip相應的庫第一步就完成了,

如果注意一下的話,會發現linux系統的終端是沒法顯示圖檔的,何況我還是通過ssh連接配接的遠端伺服器,那麼怎麼辦呢?

不急,wxbot這個庫就有了,隻需要把conf[‘qr’] =’tty’ 就好了,他會把二維碼列印在終端顯示出來,

你以為這樣就沒了?

NO No No

我尼瑪坑爹的發現,通過SecurtCRT用ssh連接配接的終端列印的二維碼居然掃描不出來,日死

那麼怎麼辦呢???

方法自然有嘛:

把qr.png這個圖檔發送到windwos下面來不就行了?

怎麼發送呢,

sz /wechat/qr.png

sz是SecurtCRT自帶的指令,就是發送,把伺服器的資料發送到用戶端

/wecaht 是我的檔案目錄。

那程式運作了,怎麼發送呢?

答案:那就在程式裡面發送啊

os.system()

這個函數可以運作windwos和linux下的指令啊

是以我在wxbot的727行,也就是

qr.png(qr_file_path, scale=8)

這行的後面加了一行

os.system(‘sz /wechat/qr.png’)

然後把開始更改的conf字典修改回來

conf[‘qr’] =’png’

這樣每次程式運作就會把圖檔發送到用戶端,

so,你會問發送到用戶端的什麼地方呢??

那是你自己設定的,在SecurtCRT的全局設定的最後一個選項,有那個目錄,你自己設定就好了,

我是發送到桌面

好啦,微信機器人算是在伺服器運作成功了,,但是,問題又來了,

我的斷開ssh之後,尼瑪程式就死了,,

百度之後的結果是斷開ssh的時候,伺服器會觸發一個信号,關閉所有的程式

哦,so easy

在後面加一個 & 表示背景運作喽,,,

然而我還是是too young to simple

背景運作也是挂接在終端上面的,關閉終端 所謂的背景也會完蛋,

那麼怎麼辦呢,,,

google喽,,

再試了好久之後,終于找到了解決方案,

運作程式

python test_wechat.py

CTRL+Z #背景挂起

bg %1

jobs #檢視是否背景

disown -h %1 #設定為守護程式

在關閉ssh。連接配接,

ps -ef | grep python

果然有了上面運作的那個程式,

手機微信上的顯示也是一直保持連接配接,

到此為止,完成

可以邀請好友來和你BB了