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