@@ -2,24 +2,38 @@ module RedmineBots::Telegram::Tdlib
22 class ToggleChatAdmin < Command
33 def call ( chat_id , user_id , admin = true )
44 status =
5- if admin
6- TD ::Types ::ChatMemberStatus ::Administrator . new (
7- is_anonymous : false ,
8- can_post_messages : true ,
9- can_be_edited : true ,
10- can_change_info : true ,
11- can_edit_messages : true ,
12- can_delete_messages : true ,
13- can_invite_users : true ,
14- can_restrict_members : true ,
15- can_pin_messages : true ,
16- can_promote_members : true ,
17- custom_title : 'Redmine admin'
18- )
19- else
20- TD ::Types ::ChatMemberStatus ::Member . new
21- end
22- client . get_user ( user_id : user_id ) . then { client . set_chat_member_status ( chat_id : chat_id , user_id : user_id , status : status ) } . flat
5+ if admin
6+ TD ::Types ::ChatMemberStatus ::Administrator . new (
7+ rights : rights ,
8+ can_be_edited : true ,
9+ custom_title : 'Redmine admin'
10+ )
11+ else
12+ TD ::Types ::ChatMemberStatus ::Member . new
13+ end
14+ client . get_user ( user_id : user_id ) . then { client . set_chat_member_status ( chat_id : chat_id , member_id : user_id , status : status ) } . flat
15+ end
16+
17+ private
18+
19+ def rights
20+ TD ::Types ::ChatAdministratorRights . new (
21+ can_manage_topics : true ,
22+ can_manage_chat : true ,
23+ can_change_info : true ,
24+ can_post_messages : true ,
25+ can_edit_messages : true ,
26+ can_delete_messages : true ,
27+ can_invite_users : true ,
28+ can_restrict_members : true ,
29+ can_pin_messages : true ,
30+ can_promote_members : true ,
31+ can_manage_video_chats : true ,
32+ can_post_stories : false ,
33+ can_edit_stories : false ,
34+ can_delete_stories : false ,
35+ is_anonymous : false
36+ )
2337 end
2438 end
2539end
0 commit comments