python控制小爱同学_从企业微信机器人到小爱同学,用 Serverless 实现生活智能化!...-程序员宅基地

技术标签: python控制小爱同学  

通过定时触发器,可以简单快速地定制一个企业微信机器人。我们可以用它来实现喝水、吃饭提醒等小功能,还能实现定时推送新闻、天气,甚至是监控告警的小功能。

使用企业微信机器人

在企业微信中,选择添加机器人:

之后,我们可以根据文档进行企业微信机器人的基础功能定制:

以下是用 curl 工具往群组推送文本消息的示例(注意要将 url 替换成机器人的 webhook 地址,content 必须是 utf8 编码):

curl '企业微信机器人地址' \

-H 'Content-Type: application/json' \

-d '

{

"msgtype": "text",

"text": {

"content": "hello world"

}

}'

通过 Python 语言实现:

url = ""

data = {

"msgtype": "markdown",

"markdown": {

"content": "hello world",

}

}

data = json.dumps(data).encode("utf-8")

req_attr = urllib.request.Request(url, data)

resp_attr = urllib.request.urlopen(req_attr)

return_msg = resp_attr.read().decode("utf-8")

此时,我们可以通过 Serverless Framework 部署一个机器人的基本功能,并且设置好 API 网关触发器:

index.py 文件如下:

import os

import json

import urllib.request

def main_handler(event, context):

url = os.environ.get("url")

data = {

"msgtype": "markdown",

"markdown": {

"content": "hello world",

}

}

data = json.dumps(data).encode("utf-8")

req_attr = urllib.request.Request(url, data)

resp_attr = urllib.request.urlopen(req_attr)

return resp_attr.read().decode("utf-8")

serverless.yaml 文件如下:

MyRobot_Base:

component: '@serverless/tencent-scf'

inputs:

name: MyRobot_Base

runtime: Python3.6

timeout: 3

codeUri: ./base_robot

description: 机器人推送接口

region: ap-guangzhou

environment:

variables:

url: webhook地址

handler: index.main_handler

memorySize: 64

tags:

app: myrobot

events:

- apigw:

name: MyRobot

parameters:

protocols:

- http

- https

description: 机器人推送接口

environment: release

endpoints:

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39637920/article/details/110756039

智能推荐

IDEA启动项目报错:Cannot open URL.Please check this URL is correct_idea启动tomcat项目提示open url-程序员宅基地

文章浏览阅读1w次,点赞9次,收藏5次。IDEA启动项目报错:Cannot open URL.Please check this URL is correct问题截图解决方法问题IDEA启动SSM项目,使用的Tomcat,报错 Cannot open URL.Please check this URL is correct截图解决方法将图中的端口号(红色部分)改为一致即可。..._idea启动tomcat项目提示open url

python小练习4:去掉列表中重复的元素_第4关:列表中的重复元素 1-程序员宅基地

文章浏览阅读7.7k次,点赞2次,收藏10次。题目:去掉列表中重复的元素分析:给定一个列表,怎么将其中重复的元素删除呢?1.只用循环的方法:思路:先从该列表中拿出第一个数(下标为0),再拿出第二个数(下标为1),进行比较,如果值相等,则把第二个数删掉。再拿出第三个数(下标为2),与第一个数比较,如果不相等,则继续取元素。以此类推: #coding:utf-8 li = [1,2,3,4,5,2,1,3,4,57,8,8,9]_第4关:列表中的重复元素 1

如何挖掘物联网的商业价值?-程序员宅基地

文章浏览阅读82次。物联网(IoT),智能硬件热火朝天, 真正解决了用户的痛点和行业痛点了吗?还是链接而链接智能而智能?就如下图:你会想要一个物联网的咖啡杯吗?不会吧!物联网(IoT)话题正热,它是时下最流行的趋势。你可能会认为世界上没有什么产品不需要以物联网来实现。然而,只因为有些事完成了,并不表示就应该这么做。当然,物联网的潜在价值主张是相当庞大的,它能够带动新公司...

如何批量归类文件,按自己批定位置保存_文件批量归类-程序员宅基地

