English is not my native I wrote bot for group chat. And had issue with giving new status to group member.
import telebot
from telebot import types
@bot.message_handler(commands = ['ban'])
def ban(message):
print(bot.get_chat_member(chat_id=message.chat.id, user_id=message.from_user.id))
bot.get_chat_member(chat_id=message.chat.id, user_id=message.from_user.id).status = 'administrator'
bot.get_chat_member(chat_id=message.chat.id, user_id=message.from_user.id).can_edit_messages = True
bot.get_chat_member(chat_id=message.chat.id, user_id=message.from_user.id).can_delete_messages = True
bot.get_chat_member(chat_id=message.chat.id, user_id=message.from_user.id).can_restrict_members = True
print(bot.get_chat_member(chat_id=message.chat.id, user_id=message.from_user.id))
There is method get_chat_member should change status of member from 'member' to 'administrator'. However I can't say why status doesn't change. Thanks for your attention. Waiting for any answer
pass pass pass pass
To change the status of user you have to use promote_chat_member
like this:
import telebot
from telebot import types
@bot.message_handler(commands=['ban'])
def ban(message):
user_id = message.from_user.id
chat_id = message.chat.id
bot.promote_chat_member(chat_id=chat_id, user_id=user_id,
can_edit_messages=True,
can_delete_messages=True,
can_restrict_members=True)
member = bot.get_chat_member(chat_id=chat_id, user_id=user_id)
print(member)