From c70ffd095a6de5cd5b872796a0d82a8c5afc1511 Mon Sep 17 00:00:00 2001
From: Uko Kokņevičs
Date: Sat, 20 Jul 2024 17:22:25 +0300
Subject: Initial commit
---
src/types/User.zig | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
create mode 100644 src/types/User.zig
(limited to 'src/types/User.zig')
diff --git a/src/types/User.zig b/src/types/User.zig
new file mode 100644
index 0000000..dc06097
--- /dev/null
+++ b/src/types/User.zig
@@ -0,0 +1,32 @@
+const textutils = @import("../textutils.zig");
+
+const User = @This();
+
+id: i64,
+is_bot: bool,
+first_name: []const u8,
+last_name: ?[]const u8 = null,
+username: ?[]const u8 = null,
+language_code: ?[]const u8 = null,
+is_premium: bool = false,
+added_to_attachment_menu: bool = false,
+can_join_groups: bool = false,
+can_read_all_group_messages: bool = false,
+supports_inline_queries: bool = false,
+can_connect_to_business: bool = false,
+
+pub fn writeFormattedName(self: User, w: anytype) !void {
+ try w.print("", .{self.id});
+ try textutils.escapeXml(w, self.first_name);
+ if (self.last_name) |last_name| {
+ try w.writeByte(' ');
+ try textutils.escapeXml(w, last_name);
+ }
+ try w.writeAll("");
+
+ if (self.username) |username| {
+ try w.writeAll(" @");
+ try textutils.escapeXml(w, username);
+ }
+ try w.print(" [{}]", .{self.id});
+}
--
cgit v1.2.3