钉钉群聊机器人.go

来源于个人博客:https://agou-ops.cn


最近需要做一个钉钉群聊机器人,需求是:艾特该机器人并发送相应关键字,机器人会进行相应的自动回复。

通过钉钉开放平台·钉钉机器人的企业自建机器人官方文档以及网络上其他语言(Java,Python等)的钉钉机器人的实现,自己瞎编写出来了一个基础版本的小机器人。

奇怪的是用Golang来写的人很少,可能是官方的示例中没有Golang吧,虽然会一些Python,但是现在转学Golang了,故借此机会来巩固一下最近所学的一些东西😄 。

DingTalk_robot群聊机器人处理流程图:

DingTalk_robot
使用单独一个机器人也可以实现。

预先准备

首先需要自己创建一个测试公司(如若你是钉钉企业管理员的话,可忽略该步骤),创建流程很简单,这里我就不再赘述,详情参考:钉钉创建企业/组织/团队.

接下来进入钉钉开放平台,登录并选择自己上面创建的测试公司之后,点击右上角的开发者控制台,进入如下页面:

image-20211209095700036

依次点击,创建一个属于自己的机器人🤖,里面的应用名称应用描述应用图标随便填。

image-20211209100434862

创建完成之后,记录下AppSecret(后面计算sign校验会用到),然后⚠️重点来到开放管理页面,如下图所示:

image-20211209100749557

相关解释:

  • 服务器出口IP相当于白名单,也就是允许那些网段或者IP的人使用该机器人,可以限定为公司运营商的公网IP范围(不知道为什么设置了出口IP和没设置出口IP还有随便乱设置出口IP都可以使用); 输入调用钉钉服务端API时使用的IP即企业服务器的公网IP,多个IP请以英文逗号","隔开,支持带一个*号通配符的IP格式;
  • 消息接收地址:钉钉机器人服务器outgoing回调给开发者服务器的一个地址,需要特别注意的是,改地址需要公网IP地址,当然此处填写域名URL也是可以的。

权限管理,这个自己看看需要什么权限就加那些吧,本着最小权限的规则进行选择。

完成上面所有操作之后,在上面的版本管理与发布页面对自己创建的机器人进行调试或者发布,选择调试的话会给你个二维码,你可以直接用移动端钉钉扫码加如钉钉机器人测试群,选择发布的话,就可以在自己的测试公司添加机器人,详情参考:钉钉添加机器人到钉钉群

本地测试

在服务器上开发调试可不是一个好的选择,本地写好推送到服务器,如果频繁调试的话,也是非常的麻烦。

所以我推荐使用内网穿透,本地就可以直接进行开发和调试,内网穿透的教程参考我之前写的一篇博客,内网穿透工具…

直接贴一下我的fprsfrpc的配置文件好了:

# frps.ini 文件内容
[common]
bind_port = 5000
token = jSUSpHdC
dashboard_port = 5500
dashboard_user = admin
dashboard_pwd = admin
# frpc.ini 文件内容
[common]
server_addr = 121.36.1.255
server_port = 5000
token = jSUSpHdC[dingtalk_robot]
type = tcp
local_ip = 127.0.0.1
local_port = 8080
remote_port = 9999

使用ngrok的话,一条命令ngrok http 9999直接启动,然后将生成的URL填入上面的消息接收地址

代码编写

代码就没必要在这里大篇幅讲了,了解大概流程就可,虽然代码都是乱写的,但是我是一个讲究代码规范的人😂 ,代码里面都有很详细的注释,看不懂的可以提个issue。

所有代码以及Releases包已放到GitHub上,👉点击此处进行访问

效果示例

程序前台启动界面:

image-20211209135948692

日志文件写到了/var/log/dingtalk_robot.log,注意用户权限。

日志文件初步内容如下所示(分屏左边👈):

image-20211209142418519

钉钉群聊机器人自动回复界面:

  • ip关键字(消息类型Markdown):

image-20211209140912581

  • help关键字((消息类型Markdown):

image-20211209140952071

  • about关键字(消息类型ActionCard):

image-20211209141021944

  • 无关键字(消息类型Markdown):

image-20211209141048037

总结

目前虽只有获取公司公网IPv4这个功能,但天子驾二已成,未来不是想拉什么货就拉?xd. 😂 ,后续如果有其他需要的话,可以直接在此基础上进行添加。

Done.

参考文档

  • 钉钉企业自建机器人:https://open.dingtalk.com/document/robots/enterprise-created-chatbot?spm=ding_open_doc.document.0.0.3d6d24cb7j00JN#topic-2097982
  • 消息类型和数据格式:https://open.dingtalk.com/document/robots/message-types-and-data-format?spm=ding_open_doc.document.0.0.eaef2ccbpoeEEg#topic-2098229

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

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

相关文章

python操作钉钉机器人推送消息

群里面设置 使用关键词,必须要携带这个关键词才能调用这个机器人 下一步,这个就是操作这个钉钉机器人的接口 allure测试报告 关键词一定要写在 content字段里面 import jsonimport requestsdef dd_robot():HEADERS {"Content-Type": …

Python - 接入钉钉机器人

背景 想将 Python 爬下来的内容通知到钉钉 钉钉群聊机器人概述 所谓群聊机器人,指可以在群内使用的机器人,目前主要为 webhook 机器人和企业自建机器人两大类,另外通过场景群模板的方式,也可以预先配置好机器人并通过启用模板的方…

钉钉机器人怎么使用?钉钉机器人如何设置自动发送消息

在企业中,需要使用许多CRM系统,例如交易系统、监控报警系统等应用支撑着公司的核心业务流程;有时候也需要行政人事定时发送一些企业人文关怀、疫情通知等信息。通过钉钉的自定义机器人,可以将这些系统事件或消息自动发送至聊天群。…

开通与使用钉钉群机器人、企业微信等消息推送 [附API代码]

目录 开通方式 参考代码 使用示范 其他的 企业微信 TG Plusplus Server Server酱 开通方式 免费,有群就能开,任何用户都可开 官方文档:自定义机器人接入 - 钉钉开放平台 注意事项:用电脑版钉钉来开通,手机上…

前端 sentry 接入钉钉机器人

sentry 接入钉钉机器人 打开钉钉,添加机器人 此时会得到Webhook地址,记录一下,以后会用到 sentry 端设置 看看这里有木有钉钉插件,有的话开启插件,并配置这里我说一下没有的情况下,我们何如设置 这里需要填写webhook url 这个的url 需要是一个公网的地址,不可以是本地…

让服务器实时跟你报告 —— 钉钉机器人 企业微信机器人

写在前面 一入炼丹深似海,希望天下没有空闲的GPU 每次训练开始跑起来总是要不断看什么时候结束,永远副屏都要开着终端实时查看GPU占用情况 原本想着能不能服务器有空闲时给我发邮件提醒呢,简单搜索了一番发现了更优雅的解决方案 最终效果…

爬虫-接入钉钉机器人

前言 又间隔了好久都没发博客了,心血来潮来写写博客,今天就写一下用pthon实现钉钉群机器人自动发消息的功能吧,也就是通过去爬取数据,通过钉钉内置的群机器人去做一个自动通知的这么一个操作 钉钉机器人相关文档 链接: 钉钉群机…

Ruminococcus gnavus

Capsular polysaccharide correlates with immune response to the human gut microbe Ruminococcus gnavus 有趣的是,R. gnavus在克罗恩病患者短暂开花(10),并与多种其他免疫疾病有关如狼疮(11)&#xff…

小小的纳豆居然有这么多好处,难怪岛国人为它疯狂

纳豆,起源于中国古代,自秦汉(公元前221年-公元220年)以来开始制作,由黄豆通过纳豆菌(枯草杆菌)发酵制成豆制品,具有黏性,气味较臭,味道微甜,不仅保…

[文献分享] 父母炎症性肠病与儿童自闭症(国家登记数据队列研究、连锁不平衡分数回归、多基因风险评分、孟德尔随机化)

文献来源:Sadik A, Dardani C, Pagoni P, et al. Parental inflammatory bowel disease and autism in children. Nat Med. 2022;28(7):1406-1411. doi:10.1038/s41591-022-01845-9 目录 1.基本信息 2. 主要内容概览: 3. 主要结果 3.1. Study 1: Pare…

如何解读肠道菌群检测报告中维生素指标

​在谷禾肠道菌群健康检测中,我们会看到结果报告中关于维生素的评估如下: 摄入水平建议保持在70-80分之间最佳,如果单项指标低于5表明摄入比例在人群中属于最低的5%,评估为缺乏,如上图中维生素B2;低于15评估…

生命早期肠道微生物群与儿童呼吸道疾病之间的关联

谷禾健康 儿童呼吸系统疾病,包括呼吸道感染、反复喘息和哮喘,是儿童及其以后年龄发病和死亡的重要原因。 而哮喘是其中比较典型的一种,哮喘是全球最常见的慢性疾病之一,是一种复杂的、异质性的免疫介导的紊乱集合,以气…

肠道核心菌属——普拉梭菌F. prausnitzii,预防炎症的下一代益生菌

谷禾健康 Faecalibacterium prausnitzii(F. prausnitzii),普氏栖粪杆菌,又名:普拉梭菌,是人类肠道菌群中最重要的细菌之一,占健康人粪便样本中检测到的细菌总数的 5-15%,是丁酸的重要…

你想要的宏基因组-微生物组知识全在这(2023.3)

欢迎点击上方蓝色”宏基因组”关注我们! 宏基因组/微生物组是当今世界科研最热门的研究领域之一,为加强宏基因组学技术和成果交流传播,推动全球华人微生物组领域发展,中科院青年科研人员创立“宏基因组”公众号,联合海…

人类微生物组和缺失遗传力--读论文

读读论文,用谷歌学术翻译一下,重要的部分做一下笔记。正文部分是翻译,加黑部分是个人笔记。 本次学习的论文:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5468393/ 1. 摘要 “缺失遗传力”问题表明,全基因组关联…

IgA | 对抗病原菌,帮助共生菌定植的“重要开关”

导 语:关于抗体,免疫和微生物 肠道微生物群的组成因个体而异,肠道微生物群中的特定细菌类群可能是某些肠内外疾病的独特有效驱动因素。对人类而言,精准且优先识别影响疾病易感性和严重性的细菌仍然是一项重大挑战。 很多时候我们想…

随着年龄增长,我应该怎样对抗肌肉流失?

肌肉减少症,也称为肌肉损失,是一种常见疾病,影响 10% 的 50 岁以上成年人。 虽然它会降低预期寿命和生活质量,但你可以采取一些措施来预防甚至逆转这种情况。 虽然肌肉减少症的一些原因是衰老的自然结果,但其他原因是可…

为什么“隐性知识”比“刻意练习”更重要?

我与巴菲特之间的差距,找到了。 ​​编者按:“隐性知识”是不能仅通过语言获取的知识,这些知识不能光靠听和看学会,也不能靠所谓的“刻意练习”学会。就像跟着巴菲特学习投资,哪怕这位投资大师把自己的决策理念和方式…

梭杆菌(Fusobacterium)——共生菌,机会菌,癌杆菌

谷禾健康 梭杆菌属(Fusobacterium),是梭菌门最主要的菌属,厌氧革兰氏阴性细菌,与拟杆菌属、普氏菌属、卟啉单胞菌属一样都是医学上重要的厌氧革兰氏阴性杆菌。 梭杆菌属是人类和动物的身体共生菌之一,主要定…

深度学习的初学者用哪本书比较好的?

先推荐一本从基本概念和理论入手的深度学习书: 深度学习:从基础到实践(上、下册) 本书从基本概念和理论入手,通过近千张图和简单的例子由浅入深地讲解深度学习的相关知识,且不涉及复杂的数学内容。 本书分…