手把手教你定制一款专属的微信夸夸机器人

手把手教你定制一款专属的微信夸夸机器人

最近你有没有被各种“夸夸群”刷屏?

 彻底将“夸夸群”引爆的,是一个女生在微博上讲述的男友赠送三八节“神仙礼物”。

 为了给女友惊喜,男友把她拉进一个百人群,结果整整夸了她三分钟。简直就是一个大型彩虹屁现场了。

之后,各类夸夸群在网络上流行起来。

 

“夸夸群”也因此被称为,治“丧”克星!“夸夸群”一经走红,引发网友热议,各类报道下的留言更是“举手想进群”:

更有电商平台商家还推出了“夸人服务”,你只需要把人拉进群,便会开启一轮长达数分钟的吹捧,各种溢美之词都会源源不断的向你袭来。就算你只发送了一个标点符号,他们都能夸出花来。

 

当然,要享受如此“众星拱月”的夸夸服务,也是要付费的。文摘菌在某电商平台上搜了搜,发现平均下来,5分钟就要付费20元。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

作为一只长期混迹在科技圈的bot本t,文摘菌决定自己动手开发出一个夸夸机器人:用python开发一款可以在群里自动夸我的机器人,完全不复杂。

 

先看看最后的训练结果:

效果拔群!

 

一起来看看,如何用Python写一个属于你自己的夸夸机器人。

 

 

 

前期准备

 

要有电脑一台,电脑需要安装微信和Python,然后pip也要正常运行。最好也要有一款Python的IDE。例如pycharm等。文摘菌写的这份代码用到了Python的itchat包,所以没安装的小伙伴也要安装一下。

 

具体步骤:

 

1.Installing with get-pip.py

To install pip, securely download get-pip.py. [2]

 

PIP 官网首页 

https://pip.pypa.io/en/stable/installing/?spm=a2c4e.11154000.rtdmain.3.270f4283NCvVd9#installing-with-get-pip-py

 

get-pip.py 下载地址 

https://bootstrap.pypa.io/get-pip.py?spm=a2c4e.11154000.rtdmain.4.270f4283mNOgtr&file=get-pip.py

 

Then run the following:

  • 在python 加入环境变量;

  • CMD中 在get-pip.py的保存路径下执行

 

2.get-pip.py

python的路径 ,及 python下 pip的路径都配置进入

 

3.成功 pip

pip 安装 itchat 包的过程 01

pip 安装 itchat 包的过程 02

成功

 

代码实现

 

需要创建一个Python文件比如 ,代码内容如下:

"""
    Group Chat Robot v0.1
"""
# coding: utf-8

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

"""
    Constants
"""
REPLY = {'工作':['且不说你的工作多么认真,我并没有见过,但是从你的字里行间,我发现了乔布斯的影子和小扎的气息,这已经不是一份工作那么简单,而是一场精神饕餮!',
               '你拥有了这个年龄段近半数人无法拥有的理想职业,太优秀了!',
               '工作这件事,大家都习以为常,只有你让大家开始思考这个问题,说明你善于反思和质疑当前的制度,你的公司会因为你这样的人变得更好!'],
         '学习':['这么多优秀的同龄人相聚在这里,一定是场思想交流的盛宴。','看到群友们的发言,真是排山倒海,气宇轩昂之势!',
               '你这句话完美的表达了你想被夸的坚定信念,你一定是一个执着追求自己理想的人!'],
         'default': ['太棒了','真不错','好开心','嗯嗯','没什么好说的了,我送你一道彩虹屁吧']}

