我们的设计是这样的
个人用的微信机器人
功能:自动回复 自动添加好友 自动抢红包 放音乐 给特定的人每天定时发特定的消息
目前实现:自动回复 自动添加好友
下一个功能是给特定的人每天定时发送特定的消息
群聊的娱乐机器人
功能:回答某个词语 比如点歌,成语接龙
剪刀石头布
功能:自动回复 自动添加好友 自动抢红包 放音乐 给特定的人每天定时发特定的消息
目前实现:自动回复 自动添加好友
下一个功能是给特定的人每天定时发送特定的消息
群聊的娱乐机器人
功能:回答某个词语 比如点歌,成语接龙
剪刀石头布
导入我们的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中的修饰方法
这几个月找到工作 然后继续更新微信机器人 学习让我充实 分享让我快乐