Добавлена команда исключения участника.
This commit is contained in:
parent
7ac6cd9bd1
commit
b11b3ab16d
2 changed files with 35 additions and 1 deletions
|
|
@ -1,4 +1,4 @@
|
|||
from vkbottle import bold
|
||||
from vkbottle import bold, VKAPIError
|
||||
from vkbottle.bot import Message
|
||||
from vkbottle_types.codegen.objects import MessagesGetConversationMembers
|
||||
|
||||
|
|
@ -157,3 +157,36 @@ async def warning_handler(message: Message):
|
|||
user['warnings'],
|
||||
utils.make_word_agree_with_number(user['warnings'], 'предупреждение'))
|
||||
)
|
||||
|
||||
|
||||
@labeler.chat_message(text="!исключить")
|
||||
async def ban_handler(message: Message):
|
||||
chat_id = message.peer_id
|
||||
chat = database.create_chat_if_not_exists(chat_id)
|
||||
if chat['active'] == 0:
|
||||
await message.answer(MESSAGE_CHAT_NOT_ACTIVE)
|
||||
return
|
||||
|
||||
chat_members = await message.ctx_api.messages.get_conversation_members(peer_id=chat_id, extended=False)
|
||||
|
||||
if not vk_user_is_admin(message.from_id, chat_members):
|
||||
await message.answer(MESSAGE_PERMISSION_DENIED)
|
||||
return
|
||||
|
||||
if message.reply_message is None:
|
||||
await message.answer(MESSAGE_NEED_REPLY)
|
||||
return
|
||||
|
||||
user_id = message.reply_message.from_id
|
||||
|
||||
try:
|
||||
await message.ctx_api.messages.remove_chat_user(chat_id - 2000000000, member_id=user_id)
|
||||
|
||||
if user_id > 0:
|
||||
database.DB.delete_user(chat_id, user_id)
|
||||
|
||||
user_info = await message.ctx_api.users.get(user_ids=[user_id])
|
||||
await message.answer('Участник {} {} исключен.'.format(user_info[0].first_name, user_info[0].last_name))
|
||||
except VKAPIError as e:
|
||||
print(e)
|
||||
await message.answer('Извините, у меня не получилось исключить этого участника.')
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ async def rules_handler(message: Message):
|
|||
response += '!возвращение* - изменить приветствие при возвращении\n'
|
||||
response += '!деньрождения* - изменить уведомление о дне рождения\n'
|
||||
response += '!предупреждение* - выдать предупреждение участнику\n'
|
||||
response += '!исключить* - навсегда исключить участника\n'
|
||||
response += '\n'
|
||||
response += italic('Команды с пометкой * нужно вызывать в ответном сообщении.')
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue