python itchat实现机器人

我们的设计是这样的

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

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




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


导入我们的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中的修饰方法

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









  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值