【Rust日报】2023-06-11 Rust 中的 Telegram Bot 框架

news2024/11/20 20:43:05

MOBOT 的第一个版本,这是一个 Rust 中的 Telegram Bot 框架

这是我一直在研究的 Rust 中的 Telegram Bot 框架。我尝试了其他 Rust 库,但我发现它们对于我正在构建的机器人类型来说过于原始或过于具体。

它带有 Telegram Bot API 的完全原生实现,并且:

  • 支持消息、频道、贴纸、回调等的原始电报 API。

  • Web 框架样式的路由 API,支持基于消息的路由和嵌套处理程序堆栈。

  • 简单的应用程序状态管理。MOBOT 确保您的处理程序获得每次聊天的正确状态。

  • 集成测试基础架构 (FakeBot),以简化为您的机器人编写单元测试。

  • 支持进度条、内联键盘、“正在打字……”指示器等。

观看使用 crate 的系统管理员机器人的演示视频mobot

https://i.imgur.com/Gn2VfKH.mp4

Nickel 1.0,一种用 Rust 编写(并可用)的配置语言

亲爱的 Rust 社区,我很高兴地宣布 Nickel 1.0 的发布,这是一种用 Rust 开发的配置语言。它在某种程度上是一种通用但领域特定的语言,Nickel 专门用于生成配置(例如,通常评估为 YAML 或 JSON),但比纯序列化格式更具表现力,使配置可重用、可维护等正确(特别是选择加入静态类型和运行时合同)。它适用于任何类型的配置,但典型的用例会相当大且复杂,例如基础架构即代码部署或构建系统。

除了作为 Rust 代码库之外,我认为社区可能会感兴趣,因为它特别容易用作Rust 应用程序的本机配置语言,这要归功于serde. 例如,参见模块的测试deserializer,它直接从 Nickel 源反序列化 Rust 结构和枚举:https://github.com/tweag/nickel/blob/dc6804acd123257460eef60d615da2eb0a8aca78/src/deserialize.rs#L584

很高兴收到任何建设性的反馈和意见。

https://www.tweag.io/blog/2023-05-17-nickel-1.0-release/

GQL:一种用 Rust 编写的 .git 文件的查询语言

大家好,我想分享一个用 Rust 编写的新项目,它是一种新的查询语言,语法类似于 SQL,可以在不创建任何新文件的情况下对 .git 文件执行查询

Github:githuto b.com/amrdeveloper/gql

有关想法和实现的更多详细信息,您可以查看这篇文章 https://itnext.io/how-i-created-a-query-language-for-git-files-gql-fc431949dc4c

更多样品 9537d685062bde715adcc49813e525b4.png

From 日报小组 时光

社区学习交流平台订阅:

  • Rustcc 论坛:支持 rss

  • 微信公众号:Rust 语言中文社区

Rust语言中文社区视频号live上线啦,以后会不定时直播Rust活动,欢迎关注

f5db6f8aeba568161c88e71159179f9e.jpeg

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

最新前端技术趋势

本文作者系360奇舞团前端开发工程师 前端的车轮滚滚向前,轮子造的越来越圆,速度造的越来越快,每个人都在适应这个轮子的节奏,稍微不注意就会被甩出车轮之外。狼狈不堪之外还会发自心底的大喊一声:别卷了!&a…

数据空间基础设施的技术挑战及数联网解决方案

数据空间基础设施的技术挑战及数联网解决方案 罗超然1,2, 马郓1,2,3, 景翔1,2,4,黄罡1,2,5 1 数据空间技术与系统全国重点实验室,北京 100091 2 北京大数据先进技术研究院,北京 100091 3 北京大学人工智能研究院,北京 100871 4 北…

学了三年,一文告诉你物联网到底如何实现万物互联?

前言:作为计算机相关专业的你,绝对听说过物联网这个词,它的解释相比你也听过,叫万物互联,也就是所谓的IOT,但是说实话它到底如何实现的万物互联的你可能还真不知道。不是每个物体都有一个网络接口或者实体接…

线程同步(二)

目录 死锁 加锁之后忘记解锁: 重复加锁,造成死锁 在程序中有多个共享资源,因此有很多把锁,随意加锁,导致相互被阻塞 在使用多线程编程的时候,如何避免死锁呢? 读写锁 在程序中对读写锁加…

Rust每日一练(Leetday0029) 柱状图、最大矩形、扰乱字符串

目录 84. 柱状图中最大的矩形 Largest-rectangle-in-histogram 🌟🌟🌟 85. 最大矩形 Maximal Rectangle 🌟🌟🌟 87. 扰乱字符串 Scramble String 🌟🌟🌟 &#x1…

WebTransport 开播的应用实践之路

动手点关注 干货不迷路 Web开播的业务挑战 无论是本地软件推流还是Web推流,都需要解决推流抖动、画面高糊、音频卡顿等问题。在现有的Web技术环境下,如何稳定地把高质量的音视频流呈现给更多用户,是我们技术团队攻克的重点。从技术角度来解读…

