资讯专栏INFORMATION COLUMN

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

bawn / 488人阅读

摘要:模块是一个文件,以结尾,包含了对象定义和语句模块让你能够有逻辑地组织你的代码段。把相关的代码分配到一个模块里能让你的代码更好用,更易懂。命令执行成功,执行结果命令执行失败一秒后执行关机命令

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)

生成二维码
import qrcode

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

聊天机器人

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

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:Progjcthello.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()

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42275.html

相关文章

  • 一个简单有趣微信聊天器人

    摘要:微信已经成了中国人生活中基本的通讯工具除了那些自由开源人士以外,前两天发现微信机器人的项目,其实早就有了。开发微信机器人该项目基于上的,使用文档在这里。原文地址一个简单有趣的微信聊天机器人我的博客时空路由器 微信已经成了中国人生活中基本的通讯工具(除了那些自由开源人士以外),前两天发现微信机器人的项目,其实早就有了。想着自己也做一个吧,顺便加了一些小小的功能。 释放我的机器人 微信扫一...

    leonardofed 评论0 收藏0
  • 微信程序开发系列教程(二)微信订阅号+人工智能问答服务

    摘要:我的前一篇文章微信程序开发系列教程一开发环境搭建已经介绍了微信服务器的开发环境搭建。本文作为开发系列的第二篇文章,介绍如何给您的微信订阅号开发一个最简单的问答服务,非常好玩。 我的前一篇文章微信程序开发系列教程(一)开发环境搭建 已经介绍了微信服务器的开发环境搭建。本文作为开发系列的第二篇文章,介绍如何给您的微信订阅号开发一个最简单的问答服务,非常好玩。 这个系列的完整代码在我的git...

    lncwwn 评论0 收藏0
  • 30行代码实现微信自动回复器人

    摘要:行代码实现微信自动回复机器人一写在前面今天下午又学到了另一种有趣的玩法微信自动回复机器人。将返回消息返回给微信消息的发送人。以此实现将微信个人号变身为聊天机器人。 30行代码实现微信自动回复机器人 一、写在前面 今天下午又学到了itchat另一种有趣的玩法---微信自动回复机器人。 程序很简单仅仅三十行代码左右,实现了机器人自动与你的微信好友聊天,下面是我的机器人小笼包跟自己微信好友聊...

    lingdududu 评论0 收藏0
  • SegmentFault 技术周刊 Vol.30 - 学习 Python 来做一些神奇好玩的事情吧

    摘要:学习笔记七数学形态学关注的是图像中的形状,它提供了一些方法用于检测形状和改变形状。学习笔记十一尺度不变特征变换,简称是图像局部特征提取的现代方法基于区域图像块的分析。本文的目的是简明扼要地说明的编码机制,并给出一些建议。 showImg(https://segmentfault.com/img/bVRJbz?w=900&h=385); 前言 开始之前,我们先来看这样一个提问: pyth...

    lifesimple 评论0 收藏0

发表评论

0条评论

bawn

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<