我们的设计是这样的

个人用的微信机器人
        功能:自动回复  自动添加好友  自动抢红包  放音乐  给特定的人每天定时发特定的消息

目前实现:自动回复   自动添加好友   
        下一个功能是给特定的人每天定时发送特定的消息

群聊的娱乐机器人
        功能:回答某个词语 比如点歌,成语接龙
        剪刀石头布

导入我们的itchat模块

import itchat, time

from itchat.content import *
import requests
import json, random

# 接通我们的图灵接口   返回一个经过json格式的数据  提供一个text
def Tuling123(msg):
    url = "http://www.tuling123.com/openapi/api"
    info = msg
    key = "11d8a7c5e9564a3fa5217bdd9a868778"
    data = {u"key": key, 'info': info}
    r = requests.get(url, params=data)
    re = json.loads(r.text)
    return (re)

# 写入日志
def Rizhi(msg):
    with open(r"text\log.txt", "a", encoding="utf-8") as log_txt:
        log_txt.writelines('\n'+msg)

# 响应用户的消息
@itchat.msg_register(TEXT, isFriendChat=True ,isMpChat=True)
def send_text(msg):
    Rizhi(msg["User"]["NickName"]+'\n')
    # print("%s备注:%s 性别:%s 内容:%s"%(msg["User"]["Signature"],msg["User"]["NickName"],msg["User"]["Sex"],msg["Text"]))
    if msg["User"]["NickName"] == "某某":
        te = Tuling123(msg['Text'])
        itchat.send_msg('%s:%s' % (te["code"], te["text"]+"我爱你某某1314"), toUserName=msg['FromUserName'])
    if msg['Text'] == '图片':

itchat.send_image(r"Img\1.jpg", toUserName=msg['FromUserName'])

# 要实现用户输入退出和开启功能我们需要一个动态注册    由于最近有点忙  忙着找工作 这个我们就暂时先不解决了

elif msg['Text'] in '退出':
        itchat.logout()
    elif msg['Text'] in '登陆':
        itchat.login()
    else:
        time.sleep(random.randint(0, 5))
        te = Tuling123(msg['Text'])
        itchat.send_msg('%s:%s' % (te["code"], te["text"]), toUserName=msg['FromUserName'])
        Rizhi("%s备注:%s 性别:%s 内容:%s"%(msg["User"]["Signature"],msg["User"]["NickName"],msg["User"]["Sex"],msg["Text"]))
        Rizhi("wo"+te["text"]+"\n")

# 回复群聊并@了我的人
@itchat.msg_register(TEXT,isGroupChat=True)
def send_group_text(msg):
    if msg["isAt"]:
        te = Tuling123(msg['Text'])
        itchat.send_msg('%s:%s' % (te["code"], te["text"]), toUserName=msg['FromUserName'])
        Rizhi("%s备注:%s 性别:%s 内容:%s" % (msg["User"]["Signature"], msg["User"]["NickName"], msg["User"]["Sex"], msg["Text"]))
        Rizhi("wo" + te["text"] + "\n")
    print(msg)

# 收到好友邀请自动添加好友
@itchat.msg_register(FRIENDS)
def add_friend(msg):
    itchat.add_friend(**msg['Text'])  # 该操作会自动将新好友的消息录入,不需要重载通讯录
    itchat.send_msg('Nice to meet you!', msg['RecommendInfo']['UserName'])

def log():
    Rizhi('登陆成功'+'\n')
    print('登陆成功')

def back():
    print('退出')

if __name__ == '__main__':
    itchat.auto_login(loginCallback=log, exitCallback=back, hotReload=True)
    itchat.run()  # 启动自动回复

目前的实现就是自动回复和自动加好友

我们依赖的就是itchat中的修饰方法

这几个月找到工作   然后继续更新微信机器人     学习让我充实   分享让我快乐

