如何实现微信群打卡排行榜,提高活跃度

最近加入了一个早起打卡的微信群,里面有人提出如果每天早起打卡有个排行榜,他会更有动力早起。这种打卡进行排行榜的活动的方式在很多app都有,满足人们炫耀,攀比的一种方式。那在微信群里面能否实现这样的功能。下面讲一下我的实现思路。

实现思路

先介绍一下wxpy,实现的功能都是建立在这个基础上。可以用来做一些常见的场景如下:
  • 控制路由器、智能家居等具有开放接口的玩意儿
  • 运行脚本时自动把日志发送到你的微信
  • 加群主为好友,自动拉进群中
  • 跨号或跨群转发消息
  • 自动陪人聊天
  • 逗人玩

总而言之,可用来实现各种微信个人号的自动化操作

实现的思路:

监听打卡的微信群,微信群的用户在 @ 到打卡机器人(就是你登录的微信号) 并且发送“打卡”两个字,就触发监听的逻辑,计算该用户是第几名打卡的人,并发送信息到群里“xxx,打卡成功,你是第3个打卡” 类似这样的回复。

实现代码

先安装wxpy的包

pip install -U wxpy

排行版的数据是简单的存放在一个文本里面,文件的命名按日期进行存放,每一条记录为一行,下面的方法是获取文本里面行数。

 1#获取文件的行数
 2def get_count(file_name):
 3    count = 0
 4    fp = open(file_name, "r")
 5    while 1:
 6        buffer = fp.read(8*1024*1024)
 7        if not buffer:
 8            break
 9        count += buffer.count('\n')
10    fp.close()
11    return count

排行榜的逻辑:

  • 第2行的微信机器人的初始化,运行到这来会弹出一个二维码,需要用微信扫描进行登录。
  • 第4行注册了一个监听微信群(Group),监听的内容是文本(TEXT)。处理的逻辑代码的注释已经写清楚了。
  • 第24行主要作用是阻塞主线程
 1#缓存登录的信息,不用每次启动都要扫描
 2bot = Bot(cache_path=True)
 3#注册
 4@bot.register([Group], TEXT)
 5def auto_reply(msg):
 6    # 如果是群聊,并且被当前登录的人被@,群的名称叫打卡群
 7    if isinstance(msg.chat, Group) and  msg.is_at and msg.sender.name=="打卡群":
 8        text=msg.text #接收到的信息
 9        member_name=msg.member.name#群里发送信息的名称
10        create_time=msg.create_time#发送消息时间
11        #内容里面带有“打卡”两个字才算成功
12        if text.find("打卡")!=-1:
13            date=datetime.datetime.now().strftime('%Y-%m-%d')
14            file_name=f"排行榜_{date}.txt"
15            try:
16                count=get_count(file_name)+1
17            except Exception as e:
18                count=1
19            file=open(file_name,'a')
20            file.writelines(f"排行:{count},打卡人:{member_name},打卡时间:{create_time}\n") 
21            file.close();
22            return f"{member_name},打卡成功,你是第{count}个打卡"  
23#阻塞主进程      
24embed()

话题延伸

以上的实现只是简单讲了一下解决问题的思路,里面还有什么没有解决呢?例如:打卡时间的范围没有限制,重复打卡的处理等。

现在已经有很多微信群的相关工具,为什么还要自己重复造轮子。因为大部分的功能只是满足基本的功能,当我们要运营某个功能的时候,不满足的情况下,就需要自己能够实现。

上面的功能还可以有这样的玩法。监控某个人发送的“放榜”指令,把今天统计的打卡前十名的名单自动发到群里。可以统计一个星期连续排行榜前十名的人。当你有了数据后,很多方式可以玩。

欢迎关注公众:sjyy_python

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容