GithubHelp home page GithubHelp logo

beclass / wxbot Goto Github PK

View Code? Open in Web Editor NEW
272.0 6.0 67.0 187 KB

微信机器人,个人微信号小助手平台, nodejs+nuxt + wechaty 技术栈

Home Page: http://94.191.126.174:8081

CSS 0.24% JavaScript 58.70% Vue 41.06%
nodejs wechaty nuxt nuxt-admin

wxbot's Introduction

wechat-robot

基于 nodejs,nuxt, wechaty 开发的个人微信号机器人平台,现代化 UI 和用户体验

Powered by Wechaty Wechaty开源激励计划

界面预览

  • 首页 首页
  • 后台管理 控制台 自动回复 我的好友 我的群聊 定时任务

在线实例

http://94.191.126.174:8081
用户名:guest 密码:111111

实现功能

  • 控制台
    • 绑定机器人
    • 登录
    • 自动通过好友验证关键词设置,当有人添加机器人时,关键词匹配后直接通过
    • 好友验证通过自动回复
    • 退出
  • 自动回复
    • 普通消息
      • 针对好友/某个群聊/所有群聊 设置关键词自动回复
    • 加群邀请
      • 机器人回复群聊列表,好友可以选择性进群
    • 踢人指令
      • 机器人识别指令,自动把成员移出群聊
  • 我的好友
    • 单独对某个好友送消息
  • 我的群聊
    • 群聊列表,管理所有群聊
    • 设置群聊名称,发布公告,发送群消息
    • 设置群聊基本信息,入群欢迎语,成员违规次数上限,是否受机器人控制
  • 定时任务
    • 针对好友/某个群聊/所有群聊设置定时任务,机器人在指定时间会触发消息推送
  • 智能聊天
    • 低智商对话
    • 成语接龙,查天气,查酒店,歇后语...

实际效果

首页

技术构成

快速开始

准备条件

安装 Node.js (v10 以上版本)、MongoDB
推荐安装 cnpm

安装依赖

$ cnpm i

本地单机插件版本

直接进入bot目录,也可将此目录单独移出至其他地方,修改配置文件config.js,再node index 启动即可

web版本

启动站点

  • 开发模式
$ npm run dev

打开浏览器,访问 http://localhost:3000/ 用户名密码: admin / 111111

  • 生产模式

先编译项目

$ npm run build

再启动站点

$ npm start

系统设置

根据实际情况修改 config.js 配置文件,修改后需要重启服务器才能生效。
参数说明:

host

String 类型,主机名,配置为 0.0.0.0 表示监听任意主机。

port

Number 类型,端口号。

mongoUrl

String 类型,MongoDB 链接。

secret

String 类型,JWT 秘钥。

tianApiKey

String 天行api秘钥

线上部署

使用PM2

推荐使用 pm2 进行 Node.js 的进程管理和持久运行。

安装

$ cnpm i -g pm2

启动

$ npm start

最后

有兴趣的朋友可以赏个star

还有很多待完善的功能,欢迎大家多给意见,一起学习。

好玩的东西总要先体验一把,扫码加我的小助手,验证消息写 机器人 即可直接通过啦,欢迎加群交流。

WechatIMG127

wxbot's People

Contributors

beclass avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

wxbot's Issues

关于数据库的选择,NoSQL or RDBMS

当初我在数据库和ORM选择,纠结到底是mongodb还是其他
最后选择的这个: Sequelize is a promise-based Node.js ORM for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server. It features solid transaction support, relations, eager and lazy loading, read replication and more.
开发时,使用 简便的SQLite,以后有需要很容易扩展或切换其他关系型数据库。

我看到现在咱们是用关系表,并没有设计mongodb的强项。
image
图片来源:https://www.cnblogs.com/clsn/p/8214194.html#auto-id-14 1.3.5 MongoDB的优势

至于Nosql类型的配置,一般我放在了配置文件中,动态变化的配置部分,有2个选项,redis或rocksdb,这个rocksdb时我从wechaty里发现他们用的/依赖的,而且非常强大,据说是 TiDB的根,无服务器文件存储,有点像SQLite,但是是key-value的。
可以参考:
image

Cannot find module 'local'

npm run dev

Error: Cannot find module 'local'
Require stack:

  • node_modules/@nuxtjs/auth/lib/module/index.js
  • node_modules/@nuxt/core/dist/core.js
  • node_modules/nuxt/dist/nuxt.js
  • server/index.js
    at ModuleContainer.resolveProvider

看起来是local文件,是否要调整配置或者编译什么,对nuxtjs不太熟悉,请指教,谢谢。

第二次免扫码登录

image
这个我自己安装上面的实现是可以的,但是咱们这个也是这么写的,却不起作用呢

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.