Edit information about a participant of a non-RTMP video chat/livestream or conference. The raise_hand field is only supported in video chats/livestreams, see here » for more info.
Note: flags.N?Bool parameters can have three possible values:
true.false.updatesTooLong#e317af7e = Updates;
updateShortMessage#faeff833 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true id:int user_id:int message:string pts:int pts_count:int date:int fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?int reply_to:flags.3?MessageReplyHeader entities:flags.7?Vector<MessageEntity> ttl_period:flags.25?int = Updates;
updateShortChatMessage#1157b858 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true id:int from_id:int chat_id:int message:string pts:int pts_count:int date:int fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?int reply_to:flags.3?MessageReplyHeader entities:flags.7?Vector<MessageEntity> ttl_period:flags.25?int = Updates;
updateShort#78d4dec1 update:Update date:int = Updates;
updatesCombined#725b04c3 updates:Vector<Update> users:Vector<User> chats:Vector<Chat> date:int seq_start:int seq:int = Updates;
updates#74ae4240 updates:Vector<Update> users:Vector<User> chats:Vector<Chat> date:int seq:int = Updates;
updateShortSentMessage#9015e101 flags:# out:flags.1?true id:int pts:int pts_count:int date:int media:flags.9?MessageMedia entities:flags.7?Vector<MessageEntity> ttl_period:flags.25?int = Updates;
---functions---
phone.editGroupCallParticipant#d975eb80 flags:# muted:flags.0?true call:InputGroupCall participant:InputPeer volume:flags.1?int raise_hand:flags.2?Bool = Updates;
| Name | Type | Description |
|---|---|---|
| flags | # | Flags, see TL conditional fields |
| call | InputGroupCall | Non-RTMP video chat/livestream or conference |
| participant | InputPeer | The group call participant (can also be the user itself) |
| muted | flags.0?Bool | Change the participant's mute state; allowing a forcibly muted participant to self-unmute does not immediately unmute them |
| volume | flags.1?int | New volume, between 1 and 20000; 10000 represents 100%. Without moderation rights, changing another participant's volume affects only local playback |
| raise_hand | flags.2?Bool | Raise or lower hand; only supported in video chats/livestreams |
| video_stopped | flags.3?Bool | Start or stop the current user's video stream |
| video_paused | flags.4?Bool | Pause or resume the current user's video stream |
| presentation_paused | flags.5?Bool | Pause or resume the current user's presentation stream |
| Code | Type | Description |
|---|---|---|
| 403 | GROUPCALL_FORBIDDEN | The specified group call cannot be used in this context. |
| 400 | GROUPCALL_INVALID | The specified group call is invalid. |
| 400 | PARTICIPANT_JOIN_MISSING | Trying to enable a presentation, when the user hasn't joined the Video Chat with phone.joinGroupCall. |
| 400 | RAISE_HAND_FORBIDDEN | You cannot raise your hand. |
| 400 | USER_ID_INVALID | The provided user ID is invalid. |
| 400 | USER_VOLUME_INVALID | The specified user volume is invalid. |
| 400 | VIDEO_PAUSE_FORBIDDEN | You cannot pause the video stream. |
| 400 | VIDEO_STOP_FORBIDDEN | You cannot stop the video stream. |
How to start, join and manage group calls and video chats.
Boolean type.
The constructor can be interpreted as a booleantrue value.
Constructor may be interpreted as a booleanfalse value.
Join any group call type ». Conference calls additionally require the E2E joining flow ».
The params field must contain a join payload generated by the local tgcalls group-call engine. It contains a random non-zero audio ssrc, ICE ufrag and pwd, DTLS fingerprints, and, when publishing video, ssrc-groups.
For example, a join payload without published video has the following shape:
{
"ssrc": 123456789,
"ufrag": "...",
"pwd": "...",
"fingerprints": [{
"hash": "sha-256",
"fingerprint": "...",
"setup": "passive"
}]
}
When joining an RTMP-mode call, generate the payload without published video source groups.