@itchat.msg_register([TEXT], isGroupChat=True)
def text_reply(msg):

    if msg['User']['NickName'] == '测试卷':
        print('Message from: %s' % msg['User']['NickName'])
        # 发送者的昵称
        username = msg['ActualNickName']
        print('Who sent it: %s' % username)

        match = re.search('工作', msg['Text']) or re.search('加班', msg['Text'])
        if match:
            print('-+-+' * 5)
            print('Message content:%s' % msg['Content'])
            print('工作、加班 is: %s' % (match is not None))
            randomIdx = random.randint(0, len(REPLY['工作']) - 1)
            itchat.send('%s\n%s' % (username, REPLY['工作'][randomIdx]), msg['FromUserName'])

        match = re.search('学习', msg['Text']) or re.search('考试', msg['Text'])
        if match:
            print('-+-+' * 5)
            print('Message content:%s' % msg['Content'])
            print('学习、考试 is: %s' % (match is not None))
            randomIdx = random.randint(0, len(REPLY['学习']) - 1)
            itchat.send('%s\n%s' % (username, REPLY['学习'][randomIdx]), msg['FromUserName'])

        print('isAt is:%s' % msg['isAt'])

        if msg['isAt']:
            randomIdx = random.randint(0, len(REPLY['default']) - 1)
            itchat.send('%s\n%s' % (username, REPLY['default'][randomIdx]), msg['FromUserName'])
            print('-+-+'*5)

itchat.auto_login(enableCmdQR=True, hotReload=True)
itchat.run()

扫码登录

 

登录成功

 

 自动回复效果

注意:

1、此回复是使用了微信网页端,即如果设置了自动回复,电脑端微信自动退出。

 

2、想要在设置哪个群为夸夸群,需要更改代码 if msg['User']['NickName'] == '测试卷' ,即将‘测试卷’改成相应的群名字。

 

3、自动回复信息内容,在下图字典格式中更改,你也可以用txt格式打开此文件夹,进行修改内容然后点击保存。然后就可以设置相应的夸夸语了

 资料链接:https://pan.baidu.com/s/1ATtZKrwtM6uwAtKLKYZfmw 提取码:l9zy 

 

posted @ 2019-03-22 22:01 Geeksongs 阅读( ...) 评论( ...) 编辑 收藏
以下是一个简单哈希表C语言实现代码,使用链地址法解决哈希冲突: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #define HASHSIZE 12 #define NULLKEY -32768 typedef struct { int *elem; // 数据元素存储基址,动态分配数组 int count; // 当前数据元素个数 } HashTable; int InitHashTable(HashTable *H) { int i; H->count = HASHSIZE; H->elem = (int *)malloc(HASHSIZE * sizeof(int)); for (i = 0; i < HASHSIZE; i++) { H->elem[i] = NULLKEY; } return 1; } int Hash(int key) { return key % HASHSIZE; // 散列函数采用除留余数法 } void InsertHash(HashTable *H, int key) { int addr = Hash(key); // 求哈希地址 while (H->elem[addr] != NULLKEY) { // 如果不为空,则冲突 addr = (addr + 1) % HASHSIZE; // 开放定址法的线性探测 } H->elem[addr] = key; // 直到有空位后插入关键字 } int SearchHash(HashTable H, int key) { int addr = Hash(key); // 求哈希地址 while (H.elem[addr] != key) { // 如果不相等,则冲突 addr = (addr + 1) % HASHSIZE; // 开放定址法的线性探测 if (H.elem[addr] == NULLKEY || addr == Hash(key)) { // 如果循环回到原点或者遇到空位,则说明关键字不存在 return -1; } } return addr; // 找到关键字,返回其地址 } int main() { HashTable H; int i, key, result; InitHashTable(&H); printf("请输入%d个数:\n", HASHSIZE); for (i = 0; i < HASHSIZE; i++) { scanf("%d", &key); InsertHash(&H, key); } printf("哈希表中的数据为:\n"); for (i = 0; i < HASHSIZE; i++) { printf("%d ", H.elem[i]); } printf("\n请输入要查找的数:\n"); scanf("%d", &key); result = SearchHash(H, key); if (result == -1) { printf("没有找到%d\n", key); } else { printf("%d的位置是%d\n", key, result); } return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值