GithubHelp home page GithubHelp logo

deno_feishu_bot_echo's Introduction

deno_feishu_bot_echo

飞书 echo 机器人。

部署在 Deno Deploy

使用

1. 前置工作

  1. 进入飞书开放平台 > 开发者后台,登录飞书账号后,创建一个应用。

  2. 点击刚刚创建的机器人应用,可以进入应用详情界面。

  3. 点击左侧菜单的凭证与基础信息,获得 App ID 和 App Secret。

  4. 点击应用功能里 - 机器人,启用机器人。

  5. 点击事件订阅,获得 Verification Token。

2. 搭建服务

  1. 点击下面按钮,进入 Deno Deploy

  2. 输入 APP_IDAPP_SECRETAPP_VERIFICATION_TOKEN 值。

  3. 点击 Create 新建一个项目,然后点击 Deploy 按钮。

  4. 可选Domains 标签页绑定自己的域名。

3. 配置事件回调

  1. 回到飞书开放平台 > 开发者后台

  2. 点击事件订阅,在请求网址一栏输入第二步 Deno Deploy 的部署域名。

  3. 点击保存,如果成功会看到提示:请求 URL 验证通过。

  4. 点击权限管理,开启以应用的身份发消息获取单聊、群组消息获取与发送单聊、群组消息获取用户发给机器人的单聊消息获取群组中用户@机器人的消息权限(如果你不确定需要哪些权限,那么就打开消息分组下面的所有权限)。

  5. 点击事件订阅,在添加事件对话框中点击左侧即时通讯,勾选接收消息

本地开发

  1. 安装 deployctl:

    deno install -Afr --no-check https://deno.land/x/deploy/deployctl.ts
  2. 启动本地开发服务器:

    将根目录 .env.sample 重命名为 .env。输入 APP_IDAPP_SECRETAPP_VERIFICATION_TOKEN 值。

    ⚠️注意:千万不要把这些值提交到远程仓库

    deployctl run --env=.env --watch ./mod.ts

License

deno_feishu_bot_echo 的源码使用 MIT License 发布。具体内容请查看 LICENSE 文件。

deno_feishu_bot_echo's People

Contributors

justjavac avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

deno_feishu_bot_echo's Issues

[Bug]: 飞书响应超时导致消息事件错乱

作者您好!

我发现飞书目前有个响应 1s 限时,如果超时,将会多次重发,导致消息莫名奇妙地被发送多次,原文如下:

收到此请求后,需要在1秒内以 HTTP 200状态码 响应该请求,否则飞书开放平台会视此次推送失败并以5s、5m、1h、6h的间隔重新推送事件,最多重试4次。

我想解决方案应该是减少同步代码,先返回响应,再执行任务代码。考虑到 Worker 的运行机制,我一开始以为需要两个 Worker 才能解决这个问题,后面找着找着发现了 ExtendableEvent.waitUntil() 方法能够等待异步代码.

遗憾的是 Deno deploy 目前还不支持这个方法,所以提出这个问题,等支持后应该就可以修复啦,原文如下:

The waitUntil() method will be supported in future to execute code after returning a response.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.