restrictChatMember method

Future<bool> restrictChatMember(
  1. ID chatId,
  2. int userId,
  3. ChatPermissions permissions, {
  4. DateTime? untilDate,
  5. bool? useIndependentChatPermissions,
})

Use this method to restrict a user in a supergroup. The bot must be an administrator in the supergroup for this to work and must have the appropriate administrator rights. Pass True for all permissions to lift restrictions from a user. Returns True on success.

See: https://core.telegram.org/bots/api#restrictchatmember

Implementation

Future<bool> restrictChatMember(
  ID chatId,
  int userId,
  ChatPermissions permissions, {
  DateTime? untilDate,
  bool? useIndependentChatPermissions,
}) async {
  final params = <String, dynamic>{
    'chat_id': chatId,
    'user_id': userId,
    'permissions': permissions,
    'until_date': ?untilDate.secondsSinceEpoch,
    'use_independent_chat_permissions': ?useIndependentChatPermissions,
  };

  final payload = Payload(params);
  return await _makeRequest<bool>(APIMethod.restrictChatMember.name, payload);
}