| Crates.io | puniyu_sender |
| lib.rs | puniyu_sender |
| version | 0.4.1 |
| created_at | 2025-10-24 14:26:55.34833+00 |
| updated_at | 2025-11-16 07:30:13.83628+00 |
| description | puniyu 的事件发送者模块 |
| homepage | https://github.com/puniyu/puniyu |
| repository | https://github.com/puniyu/puniyu |
| max_upload_size | |
| id | 1898492 |
| size | 12,910 |
消息发送者信息模块
puniyu_sender 是 puniyu 项目中用于处理消息发送者信息的库。它提供了好友和群组场景下发送者信息的统一抽象和管理,支持序列化/反序列化操作。
表示发送者性别:
Male: 男性Female: 女性Unknown: 未知表示群组中发送者的角色:
Owner: 群主Admin: 管理员Member: 普通成员Unknown: 未知角色发送者信息的统一抽象:
Friend(FriendSender): 好友发送者Group(GroupSender): 群组发送者好友发送者信息,包含:
user_id: 发送者IDnick: 用户昵称sex: 性别age: 年龄群组发送者信息,包含:
user_id: 发送者IDnick: 用户昵称sex: 性别age: 年龄role: 角色card: 群名片(可选)level: 等级(可选)title: 专属头衔(可选)创建好友发送者信息:
// 命名参数形式
let sender = friend_sender!(
user_id: "123456",
nick: "Alice",
sex: Sex::Female,
age: 18
);
// 位置参数形式
let sender = friend_sender!("123456", "Alice", Sex::Female, 18);
创建群组发送者信息:
// 完整参数形式
let sender = group_sender!(
user_id: "123456",
nick: "Alice",
sex: Sex::Female,
age: 18,
role: Role::Admin,
card: "Admin",
level: "L5",
title: "Special Title"
);
// 简化参数形式
let sender = group_sender!(
user_id: "123456",
nick: "Alice",
sex: Sex::Female,
age: 18,
role: Role::Member
);
// 最简形式
let sender = group_sender!("123456", "Alice", Sex::Female, 18);
实现了以下类型转换:
FriendSender 到 Sender 的自动转换GroupSender 到 Sender 的自动转换Serialize 和 Deserialize traitSex 和 Role 枚举支持与字符串的相互转换本项目采用 LGPL 许可证。