想要实现的效果:
接受的消息自动转发到指定的qq群中(如果不加判断的话,则是将登录的qq号所接受的所有的消息转发到指定qq群中)
操作步骤
-
下载最新版qq
-
https://github.com/super1207/install_llob/releases 下载 exe,双击运行即可,之后打开 QQ 的设置,看到了 LLOneBot 就代表安装成功了。
-
qq设置中,LLOneBot选项卡中,启用HTTP事件上报,并添加上报地址http://localhost:8080/,退出保存
-
运行代码:
import requests
import uvicorn
from fastapi import FastAPI, Request
# 发送消息
def sendMessage(data,sender_list,target_id):
# 发送者的昵称
senderName = data['sender']['nickname']
# 只接受指定群聊或者用户的消息
if('group_id' not in data):
sender_id = data['user_id']
if(sender_list != [] and sender_id not in sender_list):
return
else:
senderName = '私发消息:'+ senderName
else:
sender_id = data['group_id']
if(sender_list != [] and sender_id not in sender_list):
return
else:
senderName = '群消息:'+ senderName
data2send = [{
'type': 'text',
'data': {
'text': '⭐⭐⭐'+senderName+'⭐⭐⭐\n'
}
}]
data2send = data2send+data['message']
requests.post('http://localhost:3000/send_group_msg', json={
'group_id': target_id,
'message': data2send
})
app = FastAPI()
# 要监听的消息来源(qq号或者群号)
# 不限制则设为空列表,数据元素为数字类型
sender_list = [123,456]
# 要发送的群号(需要设置可被搜索)
target_id = 12345
# 监听
@app.post("/")
async def root(request: Request):
data = await request.json() # 获取事件数据
print(data)
sendMessage(data,sender_list,target_id) # 要发送的数据,以及目标群号和监听号码
return {}
if __name__ == "__main__":
uvicorn.run(app, port=8080)
- 成功!
官网及参考
https://llob.napneko.com/zh-CN/