Задать вопрос
@Xindryga

(vk_api bot vk) Как сделать кик через упоминание?

У меня есть код, команды работают на пользователя только через ответное сообщение этого пользователя. Помогите переделать так, что-бы команда работала на человека через его упоминание "@"
Код main.py:
import vk_api
from vk_api.bot_longpoll import VkBotEventType, VkBotLongPoll
import utils
# import re
from config import *


class MyLongPool(VkBotLongPoll):
    def listen(self):
        while True:
            try:
                for event in self.check():
                    yield event
            except Exception as e:
                print(e)


class VkBot:
    def __init__(self):
        self.vk_session = vk_api.VkApi(token=token)
        self.longpoll = VkBotLongPoll(self.vk_session, 214680736)

    def run(self):
        global fwd_user
        for event in self.longpoll.listen():
            if event.type == VkBotEventType.MESSAGE_NEW:
                msg = event.object.message
                user_id = msg['from_id']
                user = utils.get_user_by_id(user_id)
                text = msg['text']
                fwd = self.vk_session.method('messages.getByConversationMessageId', {
                    'conversation_message_ids': msg['conversation_message_id'],
                    'peer_id': msg['peer_id']
                })['items'][0]

                if 'reply_message' in fwd:
                    fwd = fwd['reply_message']
                else:
                    fwd = None

                if user.vk_id == admin_id:
                    if fwd:
                        if text == '/kick' in str(event.type):
                            fwd_user.warns = 0
                            fwd_user.save()
                            self.vk_session.method('messages.removeChatUser', {
                                'user_id': fwd['from_id'],
                                'chat_id': msg['peer_id'] - 2000000000
                            })
  • Вопрос задан
  • 121 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
@defriz
люблю js
проверять, есть ли в строчке @ или, например, такая конструкция [idайди|домен]. потом доставать из нее id.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы