'SetChatPermissions using pyTelegramBotAPI
I am trying to create a bot that will set chat permissions using pyTelegramBotAPI package but it returns an error when parameters are passed.
Could anyone help me with my code?
import os
import telebot
API_KEY = os.environ['API_KEY']
bot = telebot.TeleBot(API_KEY)
@bot.message_handler(commands=["ro"])
def read_only(message):
bot.set_chat_permissions(message.chat.id, {"can_send_messeges":False})
bot.polling()
Errors:
Traceback (most recent call last): File "main.py", line 38, in bot.polling() File "/home/runner/TeleBot/venv/lib/python3.8/site-packages/telebot/init.py", line 658, in polling self.__threaded_polling(non_stop, interval, timeout, long_polling_timeout, allowed_updates) File "/home/runner/TeleBot/venv/lib/python3.8/site-packages/telebot/init.py", line 720, in __threaded_polling raise e File "/home/runner/TeleBot/venv/lib/python3.8/site-packages/telebot/init.py", line 680, in __threaded_polling self.worker_pool.raise_exceptions() File "/home/runner/TeleBot/venv/lib/python3.8/site-packages/telebot/util.py", line 135, in raise_exceptions raise self.exception_info File "/home/runner/TeleBot/venv/lib/python3.8/site-packages/telebot/util.py", line 87, in run task(*args, **kwargs) File "main.py", line 36, in read_only bot.set_chat_permissions(message.chat.id, {"can_send_messeges":False}) File "/home/runner/TeleBot/venv/lib/python3.8/site-packages/telebot/init.py", line 1770, in set_chat_permissions return apihelper.set_chat_permissions(self.token, chat_id, permissions) File "/home/runner/TeleBot/venv/lib/python3.8/site-packages/telebot/apihelper.py", line 1026, in set_chat_permissions 'permissions': permissions.to_json() AttributeError: 'dict' object has no attribute 'to_json'
Solution 1:[1]
import os
from telebot import TeleBot
from telebot.types import ChatPermissions
API_KEY = os.environ['API_KEY']
bot = TeleBot(API_KEY)
@bot.message_handler(commands=["ro"])
def read_only(message):
chp = ChatPermissions(can_send_messages=False)
bot.set_chat_permissions(message.chat.id, permissions=chp)
bot.polling()
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | hoosnick |
