这是由idoknow维护的分支
一款为 go-cqhttp 的正向 WebSocket 设计的 Python SDK,支持纯 CQ 码与消息链的转换处理
在 kuriyama 的基础上改动
项目名来源于藍月なくる,图标由せら绘制
使用 pip install nakuru-project-idk
安装。
需要将 go-cqhttp 的正向 WebSocket 与 HTTP 配置项开启。
没有文档,源码就是文档。
from nakuru import (
CQHTTP,
GroupMessage,
Notify,
GroupMessageRecall,
FriendRequest
)
from nakuru.entities.components import Plain, Image
app = CQHTTP(
host="127.0.0.1",
port=6700,
http_port=5700,
token="TOKEN" # 可选,如果配置了 Access-Token
)
@app.receiver("GroupMessage")
async def _(app: CQHTTP, source: GroupMessage):
# 通过纯 CQ 码处理
if source.raw_message == "戳我":
await app.sendGroupMessage(source.group_id, f"[CQ:poke,qq={source.user_id}]")
# 通过消息链处理
chain = source.message
if isinstance(chain[0], Plain):
if chain[0].text == "看":
await app.sendGroupMessage(source.group_id, [
Plain(text="给你看"),
Image.fromFileSystem("D:/好康的.jpg")
])
@app.receiver("GroupMessageRecall")
async def _(app: CQHTTP, source: GroupMessageRecall):
await app.sendGroupMessage(source.group_id, "你撤回了一条消息")
@app.receiver("Notify")
async def _(app: CQHTTP, source: Notify):
if source.sub_type == "poke" and source.target_id == 114514:
await app.sendGroupMessage(source.group_id, "不许戳我")
@app.receiver("FriendRequest")
async def _(app: CQHTTP, source: FriendRequest):
await app.setFriendRequest(source.flag, True)
app.run()
欢迎 PR 代码或提交 Issue,项目现在还存在着许多问题。