open-index/open-npm huggingface dataset:
npm package: @qq-bot/core
Description: a qq-bot core base oicq
Author: Cansiny0320 <cansiny1220@gmail.com>
Latest version: 1.8.12

![qq-bot](<https://socialify.git.ci/Cansiny0320/qq-bot/image?description=1&descriptionEditable=%F0%9F%A4%96%20%E4%B8%80%E6%AC%BE%E6%8F%92%E4%BB%B6%E5%8C%96%E7%9A%84%20qq%20%E7%BE%A4%E6%9C%BA%E5%99%A8%E4%BA%BA%20%E4%B8%BB%E8%A6%81%E7%94%A8%E4%BA%8E%E9%87%8D%E5%BA%86%E9%82%AE%E7%94%B5%E5%A4%A7%E5%AD%A6(CQUPT)&font=Inter&logo=https%3A%2F%2Fcansiny.oss-cn-shanghai.aliyuncs.com%2Fimages%2F%25E6%259C%25BA%25E5%2599%25A8%25E4%25BA%25BA.png&owner=1&pattern=Charlie%20Brown&stargazers=1&theme=Light>)

## 🎉 插件

### 通用插件

- 关键字回复
  - 吃什么/什么没吃过
  - 二维码
- 关键字撤回
- 天气预报（提醒是否有雨）
- 复读禁言
- 查看热搜（不可用状态） / 每日播报一觉醒来发生了什么

### we 重邮相关插件

- 出校申请
- 一键离返校
- 每日健康打卡

### 掌上重邮相关插件

- 掌上重邮每日签到
- 教务在线新闻通知

## 其他插件

- b 站动态抓取

## 使用

> 首先应该知道的是，机器人会占用一个 QQ 号

1. 安装

   ```bash
   npm i @qq-bot/core
   ```

2. 启动

   调用 createBot 方法传入 qq 号、密码、qq 群号

   ```typescript
   import {createBot} from '@cansiny0320/qq-bot';
   const bot = createBot(123456, 'password', 654321);
   ```

3. 使用插件

   插件列表在`packages/plugins`目录下，使用方式为安装插件后使用`bot.use`安装插件，例如

   ```bash
   npm i @qq-bot/plugin-greet
   ```

   ```ts
   import {Greet} from '@qq-bot/plugin-greet';

   bot.use(Greet);
   ```

   注意：某些插件需要传入配置，请阅读对应插件 README 文件

4. 测试

   如机器人正常启动，则会自动在群聊发送“bot 启动成功”

## TODO

- [ ] 增加查询插件帮助文档的功能，例如 help 掌上重邮
- [ ] 增加查看已启用插件的功能
- [ ] 修复微博热搜功能
- [ ] 考虑使用本地文件方式存储已通知过的教务在线新闻
- [ ] 优化天气预报功能
- [ ] 课表功能（似乎不太需要）
npm package: @qq-bot/plugin-greet
Description: a plugin for greet
Author: Cansiny0320 <cansiny1220@gmail.com>
Latest version: 1.0.2

# greet

欢迎/对话 插件

## config example

```typescript
{
  reply: {
    '{QQ号}': ['{回复1}', '{回复2}'],
  },
}
```
npm package: @qq-bot/plugin-handle-cqupt
Description: a plugin for handle-cqupt
Author: Cansiny0320 <cansiny1220@gmail.com>
Latest version: 1.0.0

# 掌上重邮插件

## 功能

- 每日签到
- 每日邮票任务

## 配置

```typescript
{
  zscyAccounts: [
    {
      qq: 1213,
      stuNum: '学号',
      idNum: '登录掌上重邮的密码',
    },
  ],
}
```
npm package: @qq-guild-sdk/core
Description: qq guild sdk core lib
Author: yijie
Latest version: 2.2.2

# QQ Guild SDK core

qq 频道 SDK 核心库，目前还在开发中，如有问题 issue 汇报。

## 安装

```shell
yarn add qq-guild-sdk@core
# or
npm install qq-guild-sdk@core
```

## 使用

```js
import { Bot } from 'qq-guild-sdk@core'
// or
const { Bot } = require('qq-guild-sdk@core')

// 创建 bot
const bot = new Bot({
  app: {
    // 在机器人管理端的 app id
    id: '',
    // 在机器人管理端的 app secret
    key: '',
    // 在机器人管理端的 app token
    token: ''
  }
})

;(async () => {
  // api 请求
  // 获取当前机器人加入的频道列表
  const guilds = await bot.guilds
  console.log(guilds)
  // 启动 wss 连接服务，并设置本次连接权限
  await bot.startClient(Bot.Intents.PUBLIC_GUILD_MESSAGES | Bot.Intents.GUILDS)
  bot.on('ready', () => {
    console.log('Bot is ready.')
  })
  bot.on('message', async (msg) => {
    console.log(msg)
  })
})()
```

## 特点

* 自适应扩展请求 api ，只需要扩展接口即可
```ts
declare module '@qq-guild-sdk/core' {
  interface Api {
    newApi(id: string): Promise<Entity>
  }
}
// 用户可随意扩展该接口
bot.newApi('123')
```