DingTalk 到 Notion:高效中转内容消息

2023-11-10 12:10

本文主要是介绍DingTalk 到 Notion:高效中转内容消息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

最近写了一个简单的小工具。

由于每天需要记录的内容链接比较多,所以想通过 im 做中转。例如当天我发给机器人一些消息,最后会记录到 notion 一个文档中。

效果

目前只实现了 dingtalk to notion.

在这里插入图片描述
notion

说明

为什么使用 notion?

我对 notion 其实使用不多,notion 刚好是比较满足需求的,database 自带搜索功能,每一行都是一个 page,还有 notion api 可以调用,并且免费 plan 正常是够用的。

为什么暂时只实现了 dingtalk 的?

dingtalk 机器人功能支持了 stream 模式,stream 模式的好处主要有本地调试方便、部署简单等,详细可以参考 Stream模式优势

目标群体?

有类似需求的用户,目前配置比较繁琐,可能需要一点点开发小知识。

配置

前置依赖

1、notion 账号,创建集成(integrations)

如果你还没有 notion 账号,请自行进行相关账号注册。

为了调用 notion api,我们需要创建一个集成或者说叫 integration,成功注册账号之后,访问 my-integrations 进行创建

  • 点击 “New intergration”
  • 填写 Name,点击 “Submit”
  • 会跳转到 Secrets 页面,点击 “Show”,再点击 “Copy”,注意保存这个 secret,后续会用到

创建好 intergration 之后,需要回到 notion 主页,然后通过我创建的 notion 模版 复刻一个文档出来。

在这里插入图片描述

复刻完成之后,我们需要将此文档和上面创建好的 intergration 进行关联,或者说叫 add connections,通过 add connections 之后,后续这个 intergration 才有访问此文档以及此文档下所有子文档的权限。

在这里插入图片描述

最后,我们需要把此文档在浏览器上面的地址中的中间的一串有数字和字母组成的值给复制出来,我们称这个为文档的 ID

在这里插入图片描述

2、dingtalk 账号,需要创建属于自己的组织。

假定你已经创建好了属于自己的组织,接下来到"dingtalk 开放平台",在应用开发页面,点击"创建应用",填写应用名称和应用描述,其他不变。

应用创建好之后, 在"应用功能"-“机器人与消息"推送部分,打开"机器人配置”,填写必要的信息,消息接受模式选择 “Stream 模式”,点击调试,如果正常的话,会自动创建一个 dingtalk 群出来。

完成上一步之后,回到"基础信息"-“应用信息”,在应用凭证栏,可以看到 AgentId、AppKey、AppSecret 三个值,我们需要把 AppKey 和 AppSecret 保存下来。

3、保存好 notion 以及 dingtalk 相关凭证之后,接下来需要安装 docker 进行部署。

各种环境下的 docker 中文安装教程,官网教程

安装好 docker 之后,接下来只需要使用一行命令即可部署 im-to-notion 服务。

docker run -itd \-e LOG_LEVEL=info \-e LOG_OUTPUT=stdout \-e DINGTALK_APP_KEY=${DINGTALK_APP_KEY} \-e DINGTALK_APP_SECRET=${DINGTALK_APP_SECRET} \-e NOTION_SECRET=${NOTION_SECRET} \-e NOTION_DATABASE_ID=${NOTION_DATABASE_ID} \--name im-to-notion ghcr.io/ronething/im-to-notion:0.0.2

其中 ${} 花括号为需要设置环境变量的位置,如果你不知道什么是环境变量设置,也可以不用管。

将 ${DINGTALK_APP_KEY} 替换为之前保存的 dingtalk 应用 appKey,

将 ${DINGTALK_APP_SECRET} 替换为之前保存的 dingtalk 应用 appSecret,

将 ${NOTION_SECRET} 替换为之前保存的 notion 集成 secret,

将 ${NOTION_DATABASE_ID} 替换为之前保存的 notion 文档 id。

如果你已经正常部署,可以通过 docker logs 看到类似如下的日志消息:

$ docker logs -f im-to-notion 
2023-09-03T16:36:57Z	info	app/app.go:42	connect success, sessionId=[19049x85-xxxx-xxxx-af68-fe38832b071b]

接下来就可以发送对应消息给 dingtalk 进行测试。

  • 示例一:

只发送文本或者链接

  • 示例二:

发送文本和链接

  • 示例三:

发送文本、链接、以及多行备注

最后

此工具功能相当简单,目前已基本满足我个人的需求,理论上也可以接入其他 im 或者相关软件。

代码已经进行开源:ronething/im-to-notion,欢迎共同维护。

这篇关于DingTalk 到 Notion:高效中转内容消息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/382590

相关文章

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

利用命令模式构建高效的手游后端架构

在现代手游开发中,后端架构的设计对于支持高并发、快速迭代和复杂游戏逻辑至关重要。命令模式作为一种行为设计模式,可以有效地解耦请求的发起者与接收者,提升系统的可维护性和扩展性。本文将深入探讨如何利用命令模式构建一个强大且灵活的手游后端架构。 1. 命令模式的概念与优势 命令模式通过将请求封装为对象,使得请求的发起者和接收者之间的耦合度降低。这种模式的主要优势包括: 解耦请求发起者与处理者

ActiveMQ—消息特性(延迟和定时消息投递)

ActiveMQ消息特性:延迟和定时消息投递(Delay and Schedule Message Delivery) 转自:http://blog.csdn.net/kimmking/article/details/8443872 有时候我们不希望消息马上被broker投递出去,而是想要消息60秒以后发给消费者,或者我们想让消息没隔一定时间投递一次,一共投递指定的次数。。。 类似

STL经典案例(四)——实验室预约综合管理系统(项目涉及知识点很全面,内容有点多,耐心看完会有收获的!)

项目干货满满,内容有点过多,看起来可能会有点卡。系统提示读完超过俩小时,建议分多篇发布,我觉得分篇就不完整了,失去了这个项目的灵魂 一、需求分析 高校实验室预约管理系统包括三种不同身份:管理员、实验室教师、学生 管理员:给学生和实验室教师创建账号并分发 实验室教师:审核学生的预约申请 学生:申请使用实验室 高校实验室包括:超景深实验室(可容纳10人)、大数据实验室(可容纳20人)、物联网实验