前言
前两天做了一个「彩虹屁机器人」。
原文导航:有人说我嘴不甜,我写了个彩虹屁机器人
事实再一次证明。
当一个机器人充满了彩虹屁。
没人在乎它是不是真的智能。
感谢以上朋友的支持。
在使用过程中,有朋友问能不能给他做一个骂人的机器人,有时候骂骂自己也是好的。
还有这么神秘的需求?
没问题,我们这次不仅做了一个可以骂人的机器人,而且把它和夸夸机器人合体了。
合体原理
做之前考虑原理应该不难:
夸人的语句和骂人的语句都从数据库里拿
再实现微信群里有人说话,判断该人的发言语句,是否含有关键词:
【夸夸】 - 返回夸人语句
【骂骂】 - 返回骂人语句
整个功能就完成了。
大概就这意思:
来实现吧
import requests
# 堵塞线程,并进入 Python 命令行
embed()
import requests
from wxpy import *
'''
Copyright (C) 数据TA说
All rights reserved
Description:
夸夸机器人+骂骂机器人
用夸夸和骂骂这两个不常见的字眼,是为了防止一般消息也会回复。
Created By:zhaofeng092
'''
bot = Bot()
# 夸人数据库
kuakua_url = "https://chp.shadiao.app/api.php?from=sunbelife"
# 骂人数据库
maren_url = "https://nmsl.shadiao.app/api.php?level=min&lang=zh_cn&from=sunbelife"
@bot.register(Group, TEXT)
def print_group_msg(msg):
# 所有的群消息都会回复
if isinstance(msg.chat, Group):
print()
user = msg.raw['Text']
print(user)
friend = msg.raw['ActualNickName']
print(friend)
# 群发言中含有【夸夸】,不含有【骂骂】,夸人
if '夸夸' in user and '骂骂' not in user:
print('夸人')
kuakua = requests.get(kuakua_url)
line = kuakua.text
res = '【{}】 回复 【{}】:"{}"'.format(user, friend, line)
print(res)
return '@{} {}'.format(msg.raw['ActualNickName'], line)
# 群发言中含有【骂骂】,骂人 / 给好友的备注中含有【骂他】,骂指定人
elif '骂骂' in user or '骂他' in friend:
print('骂人')
maren = requests.get(maren_url)
line = maren.text
res = '【{}】 回复 【{}】:"{}"'.format(user, friend, line)
print(res)
return '@{} {}'.format(msg.raw['ActualNickName'], line)
# 不含有任何关键词的消息,不回复
else:
line = "该用户的对话不反应"
print(line)
print()
# 堵塞线程,并进入 Python 命令行
embed()
七手八脚的写代码之后。
我的机器人出炉了。
不过我机器人那个小号被封了,所以只能用我自己大号上了。
效果可以说屁话连篇了。
怎么玩?
我把这个程序打包成了你可以双击运行的版本。
你只需要:
1、后台回复「聊天机器人2.0」,获取exe格式软件
2、在电脑上打开连接,输入百度云盘提取码,下载
3、「双击 - 微信扫码 - 登录」即可运行
4、然后让大家在群里艾特你一下
就可以开始聊天机器人模式了。
我弄完这个之后。
已经收到了一下午的 @
你们感受一下:
PS:想退出的话退出登录就行。
One More Thing...
本次改进:
1、上一个彩虹屁机器人,在任何群被任何人@都会回复彩虹屁。
本次改进为:只有在群里,发送关键词:【夸夸】 or 【骂骂】才会回复对应的消息。
2、上一个彩虹屁机器人,不能对指定人回复专属消息。
应好友要求,本次增加修改对方备注名字中含有:骂他,这个关键词后,可以只骂指定人。有点小邪恶,慎用。
Enjoy it.