微信机器人终端1.0未来的设想就是做成telegram一样强大的机器人群体集控终端

Bot console 是本人最近研发的一款项目,目前存放在github中
Bot console未来的设想就是做成telegram一样强大的机器人群体集控终端
在自定义机器人和脚本这块可以说是自由度非常高,当然对编程技术也有一定要求,有兴趣的可以一起开发和讨论,也感谢收听的观众支持


script下的脚本代码主要就是集成了指令,例如 /help /天气-北京 等,指令也在代码中详细的介绍
wx下的则是自定义的群机器人,目前有debug版本和后台版,可以自定义监控的群组
打包好的下载地址:zip下载
https://github.com/CJ-from-LosSantos/bot-console/releases/tag/%E5%8F%91%E5%B8%83

[Python] 纯文本查看 复制代码

?

001

002

003

004

005

006

007

008

009

010

011

012

013

014

015

016

017

018

019

020

021

022

023

024

025

026

027

028

029

030

031

032

033

034

035

036

037

038

039

040

041

042

043

044

045

046

047

048

049

050

051

052

053

054

055

056

057

058

059

060

061

062

063

064

065

066

067

068

069

070

071

072

073

074

075

076

077

078

079

080

081

082

083

084

085

086

087

088

089

090

091

092

093

094

095

096

097

098

099

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

from requests import request

