python_bomb----有趣的微信聊天機器人

Python 模塊(Module)

是一個 Python 文件,以 .py 結尾,包含了 Python 對象定義和Python語句linux

  • 模塊讓你可以有邏輯地組織你的 Python 代碼段。
  • 把相關的代碼分配到一個模塊裏能讓你的代碼更好用,更易懂。
  • 模塊能定義函數,類和變量,模塊裏也能包含可執行的代碼

模塊導入

import導入模塊執行的操做shell

  • 產生一個新的名稱空間
  • 在新建的名稱空間裏面,執行模塊(.py)內容
  • 拿到了一個模塊名指向模塊文件產生的名稱空間

方法json

  • import
  • import .... as.... #對於導入模塊重命名
  • from .... import .... #從模塊裏面導入某一功能(函數、變量、裝飾器......)

模塊分類

  • 內置模塊
  • 自定義模塊
  • 第三方模塊

如何快速安裝第三方模塊

  • pip3 insatll 模塊名稱
  • 經過pycharm安裝

玩起色器人

統計微信男女比例

import itchat    #導入itchat模塊

itchat.auto_login()    #自動登錄

itchat.send('hello',toUserName='filehelper')    #給微信助手發送'hello'
#itchat.send_file('/etc/passwd',toUserName='filehelper')

friends = itchat.get_friends()  #統計好友信息,相似字典
info ={}
for friend in friends[1:]:
    if friend['Sex']== 1:   #男性
        info['male'] = info.get('male',0)+1
    elif friend['Sex']== 2: #女性
        info['female'] = info.get('female',0)+1
    else:
        info['other'] = info.get('other',0)+1

print(info)

圖片描述

生成二維碼

import qrcode

img=qrcode.make('此後,是平庸是驚世是絢麗是落魄,祝福你')
img.save('happy.png')

圖片描述

聊天機器人

首先,咱們須要在圖靈機器人官網上註冊一個機器人,能夠選擇不一樣用途的機器人
獲取到apikey
圖片描述api

import random
import  requests
import itchat
import time

def get_tuling_response(_info): #圖靈機器人聊天函數
    print(_info)
    # 圖靈機器人的網址
    api_url = "http://www.tuling123.com/openapi/api"
    data = {
        'key': '49f783cdeef84fc2bec444339f7bXXXX',    #這裏使用申請好的機器人api,筆者把本身的api後四位隱藏了
        'info': _info,
        'userid':'wechat-robot'
    }
    # 發送數據到執行網址
    res = requests.post(api_url, data).json()
    # print(res, type(res))
    # 給用戶返回數據
    print(res['text'])
    return res['text']

@itchat.msg_register(itchat.content.TEXT,isGroupChat=True)
def text_reply(msg):

    #獲取好友發送的消息
    content =  msg['Content']
    #將好友消息發送給機器人,處理結果返回給好友
    returnContent = get_tuling_response(content)
    #time.sleep(random.randint(2))
    return returnContent

if __name__ =='__main__':
    itchat.auto_login(hotReload=True)
    itchat.run()

圖片描述

微信實現命令控制

#os模塊
import os
import time
import itchat
import random
import requests #網絡請求處理庫
#兼容性

#系統目錄間的分隔符
#linux : /var/log/messages
#win:C:\\Progjct\hello.py
print(os.path.sep)  #顯示路徑分隔符
#在linux裏面,執行shell命令
#   1.第一種方式,能夠判斷命令是否執行成功
#返回值爲0,執行成功
#不然,執行失敗
res =os.system('hostname')
print('res:',res)
#   第二種方法:用來保存命令的執行結果
res = os.popen('hostname')
print('res:',res.read())

@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
    #獲取文件助手發來的消息,執行發送內容
    #   1.執行成功,顯示執行成功:執行結果
    #   2.反之,顯示執行失敗
    print(msg)
    if msg['ToUserName']=='filehelper': #若是是文件傳輸助手法來消息,執行代碼
        command =  msg['Content']
        if os.system(command) ==0:
            res =os.popen(command).read()   #os.popen() 方法用於從一個命令打開一個管道,command -- 使用的命令。
            result =  "命令執行成功,執行結果:" +res
            itchat.send(result,'filehelper')
        else:
            result =  "命令執行失敗"
            itchat.send(result,'filehelper')
            #shutdown -h 1  #一秒後執行關機命令

    return 'hello'


if __name__ =='__main__':
    itchat.auto_login(hotReload=True)
    itchat.run()

圖片描述

相關文章
相關標籤/搜索