python itchat实现机器人相关推荐

  1. Python itchat微信机器人自动回复

    ** Python itchat微信机器人自动回复 ** 第一次写博客,以后会继续更新; 以下是使用Pythobn写的自动微信回复功能,目前支持设置离开状态及机器人回复状态,适合新手学习: 环境:WI ...

  2. Python + itchat 实现微信机器人聊天(支持自动回复指定群聊)

    Python + itchat 实现微信机器人聊天(支持自动回复指定群聊) 最近对Python上瘾,闲来无事搞个Python+itchat玩下微信机器人自动回复. 首先要打开cmd输入以下代码,安装r ...

  3. 用python创建微信机器人_用Python创建微信机器人

    原标题:用Python创建微信机器人 文/裸睡的猪哥 图片来源于网络 微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地.今天我们要讲的便是如何用Python来做一 ...

  4. python实现图灵机器人帮你回复微信好友消息

    python实现图灵机器人帮你回复微信好友消息 ''' Created on 2018年4月26日@author: cvv54 '''#引入itchat包获取微信消息 import itchat fr ...

  5. 用python写聊天机器人_用Python 写一个机器人陪你聊天(文尾有彩蛋)

    工作一忙,原来秉烛夜谈的好友现在都很少聊天,微信都成了微信群的天下,鲜有微信好友给你发消息,想要主动发却也找不到开题话题,怎么办?用Python写一个机器人陪自己聊聊天吧.以下是源码及解析,小白都看得 ...

  6. Python+爬虫+微信机器人 打造属于你的网购价格监督利器!

    写在最前 程序是为人类服务的,最近正好身边小伙伴们在做球衣生意,当然是去nikenba专区购买了,可是有些热门球衣发布几分钟就被抢完,有些折扣球衣也是很快就被抢售一空,那么我们只能靠自己的眼睛一直盯着 ...

  7. python+爬虫+微信机器人 打造属于你的网购价格监督利器

    写在最前 程序是为人类服务的,最近正好身边小伙伴们在做球衣生意,当然是去nikenba专区购买了,可是有些热门球衣发布几分钟就被抢完,有些折扣球衣也是很快就被抢售一空,那么我们只能靠自己的眼睛一直盯着 ...

  8. 用Python 写一个机器人陪你聊天(文尾有彩蛋)

    工作一忙,原来秉烛夜谈的好友现在都很少聊天,微信都成了微信群的天下,鲜有微信好友给你发消息,想要主动发却也找不到开题话题,怎么办?用Python写一个机器人陪自己聊聊天吧.以下是源码及解析,小白都看得 ...

  9. 微信消息防撤回 + 智能聊天机器 Python itchat实现

    应用背景 xxx撤回了一条消息 有时遇到这种情况是不是感觉被吊着胃口,对方到底撤回了什么消息呢?好想知道啊: 还有时候会加到一些营销号甚至是骗子,这时使用机器人模式自动回复他岂不快哉,或者可以让朋友像 ...

最新文章

  1. 苹果设置网易邮箱收件服务器,如何在iPhone 3/4、iPod touch的邮件应用程序中使用IMAP服务...
  2. 机器学习入门:线性回归及梯度下降
  3. java 小数运算 少0.1_计算器是如何实现0.1的?
  4. 计算机及其配件和参数知识科普
  5. [react] create-react-app创建新运用怎么解决卡的问题?
  6. 数据结构算法入门--一文了解什么是复杂度
  7. Docker 常用命令,还有谁不会?
  8. JavaScript之事件委托(附原生js和jQuery代码)
  9. Python 带你来一次说走就走的环球旅行
  10. IIS7.5(IIS7)配置伪静态urlrewrite
  11. SAP License:SAP PFCG或SEARCH_SAP_MENU文本乱码
  12. C#中new的用法,及与override的区别
  13. 网店管家客户端 3.1 安装上去 不能运行 提示找不到指定模块
  14. 最新搜狗微信文章数据采集方法(无需代理)
  15. 如何在Oracle官网下载旧版本的JDK
  16. 网易mumu模拟器去广告纯净版 v1.26.1.1
  17. 【转】免费进入学术数据库
  18. VS2019切换中英文
  19. 开发多商家商城系统的功能优势
  20. 音游手台中--EC11编码器的控制[2]

热门文章

  1. 计算机组成原理总复习——知识点总结
  2. 西装的选购、搭配和穿着
  3. 中文字段的几种特殊排列方式
  4. 116、H3C交换机配置
  5. php m4a文件头,各类文件头标志大全
  6. 美团面试,被拷打了一小时....
  7. DELF: DEep Local Features在windows10环境下的安装配置
  8. java se 学习之项目二:客户信息管理软件
  9. 幽默及顿悟的哲理故事
  10. OpenCV C++案例实战三十二《字符识别》