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

Python 模块(Module)

是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句

  • 模块让你能够有逻辑地组织你的 Python 代码段。
  • 把相关的代码分配到一个模块里能让你的代码更好用,更易懂。
  • 模块能定义函数,类和变量,模块里也能包含可执行的代码

模块导入

import导入模块执行的操作

  • 产生一个新的名称空间
  • 在新建的名称空间里面,执行模块(.py)内容
  • 拿到了一个模块名指向模块文件产生的名称空间

方法

  • 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)

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

生成二维码

import qrcode

img=qrcode.make('此后,是平庸是惊世是绚丽是落魄,祝福你')
img.save('happy.png')

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

聊天机器人

首先,我们需要在图灵机器人官网上注册一个机器人,可以选择不同用途的机器人
获取到apikey
python_bomb----有趣的微信聊天机器人

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()

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

微信实现命令控制

#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()

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

相关推荐