title author date CreateTime categories
dotnet core 集成到 Mattermost 聊天工具
lindexi
2019-08-31 16:55:58 +0800
2019-05-17 08:45:14 +0800
dotnet

在找了很久的团队交流工具,发现了 Mattermost 最好用,但是还需要做一些定制化的功能,于是就找到了 Mattermost 插件开发,还找到了如何自己写服务集成到 Mattermost 里面 本文告诉大家,通过写一个 ASP .NET Core 程序集成到 Mattermost 里面,在里面添加很多有趣的功能

在内网通过 Docker 部署 Mattermost 十分简单,但是也许会遇到 Docker 的坑,这些本文就不告诉大家了,官方有详细的文档

在部署完成之后,在本地启动 Mattermost 连接上了服务器,可以开始开发自己的定制服务了

首先创建一个测试使用的公共频道,我创建了 qeegearbejaidejereyean 频道,当然这个命名是随意输入的

然后点击打开集成页面

在这里选择引入 Webhook 的方式

点击添加钩子

输入一个标题和选择频道

现在就可以看到一个链接了

我的链接是 http://127.0.0.1:8065/hooks/xjkyn7ks1pn7xeho1f5ifxqhxh 请将本文下面代码用到的这个链接替换为你自己的

新建一个 ASP .NET Core 程序,选择 API 程序

然后创建一个控制器,里面添加一个 Foo 方法,请看代码

    [Route("api/[controller]")][ApiController]public class MattermostController : ControllerBase{[HttpGet("Foo")]public void Foo(){}}

在 Foo 里面添加一些代码,发送字符串需要封装一个 json 发出去,这个json的格式非常简单

{"text": "需要发送的内容"}

通过 Post 的方式发送出去,发送的链接就是刚才记下的 http://127.0.0.1:8065/hooks/xjkyn7ks1pn7xeho1f5ifxqhxh 链接,请将这个链接替换为你自己的

        [HttpGet("Foo")]public void Foo(){var httpClient = new HttpClient();StringContent content = new StringContent("{\"text\": \"林德熙是逗比\"}",Encoding.UTF8, "application/json");httpClient.PostAsync("http://127.0.0.1:8065/hooks/xjkyn7ks1pn7xeho1f5ifxqhxh", content);}

此时运行代码,在 Foo 方法可以在访问的时候发送 林德熙是逗比 到输入的链接里面,在 Mattermost 通过这个链接将信息显示

通过访问http://localhost:51559/api/Mattermost/Foo 触发 Foo 方法,在 Foo 方法里面发送数据

访问之后可以看到刚才创建的频道显示了信息

当然一个服务肯定不是这么简单,例如可以用来集成自己的 gogs 或自己的待办或催小伙伴吃饭

代码放在 github

2019-8-31-dotnet-core-集成到-Mattermost-聊天工具相关推荐

  1. dotnet core 集成到 Mattermost 聊天工具

    在找了很久的团队交流工具,发现了 Mattermost 最好用,但是还需要做一些定制化的功能,于是就找到了 Mattermost 插件开发,还找到了如何自己写服务集成到 Mattermost 里面 本 ...

  2. dotNet Core 3.1 使用 Elasticsearch

    Elasticsearch 是基于 Lucene 的搜索引擎.可以非常方便地实现分布式的全文搜索,本文介绍在 dotNet Core 3.1 中怎样使用  Elasticsearch . 版本 dot ...

  3. 手把手教你使用spring cloud+dotnet core搭建微服务架构:服务治理(-)

    背景 公司去年开始使用dotnet core开发项目.公司的总体架构采用的是微服务,那时候由于对微服务的理解并不是太深,加上各种组件的不成熟,只是把项目的各个功能通过业务层面拆分,然后通过nginx代 ...

  4. dotnet core高吞吐Http api服务组件FastHttpApi

    简介 是dotNet core下基于Beetlex实现的一个高度精简化和高吞吐的HTTP API服务开源组件,它并没有完全实现HTTP SERVER的所有功能,而是只实现了在APP和WEB中提供数据服 ...

  5. C# 极限压缩 dotnet core 控制台发布文件

    每次发布 dotnet core 应用都会觉得发布文件太大,而如果使用极限压缩,用 CoreRT 能让发布的控制台文件到 5KB 左右,不需要带框架就能在其他设备运行 这是微软 MichalStreh ...

  6. asp.net core 集成 prometheus

    asp.net core 集成 prometheus Intro Prometheus 是一个开源的现代化,云原生的系统监控框架,并且可以轻松的集成 PushGateway, AlertManager ...

  7. .net core 集成 sentry 进行异常报警

    .net core 集成 sentry 进行异常报警 Intro Sentry 是一个实时事件日志记录和汇集的平台.其专注于错误监控以及提取一切事后处理所需信息而不依赖于麻烦的用户反馈.它分为客户端和 ...

  8. SonarQube系列二、分析dotnet core/C#代码

    来源:https://www.cnblogs.com/7tiny/p/11342902.html [前言] 本系列主要讲述sonarqube的安装部署以及如何集成jenkins自动化分析.netcor ...

  9. dotNET Core实现分布式环境下的流水号唯一

    业务背景 在管理系统中,很多功能模块都会涉及到各种类型的编号,例如:流程编号.订单号.合同编号等等.编号各有各自的规则,但通常有一个流水号来确定编号的唯一性,保证流水号的唯一,在不同的环境中实现方式有 ...

  10. dotnet core 开发无缝兼容Http和Websocket协议的接口服务

    在应用接口开发中往往要针对不同协义开发相应的代理服务,但对于Websocket和http这两种协议来说就有些不同,从实现上来看Websocket可以说是Http的升级子协议, 两者在协议处理上基本一致 ...

最新文章

  1. Pandas数据规整
  2. javaweb开发3.基于Servlet+JSP+JavaBean开发模式的用户登录注册
  3. centos 上yum命令删除还原补救方法
  4. 能简单才不简单,仿Flickr.com:基于Flash+jQuery的一次性划选多文件并上传
  5. linux之可视化查看磁盘大小并且删除大文件
  6. javascript获取当前日期时间及其一些操作
  7. 持续集成部署Jenkins工作笔记0014---curl命令触发构建
  8. Taobao File System
  9. Python网络爬虫(四)
  10. Androd UI学习之ImageSwitcher
  11. 版本设置X:none node Title golang版本错误
  12. Python实现word转pdf
  13. 自建KMS激活服务器:CentOS安装vlmcsd搭建
  14. linux下dns解析出错该如何配置
  15. 【spider01】Urllib
  16. python 简单字体解密
  17. Vue项目中 sass安装
  18. iOS 架构模式 - 简述 MVC, MVP, MVVM
  19. HP 1022N 网络打印机安装步骤
  20. ubuntu16.04上搭建stm32f4开发环境

热门文章

  1. win10 关闭defender
  2. Windows永久关闭defender
  3. Java进阶3 - 易错知识点整理(待更新)
  4. 云计算hcie贴吧_云计算HCIE题库
  5. css属性 margin right,css margin-right属性怎么用
  6. 【项目回顾】基于Yanshee的AI服务型机器人(三)
  7. Kafka Partition重分配流程简析
  8. 凯叔讲故事显示无法连接服务器,【凯叔讲故事】151.苏菲的杰作(重发视频链接修复版)...
  9. A. Find The Array
  10. pythoncad_Pycad: Python Extension for AutoCad