qq_bot教程(二)

本教程为上一教程延续,没有看的请先跳转(csdn​​​​​​icon-default.png?t=N7T8https://blog.csdn.net/A11223446/article/details/137214498

wordpress icon-default.png?t=N7T8https://daimile.lovestoblog.com/word/qq_bot%e6%95%99%e7%a8%8b%ef%bc%88%e4%b8%80%ef%bc%89/

本期需要用到的工具(本人使用Python 3.10.3)

python下载:

官网:https://www.python.org/downloads/

蓝奏云(包含3.10.3 64位和32位版):https://wwk.lanzouq.com/b00g24kbbg
密码:h199

2.开始实践之处理消息

python环境配置就不用我教了吧

1.安装requests,flask,gevent库

win+r打开cmd,输入pip install requests,安装requests库,再输入pip install flask ,再再输入pip install gevent如果报错,自己去找解决方法,网上一大堆bushi)

2.开始编程

打开ide或者编辑器如vs,新建一个python项目(太简单了不放图片)

新建python文件

输入以下代码:

from flask import Flask, request
from gevent import pywsgi

app = Flask(__name__)

headers = {
    'Content-Type': 'application/json'
}

@app.route('/', methods=["POST"])
def post_data():
       
    if request.get_json().get('message_type') == 'private':          # 如果是私聊信息
        QQ_name = request.get_json().get('sender').get('nickname')        # 发送者昵称
        QQ_id = request.get_json().get('sender').get('user_id')           # 发送者账号
        Xingxi_text = request.get_json().get('raw_message')               # 信息内容
        print("发的人的名字和id:"+str(QQ_id)+str(QQ_name)+"发的内容:"+Xingxi_text)
        
    if request.get_json().get('message_type') == 'group':            # 如果是群聊信息状态码
        # 获取需要的消息
        Qun_id = request.get_json().get('group_id')                       # 那个群发的
        QQ_name = request.get_json().get('sender').get('nickname')        # 发送者人的昵称叫啥
        QQ_id = request.get_json().get('sender').get('user_id')           # 发送者的QQ号
        Xingxi_text = request.get_json().get('raw_message')               # 发的什么东西
        print("发的群:"+str(Qun_id)+'\n'+"发的人的名字和id:"+str(QQ_id)+str(QQ_name)+"发的内容:"+Xingxi_text)
    return 'OK'

if __name__ == '__main__':
    server = pywsgi.WSGIServer(('127.0.0.1', 8080), app)       #8080为你yml文件设置的端口号
    server.serve_forever()

像是这样:

 

我们来逐段解析

from flask import Flask, request
from gevent import pywsgi

导入flask库和gevent(特别说明,gevent库是为了方便在不调试模式运行)

app = Flask(name)

引用flask创建一个应用

headers = {
'Content-Type': 'application/json'
}

设置访问头

@app.route('/', methods=["POST"])

启动应用

接下来讲解def post_data():内的代码

if request.get_json().get('message_type') == 'private': # 如果是私聊信息

if request.get_json().get('message_type') == 'group': # 如果是群聊信息

这两个判断检测是是群聊还是私聊

Qun_id = request.get_json().get('group_id') # 那个群发的

QQ_name = request.get_json().get('sender').get('nickname') # 发送者人昵称

QQ_id = request.get_json().get('sender').get('user_id') # 发送者的QQ号

Xingxi_text = request.get_json().get('raw_message') # 发的什么东西

传回服务器接收到的消息(这个是群聊的,私聊就是少了个群id其他都一样)

print("发的人的名字和id:"+str(QQ_id)+str(QQ_name)+"发的内容:"+Xingxi_text)

print("发的群:"+str(Qun_id)+'\n'+"发的人的名字和id:"+str(QQ_id)+str(QQ_name)+"发的内容:"+Xingxi_text)

处理完信息后打印处理后的信息

return 'OK'

这个是必要的,没有他可能会运行一次发两次消息(后面就会用)

if name == 'main':
server = pywsgi.WSGIServer(('127.0.0.1', 8080), app)
server.serve_forever()

返回消息到本地服务器,注意那个8080是你在yml里设置的端口号

就是这个:

- url: http://127.0.0.1:8080/ # 地址
secret: '' # 密钥

地址那行的8080

效果像是这样:

1-1.上一篇补充

如果安装上一篇yml配置启动会发现有bug,就是疯狂跳报错,那是因为作者的服务器崩掉了,要将yml里的这个改为-1:

heartbeat:
# 心跳频率, 单位秒
# -1 为关闭心跳
interval: -1

 

好了本篇文章就愉快的结束了

感谢观看 

(如需转载请联系作者)

原文链接:
https://daimile.lovestoblog.com/word/qq_bot教程(二)-2/(在新窗口中打开)icon-default.png?t=N7T8https://daimile.lovestoblog.com/word/qq_bot%e6%95%99%e7%a8%8b%ef%bc%88%e4%ba%8c%ef%bc%89-2/

  • 21
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值