All Projects → MyWechat → wechat

MyWechat / wechat

Licence: MIT License
又一个微信机器人

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to wechat

TeleChatRelay
Relay between Telegram and WeChat
Stars: ✭ 17 (-29.17%)
Mutual labels:  wechat-bot
pikachuwechat
PikachuWeChat: Play WeChat with itchat-uos.
Stars: ✭ 102 (+325%)
Mutual labels:  wechat-bot
wechat-link
🥕 微信公众号无法外链怎么办?一行代码搞定长按识别二维码。
Stars: ✭ 17 (-29.17%)
Mutual labels:  wechat-bot
wechat-api-examples
wechat-api examples, used java8.
Stars: ✭ 12 (-50%)
Mutual labels:  wechat-bot
Gochat
wechat bot
Stars: ✭ 30 (+25%)
Mutual labels:  wechat-bot
Wechat Api
🗯 wechat-api by java7.
Stars: ✭ 1,813 (+7454.17%)
Mutual labels:  wechat-bot

微信机器人

  • 只支持了文字消息收发

  • 目前不能以 daemon 方式运行

  • 只实现了微信收发的基本内核, 额外功能需扩展

使用方式

go get -u github.com/jialeicui/wechat
cd $GOPATH/src/github.com/jialeicui/wechat
go build

配置说明

config.json.example 拷贝为 config.json, 修改内容即可, 配置内容如下

{
  "base": {
    "admin": [
      "张三",
      "李四"
    ],
    "loglevel": "debug",
    "apiaddr": "127.0.0.1:8765"
  },
  "user": [
    {
      "username": "崔一万",
      "action": "/path/to/foo.py"
    }
  ],
  "default": "/path/to/bar.py"
}
  • admin, 管理员, 可以通过聊天方式下发命令, 目前只支持 help/start/stop, 可以单聊, 也可以在群聊里@
  • loglevel, 日志等级, 可配置为 debug/info/warn/error/fatal/panic
  • apiaddr, API 地址, 用于外部调用, 目前只支持 发送消息获取联系人, 调用方式都为 GET
    • 发送消息 apiaddr/send?to=xxx&content=xxx
    • 获取联系人 apiaddr/contact
  • user, 基于用户的脚本调用
  • default, 如果没有匹配到用户脚本, 默认调用的脚本

脚本使用说明 (被动逻辑)

可参考 demo/callback.py

  • 脚本接收一个序列化的 json 字符串参数, 解开之后可以获取到收到消息的详情
  • 脚本使用标准输出返回序列化的 json 字符串, 用于给用户反馈, 如果不需要反馈, 不输出即可

扩展示例 (主动逻辑)

扩展基本上是围绕发送消息的 API 开发, 一般做成 cron, 见 demo 目录 (需要自行安装依赖, 为了不污染开发环境, 建议使用 virtualenv 建一个测试环境)

  • smzdm 根据自定义规则推送商品信息

    使用时将 send_msg 调用地方填写为正确的昵称或者备注名称

  • event-notification 根据用户日历发送提醒

    • 接收人的地方需要改
    • get_calendar_content 中将读取日历内容的方式修改为直接读 webcal (只测试了 macOS 下的日历, 测试方式为建立一个公开日历, 将日历地址中的 webcal 替换为 https 即可)

致谢

开发过程参考了 https://github.com/liuwons/wxBot

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].