Giter VIP home page Giter VIP logo

wechatrobot's Introduction

微信机器人Java版

个人微信(非公众号)微信机器人,根据指令自动回复好友消息、群聊陪聊、查天气、查垃圾分类,基于ChatApi-WeChat构建。

设计理念

主要是想写一个群助手,作为在群里的工具使用。所以这个机器人响应的信息主要是以指令前缀开头的。考虑到国内手机输入法的习惯,默认指令前缀是两个问号,因为拼音9宫格的布局问号在快捷栏里,方便输入。
对于具体指令,希望汉字优先,缩写为主。


最近动态

  • fastjson1.2.58爆出重大漏洞,升级为1.2.60
  • 每日一句使用线程池调度,修复了之前使用Timer导致的调度稳定性差的bug
  • 新增查看每日新闻命令、查看知乎热榜命令。新功能必须开启redis才能使用。
  • 垃圾分类接入AToolBox接口。AToolBox的数据库更全一些,还有近似词提示,但是接口有点慢,而且必须开启Redis。如果没开启redis缓存,可以换回LAJIFENLEIAPP。
  • 新增Redis缓存,可将天气查询结果、垃圾分类查询结果缓存在Redis。如果自己没有Redis,可在配置文件中关闭缓存。关闭缓存不影响现有功能,但可能后续会更新一些依赖redis实现的功能。

配置及使用

需求环境:jdk 1.8+、Maven

全局配置文件是resource/config.properties
缓存配置文件是resource/redis.properties
程序入口:WechatBot.java
启动程序后打开控制台输出的二维码链接,并使用微信扫描。
提示:任何非官方途径登陆网页微信都有可能导致封停账号登陆网页微信的权限(不影响其他端的使用)。建议使用小号。

激活指令

默认的指令前缀是两个问号:??,中英文皆可。指令前缀+具体指令组成一条完整的指令。如北京天气是一条天气指令,??北京天气是一条完整的指令,当具有天气模式权限的群里有群成员发送??北京天气时,此机器人会自动回复当日北京天气信息。
指令前缀可在配置文件中自定义。

指令举例

A. 获取详情

??

B. 查天气

???
??天气
??北京天气
??海淀天气
??上海天气
??深圳天气

C. 查垃圾分类

???电池
???无汞电池
???塑料袋

D. 当日新闻

??新闻

E. 知乎热榜

??知乎
??知乎 1
??知乎2

1. 查询天气

程序监听相应群聊内容,当监听到以天气开始的语句便查询相应城市天气并自动发送到群聊。比如:北京天气北京市天气。只支持国内(大部分)市、区、县查询,不支持省。小部分地区由于接口数据丢失的原因不支持。
如果监听到?天气,会按发送人微信名片上的地址发送今日天气。

完整指令举例:

???
??天气
??北京天气
??上海天气
??海淀天气

2. 自动回复好友

将配置文件autoReplyFriend设为true,便自动回复好友消息。不会回复黑名单中好友。

3. AI陪聊

此功能默认只对白名单的群或好友开放。机器人会回复任何白名单的发送者的消息。
提示:免费的机器人都是人工智障,所以此功能建议作为测试、娱乐使用。

4. 查询垃圾分类

当一条指令(去除前缀后)以问号?/开头时,此指令为查询垃圾分类指令。输入具体垃圾查询垃圾分类。如???电池???无汞电池

完整指令举例:

???无汞电池
???电池
???塑料袋
???卫生纸

5. 每日一句

在配置中启用每日一句,可在指定时间向指定群发送当日天气和名言名句。当日天气使用的是api.WeatherApi,每日一句使用api.EveryDayHelloApi
如果当日配置的时间已经过了,则会从次日开始正常执行。
向好友发送消息尚未启用。

6. 查看实时新闻

??新闻

7. 查看知乎热榜

??知乎
??知乎 1
??知乎 3

数据来源

1. 青云客

智能机器人API:https://www.sojson.com/api/semantic.html
青云客天气API:https://www.sojson.com/api/weather.html

友情提示:人工智障在线陪聊,冷场利器、分手大师。

2. RollToolsApi

RollToolsApi:https://github.com/MZCretin/RollToolsApi

3. 每日一句

金山词霸: http://open.iciba.com/dsapi/

4. 垃圾分类

LAJIFENLEIAPP: http://lajifenleiapp.com/

AToolBox: http://www.atoolbox.net/Tool.php?Id=804

5. 知乎热榜

知乎日报:https://news-at.zhihu.com/api/6/news/hot

Acknowledgements

本项目离不开以下项目的灵感,在此对开发者表示感谢:

  • EverydayWechat
    微信助手:1.每日定时给好友发送定制消息。2.自动回复好友。 (Python)

  • xuxiaoxiao-xxx/ChatApi-WeChat
    Java版本微信聊天接口,使用网页微信API,让你能够开发自己的微信聊天机器人

License

Apache License 2.0

wechatrobot's People

Contributors

hhmm-xie avatar scorego 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

wechatrobot's Issues

登陆提示 登陆异常

java.lang.StringIndexOutOfBoundsException: String index out of range: -7 at java.lang.String.substring(String.java:1967) at me.xuxiaoxiao.chatapi.wechat.WeChatApi.webwxnewloginpage(WeChatApi.java:108) at me.xuxiaoxiao.chatapi.wechat.WeChatClient$WeChatThread.login(WeChatClient.java:729) at me.xuxiaoxiao.chatapi.wechat.WeChatClient$WeChatThread.run(WeChatClient.java:679) 2019-07-09 09:21:15.033 | W | Thread-0 | chatapi-wechat | 登录异常 String index out of range: -7

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.