2019-8-31-dotnet-core-集成到-Mattermost-聊天工具
| 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-聊天工具的更多相关文章
- dotnet core 集成到 Mattermost 聊天工具
在找了很久的团队交流工具,发现了 Mattermost 最好用,但是还需要做一些定制化的功能,于是就找到了 Mattermost 插件开发,还找到了如何自己写服务集成到 Mattermost 里面 本 ...
- 手把手教你使用spring cloud+dotnet core搭建微服务架构:服务治理(-)
背景 公司去年开始使用dotnet core开发项目.公司的总体架构采用的是微服务,那时候由于对微服务的理解并不是太深,加上各种组件的不成熟,只是把项目的各个功能通过业务层面拆分,然后通过nginx代 ...
- Dapr Pub/Sub 集成 RabbitMQ 、Golang、Java、DotNet Core
前置条件: <Dapr运用> <Dapr 运用之 Java gRPC 调用篇> <Dapr 运用之集成 Asp.Net Core Grpc 调用篇> 搭建 Rabb ...
- DotNet Core 1.0 集成 CentOS 开发与运行环境部署
一. DotNet Core 1.0 开发环境部署 操作系统安装 我们使用CentOS 7.2.1511版本. 安装libunwind库 执行:sudo yum install libunwi ...
- dotnet core 之 gRPC
dotnet core gRPC 原文在本人公众号中,欢迎关注我,时不时的会分享一些心得 HTTP和RPC是现代微服务架构中很常用的数据传输方式,两者有很多相似之处,但是又有很大的不同.HTTP是一种 ...
- spring cloud+dotnet core搭建微服务架构:配置中心(四)
前言 我们项目中有很多需要配置的地方,最常见的就是各种服务URL地址,这些地址针对不同的运行环境还不一样,不管和打包还是部署都麻烦,需要非常的小心.一般配置都是存储到配置文件里面,不管多小的配置变动, ...
- dotnet core高吞吐Http api服务组件FastHttpApi
简介 是dotNet core下基于Beetlex实现的一个高度精简化和高吞吐的HTTP API服务开源组件,它并没有完全实现HTTP SERVER的所有功能,而是只实现了在APP和WEB中提供数据服 ...
- dotnet core的下载地址 以及sdk和runtime的 version 简单说明
1. dotnet core 2.1 的下载地址 https://dotnet.microsoft.com/download/dotnet-core/2.1 2. dotnet core 2.2 的下 ...
- 【Step By Step】将Dotnet Core部署到Docker上
本教程的前提是,你已经在Linux服务器上已经成功的安装了Docker,我会大概介绍在此过程中用到的Docker命令,并不会介绍所有的Docker命令(因为我也不会). 一.在Docker中运行Dot ...
- 国产中标麒麟Linux部署dotnet core 环境并运行项目 (二) 部署运行控制台项目
背景 在上一篇文章安装dotnet core,已经安装好dotnet core了.之前只是安装成功了dotnet, 输入dotnet --info,可以确认安装成功了,但是在运行代码时,还是报错了,本 ...
随机推荐
- Java——this
[this] 在没有new一个对象前,this不知道指的是什么:当new出一个对象时,this指的是当前对象的引用.
- 【Java】SpringBoot整合RabbitMQ
介绍 RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用. RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,AMQP,即A ...
- 【BZOJ2460】元素(拟阵)
题意:给定n个物品,每个物品有属性x和价值y,要求从中选出一些使得价值和最大并且其中没有属性xor和为0的非空子集 n<=1000,x<=1e18,y<=1e4 思路:没有xor和为 ...
- Android环境配置之正式版AndroidStudio1.0
昨天看见 Android Studio 1.0 正式版本发布了:心里挺高兴的. 算是忠实用户了吧,从去年开发者大会一开始出现 AS 后就开始使用了:也是从那时开始就基本没有用过 Eclipse 了:一 ...
- Java称霸编程语言排行榜
笔者精挑细选了本周研发频道的热门看点,供您在这个周末阅读欣赏.内容涵盖TIOBE编程语言8月份排行榜.开源挑战.WebGL演示.HTML5在线工具.IT职业身涯的14个建议,还有即将举行的SDCC(中 ...
- 笔记本连接树莓派3b(不需要屏幕)
一.网线直连 工具:笔记本,网线,树莓派 软件:putty 过程: 将系统烧录进SD卡后,在root里添加一个名字为“ssh”的空白文件(不需后缀名)来开启ssh服务,SD卡里的cmdline.txt ...
- 测试常用linux命令1
进程相关: 1,查看所有进程(包含历史进程): ps -ef 各个参数的含义依次是uid,pid,ppid,c(cpu利用率),stime(进程启动时间),tty,time,cmd 2,动态查看进程t ...
- 查看jQuery file upload的image preview如何工作的
查看readme中的说明, JavaScript Load Image library v. 1.13.0+: Required for the image previews and resizing ...
- PriorityBlockingQueue 源码分析
PriorityBlockingQueue PriorityBlockingQueue 能解决什么问题?什么时候使用 PriorityBlockingQueue? 1)PriorityBlocking ...
- jenkins打包ios 报错rror: No signing certificate "iOS Distribution" found: No "iOS Distribution...
错误提示如图: error: No signing certificate "iOS Distribution" found: No "iOS Distribution& ...