Python实现QQ定时发送个性化新年祝福:基于go-cqhttp的三步教程
本文详细介绍如何利用Python和go-cqhttp实现QQ定时发送个性化新年祝福。通过配置go-cqhttp接口、获取好友列表并生成JSON文件,最后编写Python脚本批量发送定制消息,让祝福摆脱群发感。教程包含详细配置步骤、代码示例及注意事项,适合希望提升互动感的Python初学者。
前言
新年夜即将到来,为了在朋友圈中刷一波存在感并送出真挚的祝福,同时避免群发消息的机械感,我们将通过三个简单的步骤来实现定制化的QQ祝福发送功能。本教程将提供保姆级的详细指导,确保即使初学者也能轻松上手。
效果图展示:

第一步:配置go-cqhttp
go-cqhttp是一个开源的QQ协议实现库,允许用户自行搭建QQ服务,实现消息收发及操作自动化等功能。

官方文档地址:go-cqhttp 帮助中心
https://docs.go-cqhttp.org/
下载界面如下:

请根据操作系统类型选择对应的版本。以Windows 10为例,请选择 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文件中的好友都会同时收到定制消息)


总结
到此这篇关于python实现QQ定时发送新年祝福信息的文章就介绍到这了,更多相关python QQ定时发送内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













