Skip to main content

Easily to code qqoffcial bot.

Project description

Cocotst

Easily to code qqoffcial bot. .

🥥

PyPI Python Version Code style: black Imports: isort License pdm-managed

docs

docs

本项目仅支持 Webhook 事件推送

请自行反向代理 Webhook 服务器并添加 HTTPS

推送地址为 https://your.domain/postevent

请注意, 本项目未对 Webhook 所接收的数据进行校验,后期将会添加签名校验

Cocotst 依赖于 GraiaProject 相信它可以给你带来良好的 Python QQ Bot 开发体验.

安装

pdm add cocotst

poetry add cocotst

pip install cocotst

我们强烈建议使用 pdm / poetry 进行包管理

✨Features

Supports

  • ✅ C2C 消息接收发送
  • ✅ 群 消息接收发送
  • ✅ 媒体消息发送
  • ✅ 机器人加入退出群聊事件
  • ✅ 机器人在群中被开关消息推送事件
  • ✅ 机器人加入移除 C2C 消息列表事件
  • ✅ 机器人在 C2C 中被开关消息推送事件

TODO

以下特性有可能逐渐被添加

  • ⭕ Alconna
  • ⭕ 频道支持
  • ⭕ Markdown 消息支持
  • ⭕ 消息撤回
  • ⭕ Keyboard 消息支持
  • ARK, Embed 消息支持

结构目录

Cocotst
├── docs 文档
├── LICENSE 许可证
├── mkdocs.yml mkdocs 配置文件
├── pdm.lock 依赖锁
├── pyproject.toml 项目配置文件
├── README.md 说明文档
└── src 源码
   └── cocotst 
        ├── all.py 方便引用所有模块
        ├── app.py Tencent API 封装
        ├── config.py 各类配置文件
        ├── dispatcher.py 
        ├── event 事件模块
        │   ├── builtin.py 内置事件
        │   ├── message.py 消息事件
        │   ├── receive.py 开关推送事件
        │   └── robot.py Bot 位置事件
        ├── message 消息模块
        │   ├── element.py 消息元素
        │   ├── parser
        │   │   └── base.py 基础消息解析器
        ├── network 网络模块
        │   ├── model.py 数据模型
        │   ├── services.py 服务模型
        │   ├── sign.py 签名模块
        │   └── webhook.py Webhook 模块,负责接收 Tencent 发送的事件。处理后分发给各个事件处理器
        ├── services.py 服务模块
        └── utils.py 工具模块

开始使用

from cocotst.event.message import GroupMessage
from cocotst.network.model import Target
from cocotst.app import Cocotst
from cocotst.network.model import WebHookConfig
from cocotst.message.parser.base import QCommandMatcher

app = Cocotst(
    appid="",
    clientSecret="",
    webhook_config=WebHookConfig(host="0.0.0.0", port=2099),
    is_sand_box=True,
)

@app.broadcast.receiver(GroupMessage, decorators=[QCommandMatcher("ping")])
async def catch(app: Cocotst, target: Target):
    await app.send_group_message(target, content="pong!")

if __name__ == "__main__":
    app.launch_blocking()

讨论

Graia QQ 交流群: 邀请链接

QQ 群不定时清除不活跃成员, 请自行重新申请入群.

文档

API 文档 官方文档

如果认为本项目有帮助, 欢迎点一个 Star.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cocotst-0.0.4rc1.tar.gz (15.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cocotst-0.0.4rc1-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

Details for the file cocotst-0.0.4rc1.tar.gz.

File metadata

  • Download URL: cocotst-0.0.4rc1.tar.gz
  • Upload date:
  • Size: 15.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.18.0 CPython/3.12.4 Linux/5.10.0-29-amd64

File hashes

Hashes for cocotst-0.0.4rc1.tar.gz
Algorithm Hash digest
SHA256 97e3262dba3854b21ec347a99ffac1e9e99fb8883580b8beb4a940a10074be7f
MD5 41d3bbb8043423324682a79fd6c8d206
BLAKE2b-256 1cde9a6a0d1f3001724321037c07156f925670579d68500daba80d674f7e16d7

See more details on using hashes here.

File details

Details for the file cocotst-0.0.4rc1-py3-none-any.whl.

File metadata

  • Download URL: cocotst-0.0.4rc1-py3-none-any.whl
  • Upload date:
  • Size: 19.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.18.0 CPython/3.12.4 Linux/5.10.0-29-amd64

File hashes

Hashes for cocotst-0.0.4rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 ffee7f8050f6eb0fcb61ad725fb7e70788269a38b4feee8ff0faef12de3aed81
MD5 f0fb05df2543d6d3fa9a394fbd2ab874
BLAKE2b-256 6dd42f0da1edffea615794492c170c66e939823298587cbaf2c3acabc2db63a4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page