用wxBot和图灵机器人API实现微信群聊机器人
来源:互联网 发布:自建app软件 编辑:程序博客网 时间:2024/05/22 13:51
1 实现方案
用 wxBot登录微信,接收、发送微信消息。
用 图灵机器人 API对消息作回复。
2 实现效果
机器人会回复来自联系人的消息,以及群里@此账号的消息。
注意要将对应的群保存到联系人。
3 运行方法
- 下载wxBot, 安装python的依赖包。
- 在图灵机器人官网注册账号,申请图灵key: 图灵key申请地址
在bot.py文件所在目录下新建conf.ini文件,内容为(key字段内容为申请到的图灵key):
[main]key=1d2678900f734aa0a23734ace8aec5b1
- 运行bot.py
4 完整代码
bot.py
#!/usr/bin/env python# coding: utf-8from wxbot import *import ConfigParserimport jsonclass TulingWXBot(WXBot): def __init__(self): WXBot.__init__(self) self.tuling_key = "" try: cf = ConfigParser.ConfigParser() cf.read('conf.ini') self.tuling_key = cf.get('main', 'key') except Exception: pass print 'tuling_key:', self.tuling_key def tuling_auto_reply(self, uid, msg): if self.tuling_key: url = "http://www.tuling123.com/openapi/api" user_id = uid.replace('@', '')[:30] body = {'key': self.tuling_key, 'info': msg.encode('utf8'), 'userid': user_id} r = requests.post(url, data=body) respond = json.loads(r.text) result = '' if respond['code'] == 100000: result = respond['text'].replace('<br>', ' ') elif respond['code'] == 200000: result = respond['url'] else: result = respond['text'].replace('<br>', ' ') return result else: return u"知道啦" def handle_msg_all(self, msg): if msg['msg_type_id'] == 4 and msg['content']['type'] == 0: # text message from contact self.send_msg_by_uid(self.tuling_auto_reply(msg['user']['id'], msg['content']['data']), msg['user']['id']) elif msg['msg_type_id'] == 3: # group message if msg['content']['data'].find('@') >= 0: # someone @ another my_names = self.get_group_member_name(msg['user']['id'], self.user['UserName']) if my_names is None: my_names = {} if 'NickName' in self.user and len(self.user['NickName']) > 0: my_names['nickname2'] = self.user['NickName'] if 'RemarkName' in self.user and len(self.user['RemarkName']) > 0: my_names['remark_name2'] = self.user['RemarkName'] is_at_me = False text_msg = '' for _ in my_names: if msg['content']['data'].find('@'+my_names[_]) >= 0: is_at_me = True text_msg = msg['content']['data'].replace('@'+my_names[_], '').strip() break if is_at_me: # someone @ me snames = self.get_group_member_name(msg['user']['id'], msg['content']['user']['id']) src_name = '' if 'display_name' in snames: src_name = snames['display_name'] elif 'nickname' in snames: src_name = snames['nickname'] elif 'remark_name' in snames: src_name = snames['remark_name'] if src_name != '': reply = '@' + src_name + ' ' if msg['content']['type'] == 0: # text message reply += self.tuling_auto_reply(msg['content']['user']['id'], text_msg) else: reply += u"对不起,只认字,其他杂七杂八的我都不认识,,,Ծ‸Ծ,," self.send_msg_by_uid(reply, msg['user']['id'])def main(): bot = TulingWXBot() bot.DEBUG = True bot.conf['qr'] = 'png' bot.run()if __name__ == '__main__': main()
3 0
- 用wxBot和图灵机器人API实现微信群聊机器人
- 机器人api(图灵机器人)
- PHP图灵机器人问答机器人API调用代码实例
- 安卓实现智能聊天机器人(结合百度语音和图灵机器人)
- 智能聊天机器人之图灵机器人
- 项目总结与分析——基于图灵机器人API的聊天机器人
- 图灵机器人聊天api
- 图灵机器人API接入
- 图灵机器人api调用
- python 调用图灵机器人api实现简单的人机交互
- Delphi 实现 图灵机器人API(IDHTTP POST )
- okhttp+“图灵机器人API” 实现智能聊天
- 使用httpclient实现图灵机器人web api调用实例
- 专属个人的聊天机器人的实现——图灵机器人
- 树莓派语音聊天机器人(基于讯飞语音和图灵机器人)
- 百度大脑和图灵机器人制作一个简单的自动聊天机器人【PHP代码】
- wxBot微信机器人框架
- 介绍图灵机器人php API
- Masonry使用
- Android安全专项-Xposed劫持用户名密码实践
- EXP报错:exp-00003:未找到段(0,0)定义
- 图片转换
- 设计模式第二堂课
- 用wxBot和图灵机器人API实现微信群聊机器人
- 记一个Android Installer的bug
- 检测UDP端口占用状态的函数
- MapReduce常见计算模式
- 一个产品需要关注的指标
- 定义表的约束
- mac上使用生成RSA公钥和密钥
- mac电脑安装brew软件管理工具
- IDEA scheme设置