Есть у меня подозрения, что
restrict_chat_member неправильно работает в библиотеке telebot.
Если посмотреть документацию по Bot API, то там указано, что в метод
restrictChatMember подставляется параметр
permissions, который является
JSON строкой.
А метод
bot.restrict_chat_member, если покопаться на
гитхабе просто передает все разрешения, не переводя их в JSON и не помещая в отдельный аргумент permissions.
Как вариант - вызвать метод
restrictChatMember напрямую Post запросом с помошью библиотеки requests, правильно передав туда все необходимые параметры