文章浏览阅读873次。在表格A列上填写数字,数字顺序要从大到小填写进去 ,然后再输入公式=”按文件名称归类<>将文件名称:[{包含}]关键字:[{“&A1&”}]的文件移动到目标文件夹:[{F:\A\新建文件夹_”&A1&”}],执行前不删除原目标文件夹中的文件”。先来给大家看下目前文件是这样的,一个文件夹里面保存是图片 ,另一个文件夹保存是文档,我是需要一个图片对应一个文档,保存在同一个文件夹中。步骤5选下任务名称:按文件名称归类,将文件名称包含“41”文件“移动”目标文件夹:选择路径,再点添加本任务。_文件批量归类

Raft协议-程序员宅基地

文章浏览阅读221次。Raft协议_raft协议

程序员编程艺术:第三章、寻找最小的k个数_e:t∵n“?。‘:1;。::1f-程序员宅基地

文章浏览阅读10w+次,点赞25次,收藏277次。程序员编程艺术:第三章、寻找最小的k个数作者:July。时间:二零一一年四月二十八日。致谢:litaoye, strugglever,yansha,luuillu,Sorehead,及狂想曲创作组。微博:http://weibo.com/julyweibo。出处:http://blog.csdn.net/v_JULY_v。----------------------------------前奏_e:t∵n“?。‘:1;。::1f

随便推点

WordPress安装使用问题记录-程序员宅基地

文章浏览阅读94次。本文记录在使用WordPress过程中的问题和解决。安装比较顺利没有问题,具体如下(CentOS 6.5,DO的CentOS7 image里默认的yum源没有mysql-serve比较奇怪r):安装apache、mysql和phpyum install httpd mysql-server mysql php php-mysql下载wordpress安装...

探索Java设计模式:原理、应用与实践-程序员宅基地

文章浏览阅读9k次,点赞17次,收藏24次。Java设计模式的学习与实践对于提升软件开发水平具有重要意义。理解并熟练运用这些模式,可以帮助开发者编写出更易于维护、扩展、复用的高质量代码。然而,设计模式并非银弹,关键在于合理选择、适时运用。在实际项目中,应结合具体业务需求、技术栈特点及团队开发规范,权衡利弊,避免过度设计。持续探索、实践与反思,方能真正领略设计模式的魅力,成为更优秀的Java开发者。

Market Competition Data for Listed Companies 2022-2003 HHI Main Business Income Asset Owner‘s Equity-程序员宅基地

文章浏览阅读14次。主营业务 Main Business;主营业务 Main Business;主营业务 Main Business;勒纳 Lerner;勒纳 Lerner;勒纳 Lerner;

【Unity Shaders】Reflecting Your World —— 在Unity3D中创建一个简单的动态Cubemap系统...-程序员宅基地

文章浏览阅读225次。本系列主要参考《Unity Shaders and Effects Cookbook》一书(感谢原书作者),同时会加上一点个人理解或拓展。这里是本书所有的插图。这里是本书所需的代码和资源(当然你也可以从官网下载)。========================================== 分割线============================..._unity 怎么动态换cubemap

数据库----数据更新_当修改reader表元组的rno时,级联修改loan表中该读者的借阅记录。 (2)当删除reader-程序员宅基地

文章浏览阅读1.3k次,点赞2次,收藏8次。实验目的熟悉并掌握创建表,插入记录,查询记录,删除记录,修改记录。创建索引,删除索引。创建视图,使用视图,删除视图。实验内容仍然基于上次课程建立的小型图书借阅系统。如果使用实验室的机器完成实验,首先重做上次课的步骤1-4建立相应数据库。实验步骤(以用户CC的身份建立连接,并在此连接下执行后面的操作。)1、 查询记录:在Reader表中查询直接上司是“李四”的员工的名字SELECT rname from reader where rboss=’李四’;2、 修改记录:在Reader_当修改reader表元组的rno时,级联修改loan表中该读者的借阅记录。 (2)当删除reader

java毕业设计校园闲置物品交易平台mybatis+源码+调试部署+系统+数据库+lw-程序员宅基地

文章浏览阅读515次。java毕业设计校园闲置物品交易平台mybatis+源码+调试部署+系统+数据库+lw。springboot基于SSM框架的项目实训管理系统设计与实现。springboot基于JSP的企业办公管理系统设计与实现。ssm+sqlserver海城同泽中学图书仓库管理系统。ssm基于Web的医学院校大学生就业信息管理系统。ssm+sqlserver精品旅游项目管理系统。ssm基于HTML的寿光农产品的资源展示平台。ssm基于Java的摄影网上预约管理系统。ssm基于JavaWeb的好好吃查询系统。

推荐文章

热门文章

相关标签