@@ -524,10 +524,10 @@ proc copyMessage*(b: TeleBot, chatId, fromChatId: string, messageId: int, captio
524
524
result = unmarshal (res, MessageId )
525
525
526
526
527
- proc sendChatAction * (b: TeleBot , chatId, action: string ): Future [void ] {.async .} =
527
+ proc sendChatAction * (b: TeleBot , chatId: ChatId , action: ChatAction ): Future [void ] {.async .} =
528
528
var data = newMultipartData ()
529
- data[" chat_id" ] = chatId
530
- data[" action" ] = action
529
+ data[" chat_id" ] = $ chatId
530
+ data[" action" ] = toLowerAscii ( $ action)
531
531
532
532
discard makeRequest (b, procName, data)
533
533
@@ -1224,28 +1224,35 @@ proc getGameHighScores*(b: TeleBot, userId: int, chatId = 0, messageId = 0, inli
1224
1224
let res = await makeRequest (b, procName, data)
1225
1225
result = unmarshal (res, seq [GameHighScore ])
1226
1226
1227
-
1228
- proc createChatInviteLink * (b: Telebot , chatId: ChatId , expireDate = 0 , memberLimit = 0 ): Future [ChatInviteLink ] {.async .} =
1227
+ proc createChatInviteLink * (b: Telebot , chatId: ChatId , name = " " , expireDate = 0 , memberLimit = 0 , createsJoinRequest = false ): Future [ChatInviteLink ] {.async .} =
1229
1228
var data = newMultipartData ()
1230
1229
1231
1230
data[" chat_id" ] = $ chatId
1231
+ if name.len > 0 :
1232
+ data[" name" ] = name
1232
1233
if expireDate > 0 :
1233
1234
data[" expire_date" ] = $ expireDate
1234
1235
if memberLimit > 0 :
1235
1236
data[" member_limit" ] = $ memberLimit
1237
+ if createsJoinRequest:
1238
+ data[" creates_join_request" ] = " true"
1236
1239
1237
1240
let res = await makeRequest (b, procName, data)
1238
1241
result = unmarshal (res, seq [ChatInviteLink ])
1239
1242
1240
- proc editChatInviteLink * (b: Telebot , chatId: ChatId , inviteLink: string , expireDate = 0 , memberLimit = 0 ): Future [ChatInviteLink ] {.async .} =
1243
+ proc editChatInviteLink * (b: Telebot , chatId: ChatId , inviteLink: string , name = " " , expireDate = 0 , memberLimit = 0 , createsJoinRequest = false ): Future [ChatInviteLink ] {.async .} =
1241
1244
var data = newMultipartData ()
1242
1245
1243
1246
data[" chat_id" ] = $ chatId
1244
1247
data[" invite_link" ] = invite_link
1248
+ if name.len > 0 :
1249
+ data[" name" ] = name
1245
1250
if expireDate > 0 :
1246
1251
data[" expire_date" ] = $ expireDate
1247
1252
if memberLimit > 0 :
1248
1253
data[" member_limit" ] = $ memberLimit
1254
+ if createsJoinRequest:
1255
+ data[" creates_join_request" ] = " true"
1249
1256
1250
1257
let res = await makeRequest (b, procName, data)
1251
1258
result = unmarshal (res, seq [ChatInviteLink ])
@@ -1258,3 +1265,21 @@ proc revokeChatInviteLink*(b: Telebot, chatId: ChatId, inviteLink: string): Futu
1258
1265
1259
1266
let res = await makeRequest (b, procName, data)
1260
1267
result = unmarshal (res, seq [ChatInviteLink ])
1268
+
1269
+ proc approveChatJoinRequest * (b: Telebot , chatId: ChatId , userId: int ): Future [bool ] {.async .} =
1270
+ var data = newMultipartData ()
1271
+
1272
+ data[" chat_id" ] = $ chatId
1273
+ data[" user_id" ] = $ user_id
1274
+
1275
+ let res = await makeRequest (b, procName, data)
1276
+ result = unmarshal (res, bool )
1277
+
1278
+ proc declineChatJoinRequest * (b: Telebot , chatId: ChatId , userId: int ): Future [bool ] {.async .} =
1279
+ var data = newMultipartData ()
1280
+
1281
+ data[" chat_id" ] = $ chatId
1282
+ data[" user_id" ] = $ user_id
1283
+
1284
+ let res = await makeRequest (b, procName, data)
1285
+ result = unmarshal (res, bool )
0 commit comments