Skip to content

Commit 2c5e464

Browse files
committed
docs: new segment
1 parent a8b1d8d commit 2c5e464

File tree

6 files changed

+390
-24
lines changed

6 files changed

+390
-24
lines changed

content/docs/development/index.mdx

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ import {
1919
Info,
2020
} from "lucide-react";
2121

22-
# sithra-rs 插件开发指南
23-
2422
<Callout type="info" icon={<Info className="h-4 w-4" />}>
2523
sithra-rs 是一个基于 Rust
2624
的现代化、高性能、可扩展的机器人框架。通过本指南,您将学习如何开发自己的插件来扩展框架功能。
@@ -168,7 +166,7 @@ use sithra_kit::{
168166
#[tokio::main]
169167
async fn main() {
170168
// 1. 初始化插件
171-
let (plugin, ()) = Plugin::new().await.unwrap();
169+
let (plugin, _) = Plugin::new::<()>().await.unwrap();
172170

173171
// 2. 注册消息处理路由
174172
let plugin = plugin.map(|r| r.route_typed(Message::on(echo)));
@@ -187,14 +185,8 @@ async fn main() {
187185
///
188186
/// 当收到以 "echo " 开头的消息时,返回去掉 "echo " 前缀的内容
189187
async fn echo(Payload(msg): Payload<Message<CommonSegment>>) -> Option<SendMessage> {
190-
// 1. 收集所有文本片段,合并为一个字符串
191-
let text = msg.content.iter().fold(String::new(), |f, s| {
192-
if let CommonSegment::Text(text) = s {
193-
f + text
194-
} else {
195-
f
196-
}
197-
});
188+
// 1. 消息是否为文本开头,如果是则获取文本,否则返回 None
189+
let text = msg.content.first()?.text_opt()?;
198190

199191
// 2. 检查消息是否以 "echo " 开头,如果不是则返回 None
200192
let text = text.strip_prefix("echo ")?.to_owned();

0 commit comments

Comments
 (0)