class Spider:

    token = "EOk6j38PELxUwJy8"

    def __init__(self):

        self.headers = {'Content-Type'"application/x-www-form-urlencoded"}

    @staticmethod

    def other(key):

        url = f'https://cn.bing.com/search?q="{key}"&FORM=BESBTB'

        return f'😢没有该指令,已自动根据你的指令搜索到如下内容,请点击查看\n{url}'

    @staticmethod

    def what_to_eat_today(*args):

        """

        今天吃什么

        :docs: https://www.apispace.com/eolink/api/eat222/apiDocument

        """

        url = "https://eolink.o.apispace.com/eat222/api/v1/forward/chishenme"

        payload = {"size""3"}

        headers = {

            "X-APISpace-Token""zbxmug9fyd25pvq7b37urfl2yqm46f0g",

            "Authorization-Type""apikey"

        }

        result = request('GET', url, params=payload, headers=headers).json()

        if result['code'== 200:

            return f'亲~,今日推荐的食谱,三选一吧🥙:\n【{result["data"]}】'

        return 'api 错误或者失效了'

    def help_(self*args):

        return f'🚩 命令格式:/命令名称\n🚩 注意:命令带有下划线请忽略填写\n🚩 命令列表:{list(self.By.keys())}'

    def query_virus_cities(self, province, city=None, county=None):

        """

        疫情风险地区查询

        :docs: https://alapi.cn/api/view/106

        """

        url = "https://v2.alapi.cn/api/springTravel/risk"

        payload = {

            'token'self.token,

            'province': province,

            'city': city,

            "country": county

        }

        result = request('POST', url, params=payload, headers=self.headers).json()

        if result['code'== 200:

            if 10 len(result['config']['high_list']) > 0:

                high_list = result['config']['high_list']

                msg = ''.join(f"{row['area_name']} - ⛔ 高风险社区:{len(row['communitys'])}个\n" for row in high_list)

            elif city is None:

                msg = f"{province} ⛔ 存在高风险地区:{result['config']['high_count']}个\n"

            else:

                msg = f"{city} ⛔ 存在高风险地区:{result['config']['high_count']}个\n"

            msg = f"{msg}⚠ 存在中风险地区:{result['config']['middle_count']}个\n最新发布时间:{result['config']['end_update_time']}"

            return msg

        return 'api 错误或者失效了'

    def get_healthy_travel(self, from_, to):

        """

        出行防疫政策指南

        :docs: https://alapi.cn/api/view/87

        """

        return '该接口已取消'

        # table = City()

        # from_id = table.get_city_id(from_)

        # to_id = table.get_city_id(to)

        #

        # url = "https://v2.alapi.cn/api/springTravel/query"

        # payload = {

        #     'token': self.token,

        #     'from': from_id,

        #     'to': to_id

        # }

        #

        # result = request('POST', url, params=payload, headers=self.headers).json()

        # if result['code'] == 200:

        #     out_desc = result['config']['from_info']['out_desc']

        #     out_code_name = result['config']['from_info']['health_code_name']

        #     in_desc = result['config']['to_info']['low_in_desc']

        #     in_code_name = result['config']['to_info']['health_code_name']

        #

        #     return f"🌏 {from_}出站:\n📕 健康码:{out_code_name}\n🚆 {out_desc}\n🌏 {to}进站:\n📕 健康码:{in_code_name}\n🚆 {in_desc}\n"

    def get_weather(self, city=None):

        """

        国内天气查询

        :docs: https://alapi.cn/api/view/65

        """

        url = 'https://v2.alapi.cn/api/tianqi'

        payload = {

            'token'self.token,

            'city': city

        }

        result = request('POST', url, params=payload, headers=self.headers).json()

        if result['code'== 200:

            hour_list = result['config']['hour']

            msg = ''.join(f"⏰ {row['time'].split()[-1]} - {row['wea']} - {row['temp']}°\n" for row in hour_list)

            msg = f'今日早晨-明日早晨\n{msg}'

            return msg

        return 'api 错误或者失效了'

    def query_logistics(self, number):

        """

        快递查询

        :docs: https://alapi.cn/api/view/63

        """

        url = 'https://v2.alapi.cn/api/kd'

        payload = {

            'token'self.token,

            'number': number,

            'order''asc'

        }

        result = request('POST', url, params=payload, headers=self.headers).json()

        if result['code'== 200:

            new_state = result['config']['info'][-1]

            return f"⏰ 最新更新时间:{new_state['time']}\n📦 {new_state['content']}"

        return 'api 错误或者失效了'

    def get_news_to_day(self):

        """

        每日60秒早报

        :docs: https://alapi.cn/api/view/93

        """

        url = 'https://v2.alapi.cn/api/zaobao'

        payload = {

            'token'self.token,

            'format''json'

        }

        result = request('POST', url, params=payload, headers=self.headers).json()

        if result['code'== 200:

            image_url = result['config']['image']

            = request('GET', image_url).content

            filename = r'D:\GI\network-tools\images\zaobao.png'

            with open(filename, 'wb') as f:

                f.write(c)

            return filename

        return 'api 错误或者失效了'

    def oneiromancy(self, key):

        """

        周公解梦

        :docs: https://www.apispace.com/eolink/api/zgjm/guidence/

        """

        url = "https://eolink.o.apispace.com/zgjm/common/dream/searchDreamDetail"

        payload = {"keyword": key}

        headers = {

            "X-APISpace-Token""zbxmug9fyd25pvq7b37urfl2yqm46f0g",

            "Authorization-Type""apikey",

            "Content-Type""application/x-www-form-urlencoded"

        }

        result = request('POST', url, data=payload, headers=headers).json()

        if result['statusCode'== '000000':

            contents = result["result"]

            msg = ''.join(f'关键字:{key}\n内容:{c["content"]}' for in contents)

            return msg

        return 'api 错误或者失效了'

class BySpiderCommand(Spider):

    By = None

    def __init__(self):

        super().__init__()

        self.By = {

            'help'self.help_,

            'other'self.other,

            '疫情查询'self.query_virus_cities,

            '出行防疫'self.get_healthy_travel,

            '天气'self.get_weather,

            '快递'self.query_logistics,

            '早报'self.get_news_to_day,

            '吃东西'self.what_to_eat_today,

            '解梦'self.oneiromancy,

        }

 

使用方法

支持的微信版本下载 pc微信客户端

初始化

  1. 下载代码后解压

  2. 在有bot.exe的目录下进入终端,执行bot init test_robot

  3. 正常情况下初始化命令执行成功会生成了一些机器人启动的文件

启动

  1. 在有bot.exe的目录下进入终端,执行bot start test_robot

  2. 如果您没有登录pc端微信,他将会弹出登录窗口,扫描即可,随后机器人将管控您的微信

    1. 如果您已在pc端登陆,极有可能也会弹出扫码窗口,忽略即可
  3. 验证机器人是否成功,在包含被机器人管控的群组中输入/help发送,将会收到机器人回复

    1. 如果未收到回复,请尝试退出微信以启动机器人后弹出的扫码界面扫码进入

结束

  1. 在有bot.exe的目录下进入终端,执行bot close

其他自定义

  • 可以自定义脚本命令,参考script/spider.py文件格式,同时记得同步修改配置文件(yaml)

  • 可以机器人脚本,暂无参考

成品软件:https://download.csdn.net/download/china365love/86729328回复

举报

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/71093.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何用GPT轻松搞定一篇毕业论文。

大家好,我是五竹。心血来潮整理了一份手册:《ChatGPT学习指南》并且将为小白们持续更新和GPT相关的资源和教程,专注于打造一部最好的GPT入门指南,欢迎大家转发、收藏、点赞支持!谨防失联! 下面&#xff0c…

chatgpt赋能python:Python搜索引擎优化:如何搜索网站内容

Python 搜索引擎优化:如何搜索网站内容 随着数字化时代的到来,人们越来越依赖搜索引擎来获取他们所需的信息。当人们在搜索引擎上搜索内容时,他们希望看到相关、有用的信息。这意味着SEO(搜索引擎优化)已经成为了一个…

类ChatGPT模型ChatGLM-b6本地部署实践

国外ChatGPT火爆持续,前一段时间百度发布“文心一言”还没有全面放开测试,这不阿里“通义千问”又悄然而至,国内大模型AI产品渐渐浮出水面。早在2022年8月份时候清华大学的对话语言模型ChatGLM-6B就发布并开源,本文简要介绍ChatGL…

chatgpt赋能python:Python如何绑定登陆和主界面

Python如何绑定登陆和主界面 Python是一种开发Web应用程序的强大语言,被广泛运用于网站开发和应用程序开发,其可扩展性和丰富的开发库使得Python成为了Web开发的首选语言之一。在Web开发中,绑定登陆和主界面是一个非常重要的步骤&#xff0c…

北京内推 | 百度搜索策略部招聘NLP方向算法实习生(校招同步招收)

合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 百度 【百度核心部门——搜索策略部】搜索,二十余年百度的发展根基;…

科研实习 | 新加坡国立大学尤洋老师课题组招收Data-centric AI科研实习生

合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 新加坡国立大学 新加坡国立大学(National University of Singapore)&#xff0c…

北京内推 | 微软亚洲研究院数据知识智能组招聘大模型研究实习生

合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 微软亚洲研究院 与MSRA Data Knowledge Intelligence组的科学家一起探索前沿最先进大模型&a…

错别字检查软件与人工校对:如何兼顾准确性和效率?

错别字检查软件和人工校对各有优劣,在兼顾准确性和效率方面需要结合实际情况进行选择和应用。以下是一些建议: 1.利用错别字检查软件:错别字检查软件可以帮助我们快速检测和纠正拼写错误,从而提高效率。在一些重复性工作和大规模数…

论文校对错别字检测工具

论文校对错别字检测工具 2018-4-15 07:35:37 论文校对错别字检测工具 盼望着,盼望着,东风来了,春天的脚步近了。毕业季也到来了。 高校中的芸芸学子们也忙着准备找工作、开始准备写毕业论文了。 毕业论文是学习路上的阶段性总结,标志性的报告。如果毕业论文中出现…

chatgpt赋能python:Python实现错别字纠正的重要性与方法

Python实现错别字纠正的重要性与方法 作为一种强大的编程语言,Python已经广泛应用于各行各业。其中,Python实现错别字纠正技术是非常重要的,它可以有效提升企业在线文本的质量和可读性。这篇文章将会介绍Python实现错别字纠正的重要性和方法…

中文汉字错别字纠错方法

前记 本文简单地讲解如何使用n-gram模型结合汉字拼音来作中文错别字纠错,然后介绍最短编辑距离在中文搜索纠错方面的应用;最后从依赖树入手讲解如何作文本长距离纠错(语法纠错),并从该方法中得到一种启示,利…

免费错别字检测、在线纠错工具

爱校对 依托清华大学人机交互实验室的技术成果 针对错别字、多字、少字、敏感词、禁用词、用法错误、表述错误、语法错误等可实时校对。 爱校对 在线校对网站http://www.ijiaodui.com 在新闻出版、自媒体等多个领域,因为错别字、敏感词汇等引起的文本错误非常频繁…

《XrayGLM:基于VisualGLM-6B微调训练对X光胸片进行医学诊断》学习分享与本地项目微调部署实践

XrayGLM据说是首个会看胸部X光片的中文多模态医学大模型,我最近也是因为关注这个所以就找时间学习了一下,顺便把学习资料对应记录分享一下。 官方提供了开源的项目,地址在这里,如下所示: 最近,通用领域的大…

【心理咨询师考试笔记】基础理论(一)——心理学概论

心理学概论 文章目录 心理学概论一、绪论1.基础心理学的研究对象及研究内容是什么?2.心理包括什么?3.心理现象发生发展的过程4.心理学发展简史 二、心理活动的生理基础1.神经元2.神经系统(1)神经系统结构(2&#xff09…

【心理咨询师考试笔记】基础理论(六)——心理咨询概论

心理咨询概论 文章目录 心理咨询概论一、概述简史基本概念心理咨询师应有的思维方式与态度心理咨询师应具备的条件 二、精神分析理论观点分区观点结构观点心理动力观点发展观点适应观点 三、行为主义理论观点行为主义心理学的先驱操作性条件反射和应答性条件反射的区别内隐与外…

【心理咨询师考试笔记】操作技能(二)——心理评估

心理评估 文章目录 心理评估一、概述二、心理评估在心理咨询中的作用三、心理评估的方法四、个案概念化五、心理诊断技能一:初诊接待与资料的搜集、整理二:初步诊断 六、心理测验技能人格测验类问卷明尼苏达多相人格测验(MMPI)卡特…

为本教育柳春丽心理咨询师擅长哪些方面领域

柳春丽老师-为本教育心理咨询师-国家二级心理咨询师擅长领域如下: 1、情绪问题咨询: (如自卑、内疚、焦虑、恐惧、愤怒、悲伤等)的调节。 2、个人成长咨询: 内向孤僻、缺乏自信、敏感多疑、性格缺陷、人际关系紧张…

【Claude2体验】继ChatGPT,文心一言,Bing等大模型后,初次对话Claude2的体验

文章目录 🌺注意事项🤖什么是Claude2⭐与之前版本的进步🛸官网的讲解🍔功能介绍🎄使用体验🎆查看不知道如何才能打开的文档 的内容🎆日常需求✨Claude✨ChatGPT3.5 🤖总结 &#x1f…

Docker网络

文章目录 一、引言二、网络原理2.1 Linux veth pair2.2 虚拟网卡Docker0 三、容器互联–Link四、网络模式五、container模式六、自定义网络4.1 创建网络4.2 Docker网络驱动程序和网络模式区别 七、网络连通八、常见使用命令九、总结十、参考资料 一、引言 一直拖着Docker网络这…

微软AI太会了,示爱威胁PUA!

微软在以ChatGPT为基础的最新搜索引擎New Bing在公测仅一周后就引发了人们的担忧和恐惧。用户反馈,New Bing不仅会表现出类似示爱、PUA和威胁人类等人类特有的行为,还可能超越人类意志和价值观,并违反“阿西莫夫的机器人三定律”。这引起了人…