python实现QQ定时发送新年祝福信息
作者:Tony_43 时间:2023-12-19 08:11:59
前言
今晚就是新年夜啦,为了 刷一波存在感 送出我的祝福,同时让它看起来不像群发消息,我们简单地用三步来实现定制QQ祝福~(保姆级教学 真的很详细)
效果图:
第一步 配置go-cqhttp
简单来说,go-cqhttp就是自己搭建的一个QQ,它可以完成收发消息等功能,并实现操作的自动化
官网地址:go-cqhttp 帮助中心
https://docs.go-cqhttp.org/
下载界面:
我们根据自己的情况选择即可。我这里是win10,选 go-cqhttp_windows_amd64.exe 就好
新建一个文件夹,把.exe放进去,运行后出现系统提示,点击确定,会生成一个.bat。再次运行.bat,会看到以下界面:
选0按下回车,按提示修改.yml文件
我们需要修改的地方有:
文档开头:
改成自己的QQ账号,为了保证安全,建议不填密码,扫码登录
文档结尾:
最后两行的 # ,替换成两个空格(取消注释)
保存后,我们再次运行.bat ,按提示扫码登录,当持续跳出黄字提示信息时,你的go-cqhttp就配置好啦
之后的python程序,都需要在go-cqhttp运行时,与之同时运行!
第二步 获取好友列表
利用go-cqhttp提供的接口,我们可以方便地获取全部好友的备注和QQ号,并保存为json文件。代码如下:
import requests
import json
if __name__ == '__main__':
t = requests.get(url='http://127.0.0.1:5700/get_friend_list')
friends = t.json()
# 利用 get_friend_list 接口获取好友列表
with open("./friends.json", 'w', encoding='utf-8') as json_file:
json.dump(friends, json_file, ensure_ascii=False, indent=4)
# 保存json文件 注意此处 indent=4 可以让json有缩进效果
运行后,在同目录下,我们便得到了friends.json,打开后是这样的:
remark 是好友的备注,我们现在将其稍微修改后作为消息的称呼。(比方说,郄伟东 -> 伟东)
user_id 是好友的QQ号,之后发消息要用到。
如果不希望给一些好友发消息,可以在文件中删掉对应的元素 (一个“ { }, ”之间为一个元素 )
第三步 发送祝福!
这里利用go-cqhttp的发送消息接口,运行下面代码就好啦( .py的同目录下要放进friends.json )
import requests
import json
if __name__ == '__main__':
with open('./friends.json', 'r', encoding='utf8') as f:
Flist = json.load(f)['data']
for i in Flist:
p = i['remark'] # 称呼
q = i['user_id'] # QQ号
requests.get(url='http://127.0.0.1:5700/send_private_msg?user_id={0}&message={1}新年快乐鸭~ 祝你新的一年万事如意!'.format(q, p))
requests.get(url='http://127.0.0.1:5700/send_private_msg?user_id={0}&message=[CQ:face,id={1}][CQ:face,id={2}][CQ:face,id={3}]'.format(q,137,137,137))
运行效果图:(所有json文件中的好友都会同时收到定制消息)
来源:https://blog.csdn.net/Tony_43/article/details/122760140