{"id":18975901,"url":"https://github.com/guoxiangke/wechaty-nuxt","last_synced_at":"2026-04-12T10:43:16.872Z","repository":{"id":141986558,"uuid":"274688587","full_name":"guoxiangke/wechaty-nuxt","owner":"guoxiangke","description":null,"archived":false,"fork":false,"pushed_at":"2023-06-21T23:14:04.000Z","size":2107,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-01T09:24:41.377Z","etag":null,"topics":["koa","nuxt","sequelize","socket-io","tyepscript","vue","wechaty"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/guoxiangke.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2020-06-24T14:22:57.000Z","updated_at":"2020-09-26T23:26:09.000Z","dependencies_parsed_at":"2024-11-08T15:23:25.730Z","dependency_job_id":"fab32824-cc73-44c5-baf3-16189053ebba","html_url":"https://github.com/guoxiangke/wechaty-nuxt","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guoxiangke%2Fwechaty-nuxt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guoxiangke%2Fwechaty-nuxt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guoxiangke%2Fwechaty-nuxt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guoxiangke%2Fwechaty-nuxt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guoxiangke","download_url":"https://codeload.github.com/guoxiangke/wechaty-nuxt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239978057,"owners_count":19728271,"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":["koa","nuxt","sequelize","socket-io","tyepscript","vue","wechaty"],"created_at":"2024-11-08T15:21:20.599Z","updated_at":"2025-12-30T22:57:41.047Z","avatar_url":"https://github.com/guoxiangke.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nuxtChat (Typescript)\n\n[![Powered by Wechaty](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg)](https://github.com/chatie/wechaty)\n[![Wechaty开源激励计划](https://img.shields.io/badge/Wechaty-开源激励计划-green.svg)](https://github.com/juzibot/Welcome/wiki/Everything-about-Wechaty)\n\n基于 nuxt, wechaty 开发的个人微信号机器人 UI 平台 @see https://github.com/beclass/wxbot.git\n\n\u003e Typescript Version of UI bot\n\n## Todo\n\nhttp://localhost:3000/conversation\n\n- [x] 消息 UnreadCount reset\n- [x] 发送文件和表情\n- [ ] More info =\u003e 常用客服回复 一键发送\n- [ ] scrollToBottom when new message\n- [ ] error page.vue 美化\n- [ ] login 使用弹窗\n- [ ] CURD of config\n- [ ] is starting...\n- [x] 消息类型展示-图片\n- [ ] 消息类型展示-语音\n- [ ] 消息类型展示-语音转文字\n- [ ] 消息操作-快捷回复\n- [ ] 消息操作-回复图片\n- [ ] 消息操作-回复录音\n- [x] 联系人展示-群组\n- [ ] Last Reader/ Last Reader At by conversation/contact.\n- [x] 给谁发消息后 last message，谁应该在 list 上面（类似于 star 星标）\n- [x] Koa\n- [ ] onLogout 退出\n- [ ] 入群管理 begin\n- [ ] 踢群\n- [ ] botUser 回复内容给 群/好友 记录到数据库 bot.say(wechaty, receiver, content{type:'',data:''})\n\n## Get Started\n\n- 1. npm install\n- 2. cp .env.example .env \u0026\u0026 vi .env\n- 3. cp ./server/models/imports/\\*.example cp ./server/models/imports/\\*\n- 4. ts-node server/models/imports/init.ts \u0026\u0026 npm run dev\n- 5. curl http://127.0.0.1:3000/api/bots/1/login\n\n## Deploy on production\n\n- cp .env.example .env \u0026\u0026 vi .env\n- docker-compose up -d\n- docker-compose exec app /usr/src/app/node_modules/.bin/ts-node server/models/imports/init.ts\n\n## Documents\n\n- https://sequelize.org/master/manual/model-basics.html\n- https://wechaty.js.org/v/zh/api/message#message-from-contact\n-\n\nhttps://wechaty.js.org/v/zh/api/\nhttps://github.com/wechaty/wechaty/issues\nhttps://github.com/wechaty/wechaty-puppet-padplus/issues\n\n## Done\n\n### Features\n\n- [x] 自动转发(万群群发)\n\n  - [x] 配置： ./server/models/imports/autoforward.json\n  - [x] 某联系人的信息都转发到另外一个/多个联系人（个人到个人）\n  - [x] 某联系人的信息都转发到另外一个/多个群（个人到群）\n  - [x] 某群的指定群成员信息都转发到另外一个/多个群/联系人（群到群，群到个人）\n  - [x] 万群群发, 某指定群名的内容，群发给 bot 的所有群\n        某个群（群名：process.env.FORWOARD_ALL=万群群发）的所有成员发送的信息，都转发到 bot 的所有群\n  - [x] 支持的类型：纯文本，表情（转发后变成文件了），\n\n- [x] 关键词（正则匹配）自动回复\n\n  - [ ] 后台 UI 配置 关键词\n  - [x] 全局功能开关\n        可以通过 回复 #on | #off 给 bot 开启和关闭\n        配置： bot.config.autoReply = true\n    - [x] 回复 群名称 拉你入群，默认开启 bot 创建的群\n    - [ ] 后台 UI 配置\n  - [ ] 群开关\n        room.config.autoReply = false\n\n  - [x] 回复文本 【ping】\n  - [x] 回复本地 mp3\n  - [x] 回复本地/远程（可 URL 链接） mp4\n  - [x] 回复本地 image\n  - [x] 回复本地/远程 文件 attachment\n    - [x] 远程 mp3 链接 将作为附件发送\n  - [x] 回复用户名片\n  - [x] 回复链接 link\n\n- [x] 已有指令提醒\n      回复任意无法处理的信息，将回复 defaultReply\n- [x] 保存消息记录（个人和已配置的群）\n      room.config.logMsg = true\n- [x] 关键词入群（按群名/配置）\n- [x] 定时任务\n\n  - 定时发送/群/联系人\n  - [x] 自定义配置\n    - [x] 配置文件 ./bot/config/schedule.json\n    - [ ] schedule config reload!\n  - [x] 定时发送本地 mp3\n  - [x] 定时发送本地 mp4 需要安装 ffmpeg，见 Dockerfile\n  - [x] 定时发送规则\n\n    - [x] 按文件个数 count (如循环发送 001.mp3~150.mp3)\n    - [x] 按日期 date (如循环发送 0101.mp4~1231.mp4)\n\n- [x] bot 收到加群邀请，自动入群\n- [x] bot 自动加好友请求\n  - [x] 通过后，欢迎信息 bot.config.welcomeMsg = 'welcome'\n\n### Backend\n\n- [x] 消息存储到 DB\n  - [x] room.config.logMsg = true\n  - [x] files 存储到 files/msg/ 并 md5 去重\n- [x] BE auth Middleware\n- [x] FE auth Middleware\n- [x] Login \u0026 Logout with koa-passport + session\n\n## Build Setup (Nuxt)\n\n```bash\n# install dependencies\n$ npm install\n\n# serve with hot reload at localhost:3000\n$ npm run dev\n\n# build for production and launch server\n$ npm run build\n$ npm run start\n\n# generate static project\n$ npm run generate\n```\n\nFor detailed explanation on how things work, check out [Nuxt.js docs](https://nuxtjs.org).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguoxiangke%2Fwechaty-nuxt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguoxiangke%2Fwechaty-nuxt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguoxiangke%2Fwechaty-nuxt/lists"}