diff options
| author | 2024-07-26 17:38:38 +0300 | |
|---|---|---|
| committer | 2024-07-26 17:38:38 +0300 | |
| commit | 0c85cde5598c83414add4e3659a924055df13f46 (patch) | |
| tree | 8006497e849bd22ee0ccf7877649260330c0753f /src | |
| parent | Added msginfo command (diff) | |
| download | ukkobot-0c85cde5598c83414add4e3659a924055df13f46.tar.gz ukkobot-0c85cde5598c83414add4e3659a924055df13f46.tar.xz ukkobot-0c85cde5598c83414add4e3659a924055df13f46.zip | |
New members are now greeted by a GIF
Diffstat (limited to 'src')
| -rw-r--r-- | src/Bot.zig | 8 | ||||
| -rw-r--r-- | src/main.zig | 10 | ||||
| -rw-r--r-- | src/types/SendAnimationParams.zig | 25 |
3 files changed, 41 insertions, 2 deletions
diff --git a/src/Bot.zig b/src/Bot.zig index 0346d2c..49c5df3 100644 --- a/src/Bot.zig +++ b/src/Bot.zig | |||
| @@ -74,6 +74,14 @@ pub inline fn getUsername(self: *Bot) ![]const u8 { | |||
| 74 | return self.username.?; | 74 | return self.username.?; |
| 75 | } | 75 | } |
| 76 | 76 | ||
| 77 | pub inline fn sendAnimation(self: *Bot, args: types.SendAnimationParams) !Parsed(types.Message) { | ||
| 78 | return self.post(types.Message, "sendAnimation", args); | ||
| 79 | } | ||
| 80 | |||
| 81 | pub inline fn sendAnimation_(self: *Bot, args: types.SendAnimationParams) !void { | ||
| 82 | (try self.sendAnimation(args)).deinit(); | ||
| 83 | } | ||
| 84 | |||
| 77 | pub inline fn sendMessage(self: *Bot, args: types.SendMessageParams) !Parsed(types.Message) { | 85 | pub inline fn sendMessage(self: *Bot, args: types.SendMessageParams) !Parsed(types.Message) { |
| 78 | return self.post(types.Message, "sendMessage", args); | 86 | return self.post(types.Message, "sendMessage", args); |
| 79 | } | 87 | } |
diff --git a/src/main.zig b/src/main.zig index 203f4ab..0bc5013 100644 --- a/src/main.zig +++ b/src/main.zig | |||
| @@ -101,10 +101,16 @@ fn onNewMember(bot: *Bot, msg: types.Message, new_member: types.User) !void { | |||
| 101 | try new_member.writeFormattedName(w); | 101 | try new_member.writeFormattedName(w); |
| 102 | try w.writeAll("! Be on your bestest behaviour now!!"); | 102 | try w.writeAll("! Be on your bestest behaviour now!!"); |
| 103 | 103 | ||
| 104 | try bot.sendMessage_(.{ | 104 | try bot.sendAnimation_(.{ |
| 105 | .chat_id = msg.chat.id, | 105 | .chat_id = msg.chat.id, |
| 106 | .text = sb.items, | 106 | // TODO: lol |
| 107 | .animation = "CgACAgQAAx0CVcPEEgACC9Vmo6_zCxMp3ZNXSMM1nI6nMkIhgwACNwMAAtDmDFMop6BHmV7lUTUE", | ||
| 108 | .duration = 3, | ||
| 109 | .width = 166, | ||
| 110 | .height = 240, | ||
| 111 | .caption = sb.items, | ||
| 107 | .parse_mode = .html, | 112 | .parse_mode = .html, |
| 113 | .show_caption_above_media = true, | ||
| 108 | .reply_parameters = .{ | 114 | .reply_parameters = .{ |
| 109 | .allow_sending_without_reply = true, | 115 | .allow_sending_without_reply = true, |
| 110 | .message_id = msg.message_id, | 116 | .message_id = msg.message_id, |
diff --git a/src/types/SendAnimationParams.zig b/src/types/SendAnimationParams.zig new file mode 100644 index 0000000..9377b3f --- /dev/null +++ b/src/types/SendAnimationParams.zig | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | const MessageEntity = @import("MessageEntity.zig"); | ||
| 2 | const ParseMode = @import("parse_mode.zig").ParseMode; | ||
| 3 | const ReplyParameters = @import("ReplyParameters.zig"); | ||
| 4 | |||
| 5 | business_connection_id: ?[]const u8 = null, | ||
| 6 | // TODO: Integer or String | ||
| 7 | chat_id: i64, | ||
| 8 | message_thread_id: ?u64 = null, | ||
| 9 | // TODO: InputFile or String | ||
| 10 | animation: []const u8, | ||
| 11 | duration: ?u64 = null, | ||
| 12 | width: ?u64 = null, | ||
| 13 | height: ?u64 = null, | ||
| 14 | // TODO: InputFile or String | ||
| 15 | thumbnail: ?[]const u8 = null, | ||
| 16 | caption: ?[]const u8 = null, | ||
| 17 | parse_mode: ?ParseMode = null, | ||
| 18 | caption_entities: ?[]MessageEntity = null, | ||
| 19 | show_caption_above_media: ?bool = null, | ||
| 20 | has_spoiler: ?bool = null, | ||
| 21 | disable_notification: ?bool = null, | ||
| 22 | protect_content: ?bool = null, | ||
| 23 | message_effect_id: ?[]const u8 = null, | ||
| 24 | reply_parameters: ?ReplyParameters = null, | ||
| 25 | // TODO: reply_markup: InlineKeyboardMarkup OR ReplyKeyboardMarkup OR ReplyKeyboardRemove OR ForceReply | ||