{"id":26418809,"url":"https://github.com/karinjs/karin-adapter-qqbot-sdk","last_synced_at":"2025-03-18T01:54:42.032Z","repository":{"id":238398047,"uuid":"796468327","full_name":"KarinJS/karin-adapter-QQBot-SDK","owner":"KarinJS","description":null,"archived":false,"fork":false,"pushed_at":"2024-05-29T08:05:08.000Z","size":46,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-05-29T19:35:47.058Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KarinJS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-06T02:04:01.000Z","updated_at":"2024-05-29T08:05:11.000Z","dependencies_parsed_at":"2024-05-08T04:29:03.643Z","dependency_job_id":null,"html_url":"https://github.com/KarinJS/karin-adapter-QQBot-SDK","commit_stats":null,"previous_names":["karinjs/karin-adapter-qqbot-sdk"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarinJS%2Fkarin-adapter-QQBot-SDK","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarinJS%2Fkarin-adapter-QQBot-SDK/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarinJS%2Fkarin-adapter-QQBot-SDK/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarinJS%2Fkarin-adapter-QQBot-SDK/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KarinJS","download_url":"https://codeload.github.com/KarinJS/karin-adapter-QQBot-SDK/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244141583,"owners_count":20404835,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-18T01:54:41.073Z","updated_at":"2025-03-18T01:54:42.024Z","avatar_url":"https://github.com/KarinJS.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 克隆仓库\n\nkarin根目录执行以下命令克隆仓库到本地\n\n```bash\ngit clone https://github.com/karinjs/karin-adapter-QQBot-SDK.git ./plugins/karin-adapter-QQBot-SDK\n```\n\n## 安装依赖\n\n```bash\npnpm install --filter=karin-adapter-qqbot-sdk\n```\n\n## 配置机器人\n\n```yaml\nQQBot:\n  - appid: '' # 这里必须要是字符串 tx.sb\n    secret: ''\n    sandbox: false\n    removeAt: true\n    logLevel: info\n    maxRetry: 10\n    type: 1 # 1=直接发 2=模板 3=原生 2需要配置custom_template_id 请填写纯数字\n    custom_template_id: \n    intents:\n      - GROUP_AT_MESSAGE_CREATE\n      # - C2C_MESSAGE_CREATE\n      # - GUILD_MESSAGES\n      # - PUBLIC_GUILD_MESSAGES\n      # - DIRECT_MESSAGE\n      # - GUILD_MESSAGE_REACTIONS\n      # - GUILDS\n      # - GUILD_MEMBERS\n      # - DIRECT_MESSAGE\n```\n\n## 配置图床\n\n\u003e 暂时只适配图片，可配置多个，上一个失败自动下一个...\n\n```js\nimport axios from 'axios'\nimport { common, plugin } from '#Karin'\n\n/** key获取地址：https://api.imgbb.com/ 登录后获取即可 */\nconst key = ''\n\n/** 上传后是否自动删除，单位秒 */\nconst expiration = '600'\n\nexport class UploadImage extends plugin {\n  constructor () {\n    super({\n      name: 'imgbb图床',\n      handler: [\n        {\n          key: 'QQBot.upload.Image',\n          fnc: 'image',\n          priority: 80\n        }\n      ]\n    })\n  }\n\n  async image (args, reject) {\n    const file = await common.base64(args.file)\n    const formData = new FormData()\n    formData.append('key', key)\n    formData.append('image', file)\n\n    if (expiration) formData.append('expiration', expiration)\n\n    // 重试2次\n    let res\n    for (let i = 0; i \u003c 2; i++) {\n      res = await this.uploadImage(formData)\n      if (res) break\n    }\n    if (!res) {\n      reject('[imgbb图床] 上传失败')\n      return false\n    }\n    return res\n  }\n\n  // 上传图片\n  async uploadImage (data) {\n    const url = 'https://api.imgbb.com/1/upload'\n    const res = await axios({\n      method: 'post',\n      url,\n      data,\n      headers: {\n        'User-Agent': 'PostmanRuntime-ApipostRuntime/1.1.0',\n        'Cache-Control': 'no-cache'\n      }\n    })\n    if (res.status === 200) {\n      const { data } = res.data\n      data.url = data.url.replace(/^https:\\/\\//, 'https://i0.wp.com/')\n      return data\n    }\n    return false\n  }\n}\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarinjs%2Fkarin-adapter-qqbot-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarinjs%2Fkarin-adapter-qqbot-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarinjs%2Fkarin-adapter-qqbot-sdk/lists"}