22
22
forum ,
23
23
)
24
24
25
+
25
26
class BotAPI :
26
27
"""
27
28
机器人相关的API接口类
@@ -198,7 +199,7 @@ async def get_delete_member(
198
199
guild_id : str ,
199
200
user_id : str ,
200
201
add_blacklist : bool = False ,
201
- delete_history_msg_days : int = 0
202
+ delete_history_msg_days : int = 0 ,
202
203
) -> str :
203
204
"""
204
205
删除频道成员
@@ -246,7 +247,7 @@ async def get_guild_members(self, guild_id: str, after: str = "0", limit: int =
246
247
guild_id = guild_id ,
247
248
)
248
249
return await self ._http .request (route , params = params )
249
-
250
+
250
251
async def get_guild_role_members (
251
252
self , guild_id : str , role_id : str , start_index : str = "0" , limit : int = 1
252
253
) -> Dict [str , Union [List [user .Member ], str ]]:
@@ -270,7 +271,7 @@ async def get_guild_role_members(
270
271
"GET" ,
271
272
"/guilds/{guild_id}/roles/{role_id}/members" ,
272
273
guild_id = guild_id ,
273
- role_id = role_id
274
+ role_id = role_id ,
274
275
)
275
276
return await self ._http .request (route , params = params )
276
277
@@ -584,6 +585,58 @@ async def post_keyboard_message(
584
585
)
585
586
return await self ._http .request (route , json = payload )
586
587
588
+ async def on_interaction_result (self , interaction_id : str , code : int ):
589
+ """
590
+ `on_interaction_result` 消息按钮回调结果
591
+
592
+ Args:
593
+ interaction_id (str): 消息按钮回调事件的 ID。
594
+ code (int): 回调结果 0 成功,1 操作失败,2 操作频繁,3 重复操作,4 没有权限,5 仅管理员操作
595
+
596
+ Returns:
597
+ 无
598
+ """
599
+ payload = {"code" : code }
600
+ route = Route (
601
+ "PUT" ,
602
+ "/interactions/{id}" ,
603
+ id = interaction_id ,
604
+ )
605
+ return await self ._http .request (route , json = payload )
606
+
607
+ async def patch_guild_message (
608
+ self ,
609
+ channel_id : str ,
610
+ patch_msg_id : str ,
611
+ msg_id : str = None ,
612
+ event_id : str = None ,
613
+ markdown : message .MarkdownPayload = None ,
614
+ keyboard : message .KeyboardPayload = message .KeyboardPayload (content = {}),
615
+ ) -> message .Message :
616
+ """
617
+ 修改频道markdown消息,需要先申请权限。
618
+
619
+ Args:
620
+ channel_id (str): 您要将消息发送到的频道的 ID。
621
+ patch_msg_id (str): 需要修改的消息id。
622
+ msg_id (str): 您要回复的消息的 ID。您可以从 AT_CREATE_MESSAGE 事件中获取此 ID。
623
+ event_id (str): 您要回复的消息的事件 ID。
624
+ markdown (message.MarkdownPayload): markdown 消息的构建参数。
625
+ keyboard (message.KeyboardPayload): keyboard 消息的构建参数
626
+
627
+ Returns:
628
+ message.Message: 一个消息字典对象。
629
+ """
630
+ payload = locals ()
631
+ payload .pop ("self" , None )
632
+ route = Route (
633
+ "PATCH" ,
634
+ "/channels/{channel_id}/messages/{patch_msg_id}" ,
635
+ channel_id = channel_id ,
636
+ patch_msg_id = patch_msg_id ,
637
+ )
638
+ return await self ._http .request (route , json = payload )
639
+
587
640
# 私信消息
588
641
async def create_dms (self , guild_id : str , user_id : str ) -> message .DmsPayload :
589
642
"""
@@ -766,7 +819,7 @@ async def mute_all(self, guild_id: str, mute_end_timestamp: str = None, mute_sec
766
819
"""
767
820
payload = {
768
821
"mute_end_timestamp" : mute_end_timestamp ,
769
- "mute_seconds" : mute_seconds
822
+ "mute_seconds" : mute_seconds ,
770
823
}
771
824
route = Route ("PATCH" , "/guilds/{guild_id}/mute" , guild_id = guild_id )
772
825
return await self ._http .request (route , json = payload )
@@ -808,7 +861,7 @@ async def mute_member(
808
861
"""
809
862
payload = {
810
863
"mute_end_timestamp" : mute_end_timestamp ,
811
- "mute_seconds" : mute_seconds
864
+ "mute_seconds" : mute_seconds ,
812
865
}
813
866
route = Route ("PATCH" , "/guilds/{guild_id}/members/{user_id}/mute" , guild_id = guild_id , user_id = user_id )
814
867
return await self ._http .request (route , json = payload )
@@ -831,7 +884,7 @@ async def mute_multi_member(
831
884
payload = {
832
885
"mute_end_timestamp" : mute_end_timestamp ,
833
886
"mute_seconds" : mute_seconds ,
834
- "user_ids" : user_ids
887
+ "user_ids" : user_ids ,
835
888
}
836
889
route = Route ("PATCH" , "/guilds/{guild_id}/mute" , guild_id = guild_id )
837
890
return await self ._http .request (route , json = payload )
@@ -1312,7 +1365,7 @@ async def delete_thread(self, channel_id: str, thread_id: str) -> str:
1312
1365
"DELETE" , "/channels/{channel_id}/threads/{thread_id}" , channel_id = channel_id , thread_id = thread_id
1313
1366
)
1314
1367
return await self ._http .request (route )
1315
-
1368
+
1316
1369
async def post_group_message (
1317
1370
self ,
1318
1371
group_openid : str ,
@@ -1444,5 +1497,3 @@ async def post_c2c_file(
1444
1497
payload .pop ("self" , None )
1445
1498
route = Route ("POST" , "/v2/users/{openid}/files" , openid = openid )
1446
1499
return await self ._http .request (route , json = payload )
1447
-
1448
-
0 commit comments