使用go-cqhttp搭建qq机器人自动拜年

本篇文章记录一下自己在编写QQ机器人的时候所遇到的一些问题和核心功能的实现。

介于快过年啦,这里搭建一个机器人实现定时拜年的功能

(补加:由于无法获取好友分组且不想向所有人拜年,我们可以先在txt文件中存入想拜年对象,之后对好友列表进行筛查。)

资料来源

(1)环境配置:参考QQ机器人制作教程,超详细_皮小孩ls的博客-CSDN博客_qq机器人

配置好后可以实现发消息的功能即可。

(2)获取好友列表以及发送消息API:大家可以浏览go-cqhttp官网查找,我们用到的如下:

知道了这些,前期准备工作就欧克了。下面展示代码:

import requests
import socket
from datetime import datetime
import time

def send_msg(resp_dict):
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    ip = '127.0.0.1'
    client.connect((ip, 5700))

    msg_type = resp_dict['msg_type']  # 回复类型(群聊/私聊)
    number = resp_dict['number']  # 回复账号(群号/好友号)
    msg = resp_dict['msg']  # 要回复的消息

    # 将字符中的特殊字符进行url编码
    msg = msg.replace(" ", "%20")
    msg = msg.replace("\n", "%0a")

    if msg_type == 'group':
        payload = "GET /send_group_msg?group_id=" + str(
            number) + "&message=" + msg + " HTTP/1.1\r\nHost:" + ip + ":5700\r\nConnection: close\r\n\r\n"
    elif msg_type == 'private':
        payload = "GET /send_private_msg?user_id=" + str(
            number) + "&message=" + msg + " HTTP/1.1\r\nHost:" + ip + ":5700\r\nConnection: close\r\n\r\n"
    print("发送" + payload)
    client.send(payload.encode("utf-8"))
    client.close()
    return 0


if __name__ == '__main__':
    #获取需要发生祝福的好友列表,以字典形式存储:contact【‘qq’】=name
    contact = {}
    with open('contact.txt', encoding='utf-8') as f:
        for line in f.readlines():
            line = line.replace('\n', '').split(',')
            contact[line[0]] = line[1]

    #发送get请求获取好友列表名单
    t = requests.get(url='http://127.0.0.1:5700/get_friend_list')
    friends = t.json()
    friend_id = []
    for i in friends['data']:       #获取用户用户名以及qq号
        friend_id.append(str(i['user_id']))

    #等待时间到来
    while True:
        now = datetime.now()    #获取当前时间
        if now.hour == 0 and now.minute == 0:
            for id in friend_id:
                #判断当前好友是否为需拜年对象
                if id in contact.keys():
                    msg = contact[id] + '新年快乐'
                    send_msg({'msg_type': 'private', 'number': id, 'msg': msg})  #
                    print(contact[id], ': success')
            break
        else:
            time.sleep(1)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
百善孝为先,JB 集团坐落在孝文化发源地之一的博兴县,企业员工多为本地人,受孝文化影响颇深,在此背景下马韵升将“小孝治家、中孝治企、大孝治国”的理念融入到了JB,在国内民营企业中首创“孝工资”制度,树牢尊老敬老的导向。 JB集团的孝工资分为三部分,第一部分是由员工工作岗位级别确定的“孝工资”,分为 200、400、600 等不同档位,刚进入企业的员工的孝工资金额是 200,随着职位的上升孝工资也依次上升。第二部分是“敬老金,”超过70周岁的员工父母享有,希望员工更加注重关爱老人。第三部分是“忠孝敬老金”,对进入公司 20 年及以上员工的父母每人每月发放,以嘉奖那些一直以来和公司一起奋斗的员工。为了更好地落实孝工资制度,JB 控股与博兴县农村合作银行联合制作了“泰山•JB孝文化卡”。该联名卡为带有银行个人业务功能的借记卡,是以员工父母的姓名办理的,用于孝工资的存取业务,并可自行使用其他业务。截至2021年底,JB累计发放孝工资3.16亿元。 马韵升认为,发钱不是目的而是手段,有助于培养职工爱父母、爱企业、爱国家的企业核心价值观,造就一支有爱心、敢承担、知廉耻、不忘回报社会的队伍,事实证明他的确做到了。 “当我收到由 JB 为父母办理的孝文化卡时,我感觉到亲切、温暖、体贴,在了解JB的企业文化之后,我相信我的儿子在这样的企业中,一定能通过他自己的不断学习,实现做一个对家庭、对企业、对社会有益处的人的梦想。”这是一位 JB 员工的母亲给企业的来信,言语之间满满的欣慰与感动。 张红在JB工作已有8年,“我刚进公司的时候孝工资只有200,随着职位的晋升孝工资也跟着上涨,目前金额已经有600。虽然我的父母没有在山东,但是他们通过孝工资就能感受到我工作的稳定性和升职的喜悦。特别是去年疫情,我自己买的年货还没送到父母家的时候,公司的拜年礼就到了,这让我觉得特别的感动。” 孝工资不仅增强了员工对公司的归属感,而且为员工父母提供了一份安心,在这种氛围的熏陶下,公司员工不仅获得了能力的提升,更有价值的是学会了如何以健康的心态面对生活,如何做一个对社会有益的人。 从管理学的角度分析“孝工资”这种激励方式。
02-06

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值