@@ -539,12 +539,14 @@ proc getFile*(b: TeleBot, fileId: string): Future[types.File] {.async.} =
539
539
let res = await makeRequest (b, procName, data)
540
540
result = unmarshal (res, types.File )
541
541
542
- proc kickChatMember * (b: TeleBot , chatId: string , userId: int , untilDate = 0 ): Future [bool ] {.async .} =
542
+ proc kickChatMember * (b: TeleBot , chatId: string , userId: int , untilDate = 0 , revokeMessages = false ): Future [bool ] {.async .} =
543
543
var data = newMultipartData ()
544
544
data[" chat_id" ] = chatId
545
545
data[" user_id" ] = $ userId
546
546
if untilDate > 0 :
547
547
data[" until_date" ] = $ untilDate
548
+ if revokeMessages:
549
+ data[" revoke_messages" ] = " true"
548
550
let res = await makeRequest (b, procName, data)
549
551
result = res.toBool
550
552
@@ -569,14 +571,16 @@ proc restrictChatMember*(b: TeleBot, chatId: string, userId: int, permissions: C
569
571
let res = await makeRequest (b, procName, data)
570
572
result = res.toBool
571
573
572
- proc promoteChatMember * (b: TeleBot , chatId: string , userId: int , isAnonymous = false , canChangeInfo = false ,
573
- canPostMessages = false , canEditMessages = false , canDeleteMessages = false ,
574
+ proc promoteChatMember * (b: TeleBot , chatId: string , userId: int , isAnonymous = false , canManageChat = false , canChangeInfo = false ,
575
+ canPostMessages = false , canEditMessages = false , canDeleteMessages = false , canManageVoiceChats = false ,
574
576
canInviteUsers = false , canRestrictMembers = false , canPinMessages = false , canPromoteMembers = false ): Future [bool ] {.async .} =
575
577
var data = newMultipartData ()
576
578
data[" chat_id" ] = chatId
577
579
data[" user_id" ] = $ userId
578
580
if isAnonymous:
579
581
data[" is_anonymous" ] = " true"
582
+ if canManageChat:
583
+ data[" can_manage_chat" ] = " true"
580
584
if canChangeInfo:
581
585
data[" can_change_info" ] = " true"
582
586
if canPostMessages:
@@ -585,6 +589,8 @@ proc promoteChatMember*(b: TeleBot, chatId: string, userId: int, isAnonymous = f
585
589
data[" can_edit_messages" ] = " true"
586
590
if canDeleteMessages:
587
591
data[" can_delete_messages" ] = " true"
592
+ if canManageVoiceChats:
593
+ data[" can_manage_voice_chats" ] = " true"
588
594
if canInviteUsers:
589
595
data[" can_invite_users" ] = " true"
590
596
if canRestrictMembers:
@@ -1094,7 +1100,7 @@ proc pollAsync*(b: TeleBot, timeout = 50, offset, limit = 0, clean = false) {.as
1094
1100
await loop (b, timeout, offset, limit)
1095
1101
1096
1102
1097
- proc sendGame * (b: TeleBot , chatId: int , gameShortName: string , disableNotification = false , replyToMessageId = 0 ,
1103
+ proc sendGame * (b: TeleBot , chatId: int64 , gameShortName: string , disableNotification = false , replyToMessageId = 0 ,
1098
1104
allowSendingWithoutReply = false , replyMarkup: InlineKeyboardMarkup ): Future [Message ] {.async .} =
1099
1105
var data = newMultipartData ()
1100
1106
@@ -1117,7 +1123,7 @@ proc setGameScore*(b: TeleBot, userId: int, score: int, force = false, disableEd
1117
1123
1118
1124
var data = newMultipartData ()
1119
1125
1120
- data[" user_id" ] = $ chatId
1126
+ data[" user_id" ] = $ userId
1121
1127
data[" score" ] = $ score
1122
1128
if force:
1123
1129
data[" force" ] = " true"
@@ -1133,12 +1139,47 @@ proc setGameScore*(b: TeleBot, userId: int, score: int, force = false, disableEd
1133
1139
proc getGameHighScores * (b: TeleBot , userId: int , chatId = 0 , messageId = 0 , inlineMessageId = 0 ): Future [seq [GameHighScore ]] {.async .} =
1134
1140
var data = newMultipartData ()
1135
1141
1136
- data[" user_id" ] = $ chatId
1142
+ data[" user_id" ] = $ userId
1137
1143
if chatId != 0 :
1138
1144
data[" chat_id" ] = $ chatId
1139
1145
if messageId != 0 :
1140
1146
data[" message_id" ] = $ messageId
1141
1147
if inlineMessageId != 0 :
1142
1148
data[" inline_message_id" ] = $ inlineMessageId
1143
1149
let res = await makeRequest (b, procName, data)
1144
- result = unmarshal (res, seq [GameHighScore ])
1150
+ result = unmarshal (res, seq [GameHighScore ])
1151
+
1152
+
1153
+ proc createChatInviteLink * (b: Telebot , chatId: ChatId , expireDate = 0 , memberLimit = 0 ): Future [ChatInviteLink ] {.async .} =
1154
+ var data = newMultipartData ()
1155
+
1156
+ data[" chat_id" ] = $ chatId
1157
+ if expireDate > 0 :
1158
+ data[" expire_date" ] = $ expireDate
1159
+ if memberLimit > 0 :
1160
+ data[" member_limit" ] = $ memberLimit
1161
+
1162
+ let res = await makeRequest (b, procName, data)
1163
+ result = unmarshal (res, seq [ChatInviteLink ])
1164
+
1165
+ proc editChatInviteLink * (b: Telebot , chatId: ChatId , inviteLink: string , expireDate = 0 , memberLimit = 0 ): Future [ChatInviteLink ] {.async .} =
1166
+ var data = newMultipartData ()
1167
+
1168
+ data[" chat_id" ] = $ chatId
1169
+ data[" invite_link" ] = invite_link
1170
+ if expireDate > 0 :
1171
+ data[" expire_date" ] = $ expireDate
1172
+ if memberLimit > 0 :
1173
+ data[" member_limit" ] = $ memberLimit
1174
+
1175
+ let res = await makeRequest (b, procName, data)
1176
+ result = unmarshal (res, seq [ChatInviteLink ])
1177
+
1178
+ proc revokeChatInviteLink * (b: Telebot , chatId: ChatId , inviteLink: string ): Future [ChatInviteLink ] {.async .} =
1179
+ var data = newMultipartData ()
1180
+
1181
+ data[" chat_id" ] = $ chatId
1182
+ data[" invite_link" ] = invite_link
1183
+
1184
+ let res = await makeRequest (b, procName, data)
1185
+ result = unmarshal (res, seq [ChatInviteLink ])
0 commit comments