Skip to main content

# go-cqhttpSDK

Project description

go-cqhttpSDK

——依赖于go-cqhttp,需要先正确安装并运行,使用HTTP协议,使你更方便的请求go-cqhttpAPI

使用方法:

  1. go-cqhttpSDK下载go_cqhttpsdk.py并引入或者pip install go_cqhttpsdk (https://pypi.org/project/go_cqhttpsdk/) 推荐使用前者的方法来下载此包
  2. 实例化sdk方法 sdk = go_cqhttpsdk.sdk
  3. 设置API的url地址 sdk.url = 'http://127.0.0.1:5700'
  4. 开始使用
  5. 例子:
import go_cqhttpsdk as sdk
sdk = sdk.sdk()
sdk.url = "http://127.0.0.1:5700"
sdk.发送私聊消息(3192145045,'','你好')
sdk.send_private_msg(3192145045,'','hello shizhi')

CQ码生成例子:

import cq as cq
cqs = cq.cqc()
print(cqs.图片('aa.jpg',0,0,'http://aaa.aa'))

###HTTP接收信息的例子:

import go_cqhttpserver as server

a = server.apiserver()
a.main_f = 'a.main()'  #设置每次服务器被访问时运行的函数
a.communication_f = 'a.communication()'  #设置通讯用函数,用来把收到的信息发出去
a.c_port = 8980  #端口
a.c_listen = 100  #最大连接数
a.go()  #启动服务器
#a.data是实时获取到的消息
>>>

运行后启动示例的客户端,配置参考底部

import socket
# 创建客户端套接字
sk = socket.socket()           
# 尝试连接服务器
sk.connect(('127.0.0.1',8980))
while True:
    # 信息发送
    # 信息接收
    ret = sk.recv(1024)
    # 结束会话
    if ret == b'bye':
        sk.send(b'bye')
        break
    # 信息打印
    print(ret.decode('utf-8'))
# 关闭客户端套接字
sk.close()   

>>>
返回json数据

感谢:requests,go-cqhttp,tencent

小提示:配置文件config.yml内容

account: # 账号相关
  uin: # QQ账号
  password: '' # 密码为空时使用扫码登录
  encrypt: false  # 是否开启密码加密
  status: 0      # 在线状态 请参考 https://docs.go-cqhttp.org/guide/config.html#在线状态
  relogin: # 重连设置
  delay: 3   # 首次重连延迟, 单位秒
  interval: 3   # 重连间隔
  max-times: 0  # 最大重连次数, 0为无限制

  # 是否使用服务器下发的新地址进行重连
  # 注意, 此设置可能导致在海外服务器上连接情况更差
  use-sso-address: true

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

message:
  # 上报数据类型
  # 可选: string,array
  post-format: string
  # 是否忽略无效的CQ码, 如果为假将原样发送
  ignore-invalid-cqcode: false
  # 是否强制分片发送消息
  # 分片发送将会带来更快的速度
  # 但是兼容性会有些问题
  force-fragment: false
  # 是否将url分片发送
  fix-url: false
  # 下载图片等请求网络代理
  proxy-rewrite: ''
  # 是否上报自身消息
  report-self-message: false
  # 移除服务端的Reply附带的At
  remove-reply-at: false
  # 为Reply附加更多信息
  extra-reply-data: false
  # 跳过 Mime 扫描, 忽略错误数据
  skip-mime-scan: false

output:
  # 日志等级 trace,debug,info,warn,error
  log-level: warn
  # 日志时效 单位天. 超过这个时间之前的日志将会被自动删除. 设置为 0 表示永久保留.
  log-aging: 15
  # 是否在每次启动时强制创建全新的文件储存日志. 为 false 的情况下将会在上次启动时创建的日志文件续写
  log-force-new: true
  # 是否启用 DEBUG
  debug: false # 开启调试模式

# 默认中间件锚点
default-middlewares: &default
  # 访问密钥, 强烈推荐在公网的服务器设置
  access-token: ''
  # 事件过滤器文件目录
  filter: ''
  # API限速设置
  # 该设置为全局生效
  # 原 cqhttp 虽然启用了 rate_limit 后缀, 但是基本没插件适配
  # 目前该限速设置为令牌桶算法, 请参考:
  # https://baike.baidu.com/item/%E4%BB%A4%E7%89%8C%E6%A1%B6%E7%AE%97%E6%B3%95/6597000?fr=aladdin
  rate-limit:
    enabled: false # 是否启用限速
    frequency: 1  # 令牌回复频率, 单位秒
    bucket: 1     # 令牌桶大小

database: # 数据库相关设置
  leveldb:
    # 是否启用内置leveldb数据库
    # 启用将会增加10-20MB的内存占用和一定的磁盘空间
    # 关闭将无法使用 撤回 回复 get_msg 等上下文相关功能
    enable: true

# 连接服务列表
servers:
  # 添加方式,同一连接方式可添加多个,具体配置说明请查看文档
  #- http: # http 通信
  #- ws:   # 正向 Websocket
  #- ws-reverse: # 反向 Websocket
  #- pprof: #性能分析服务器
  # HTTP 通信设置
  - http:
      # 服务端监听地址
      host: 0.0.0.0
      # 服务端监听端口
      port: 5700
      # 反向HTTP超时时间, 单位秒
      # 最小值为5,小于5将会忽略本项设置
      timeout: 5
      # 长轮询拓展
      long-polling:
        # 是否开启
        enabled: false
        # 消息队列大小,0 表示不限制队列大小,谨慎使用
        max-queue-size: 2000
      middlewares:
       <<: *default # 引用默认中间件
      # 反向HTTP POST地址列表
      post :
      #- url: '' # 地址
      #  secret: ''           # 密钥
      - url: 'http://localhost:5000/' # 地址
      secret: ''          # 密钥

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

go_cqhttpsdk-1.1.0.tar.gz (19.6 kB view hashes)

Uploaded Source

Supported by

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