lua编程——air724二次开发之串口通信教程

有了上一章文章《lua编程——air724二次开发之点亮led教程》的基础,接下来将介绍如何使用lua语言进行串口通信。 一、硬件连接 根据银尔达硬件资料的介绍,如下图: 直接将usb转ttl工具和4G模块进行连接,接收和发送线需要交叉连接。…

【IMX6ULL驱动开发学习】07.cdev注册驱动设备_设置次设备号范围

一、register_chrdev 在之前的hello驱动中,注册驱动设备的方式如下 /*初始化设备方法1:自动分配设备号,占用所有次设备号*/ major register_chrdev(0,"hello_drv",&hello_fops);使用 register_chrdev 分配设备号的方式比较…

从玩具到工具|社畜程序员用AI提效的神仙操作

👉腾小云导读 随着 AI 技术的日益发展,前端开发模式和提效工具也在不断地变化。作为一名前端工程师,如何应对 AI 带来的挑战和机遇?在这篇文章中,作者将介绍什么是 AIGC,并深入探讨 AI 在低代码平台的应用。…

【数据结构】顺序表及其实现

目录 1.线性表 2.顺序表 2.1顺序表的概念及结构 2.2顺序表的实现 1.线性表 线性表:是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表,链表,栈,队…

Parallels Desktop 18 18.3.1激活攻略

如果说虚拟机领域有一位王者,非Parallels不能领袖群伦,毕竟大厂背书,功能满格,美中不足之处就是价格略高,但这也并非是Parallels的错,因为市场上没有任何一款虚拟机产品在产品力层面能和Parallels抗衡&…

使用Typora+PicGo+阿里云搭建图床

1.为什么要使用图床 不知道大家有没有遇到过这样的问题? 在使用Typora的时候,我们传到typora上面的图片,在转到其他地方时,总是加载不出来,造成图片丢失现象或者是在将markdown笔记上传到博客时,总是需要一…

华为OD机试真题 JavaScript 实现【静态代码扫描服务】【2023Q1 100分】

一、题目描述 静态扫描快速识别源代码的缺陷,静态扫描的结果以扫描报告作为输出: 文件扫描的成本和文件大小相关,如果文件大小为N,则扫描成本为N个金币;扫描报告的缓存成本和文件大小无关,每缓存一个报告…

(二)安装 Kafka

文章目录 1.选择操作系统2.配置 Java 环境3.安装 ZooKeeper4.安装 broker(1)安装 broker(2)验证是否安装正确 5.配置 broker(1)常规配置(2)主题的默认配置 6.配置 Kafka 集群&#x…

Netty之协议设计

目录 为什么需要协议 redis协议示例 http协议举例 自定义协议 要素 编解码器 测试 为什么需要协议 TCP/IP 中消息传输基于流的方式,没有边界。 协议的目的就是划定消息的边界,制定通信双方要共同遵守的通信规则 例如:在网络上传输 …

c++11 标准模板(STL)(std::ios_base)(三)

定义于头文件 <ios> class ios_base; 类 ios_base 是作为所有 I/O 流类的基类工作的多用途类。它维护数种数据&#xff1a; 1) 状态信息&#xff1a;流状态标志&#xff1b; 2) 控制信息&#xff1a;控制输入和输出序列格式化和感染的本地环境的标志&#xff1b; 3)…

(一)Flask简介和快速使用

关于Python三大Web框架浅谈一嘴&#xff1a; Django、Flask和Tornado三个框架都是Python Web应用的开发框架&#xff0c;虽然它们都能够开发Web应用&#xff0c;但在使用方式、适用领域和处理方式上还是有很多不同的。 Django Django是一个高层次&#xff08;大而全&#xff0…

Flutter自定义系列之折线波动图,心率图,价格走势图

随着前两篇文章的学习&#xff0c;我今天继续给大家演示下简单的自定义之折线波动图&#xff0c;心率图&#xff0c;价格走势图。 这里&#xff0c;我们创建一个自定义的StatefulWidget&#xff0c;用于显示动态的价格线。 我们将使用CustomPaint和CustomPainter来绘制价格线…

chatgpt赋能python:Python中如何截断字符串

Python中如何截断字符串 Python是一种简单易学、高效的编程语言&#xff0c;旨在让开发人员更快、更方便地完成任务。然而&#xff0c;在实际开发过程中&#xff0c;我们常常需要对字符串进行截断操作。那么&#xff0c;Python中怎么截断字符串呢&#xff1f;接下来就让我们来…

如何最大限度地利用ChatGPT、Bard和其他聊天机器人

作者&#xff1a;Hayden Field 译者&#xff1a;明明如月 当下&#xff0c;随着生成式人工智能的发展&#xff0c;面向消费者的聊天机器人能够处理不同领域的需求&#xff0c;并提供相应的帮助和建议&#xff0c;如制定商业战略、设计数学学习指南、提供薪资谈判建议&#xff…