Ответы пользователя по тегу API
  • Как получить conversation_message_id из метода message.send?

    @RINAMI
    Занимаюсь монтажом и дизайном. PSD,AEX,VEG.
    event.object.message['conversation_message_id']
    Ответ написан
    Комментировать
  • Как остановить цикл отправив сообщение в вк?

    @RINAMI
    Занимаюсь монтажом и дизайном. PSD,AEX,VEG.
    while True:
        if message.startswith('autosend'):
              intspam = message[9:]
              autosend(intspam)
           if message == 'stop':
               break
    Ответ написан
  • Как узнать последнее отправленное сообщение конкретному пользователю от группы ВК?

    @RINAMI
    Занимаюсь монтажом и дизайном. PSD,AEX,VEG.
    Что получить conversation_message_id нужно просто создать переменную типа:
    conv = event.obj.message['conversation_message_id']

    Peer_id в сообщениях с пользователем:
    per = event.object.message['from_id']
    Если же нужно отвечать как вы сказали конкретному пользователю, то перед поставьте условие:
    if event.from_user:
        id =  event.object.message['from_id']
        if id == 'айди пользователя'
        #Код
    Ответ написан
  • Как написать бота для вк с функциями администрирования беседы, а именно кик, бан, мут и предупреждение?

    @RINAMI
    Занимаюсь монтажом и дизайном. PSD,AEX,VEG.
    Функция кика реализуется очень просто:
    def kicker(id):
         vk.method("messages.removeChatUser", {'chat_id': id, 'user_id': mes.split(' ')[1]})
    #Вызов
     if mes.split(' ')[0] == 'кик':
        mes = event.object.message['text']
        id = event.chat_id
        kicker(id)

    Насчёт бана мута и предупреждений. Чтобы реализовать функцию бана потребуется txt файл, пример:
    Добавляете айди пользователя в txt файл и проверяете:
    #Функция бана
    def ban(id, user_id):
          vk.method("messages.removeChatUser", {'chat_id': id, 'user_id': user_id})
    check = open('имя_файла', 'r')
    recheck = check.read()
    user_id = event.object.message['from_id']
    if user_id in recheck :
           ban(id, user_id)

    ЛИБО:
    Создаём проверку на вступления участника в беседу и новую функцию:
    def banagain(id, rinvite_id)
          vk.method("messages.removeChatUser", {'chat_id': id, 'user_id': rinvite_id})
                    try:
                        rin = event.message.action['type']
                        rinvite_id = event.message.action['member_id'] 
                    except:
                        rinvite_id = -100
                        rin = ''
                   if rin == 'chat_invite_user':
                      if rinvite_id in recheck:
                              banagain(id, rinvite_id)

    Методы "предов" и мута делаются почти точно также, но там нужен модуль time, да и саму функцию бана можно реализовать с использованием модуля datetime.
    P.S с помощью User Long Poll можно сделать так чтобы после бана пользователя уведомляло об этом. Также можно добавлять пользователя в список забаненных с помощью взаимодействия с файлами, можешь почитать тут
    Ответ написан
    Комментировать