oooh my...
Зачем бесконечный цикл оборачивать в еще один?while True: #бесконечный цикл for event in longpoll.listen(): #прослушиваем все сообщения
Кусок из библиотеки:
Так для каждой команды шоле писать, не проще создать функцию для отправки?vk.method("messages.send", { "peer_id": peer_id, "message": "Прииивееетт!!", "random_id": random.randint(1, 2147483647)})
Код:
def send_message(user_id, msg, keyboard = None, attachments = None):
vk_session.method('messages.send', {'user_id': user_id,
'random_id': get_random_id(),
'message': msg,
'attachment': attachments,
'keyboard': keyboard})
send_message(id, 'text')
Так а если не только на сообщения реагируем? Будем листать овердофига строк пока не дойдем до нужного ивента в коде что-бы что-то отредачить? Почему не создать обработчики для каждого используемого типа событий и в листенере вызывать при ивенте соответствующий обработчик.if event.type == VkBotEventType.MESSAGE_NEW: mess = event.obj['text'] #преобразуем текст сообщения в переменную peer_id = event.obj['peer_id'] if mess == "Привет!": #если текст сообщения = Привет!, отправляем сообщение.
Python:
if event.type == VkBotEventType.MESSAGE_NEW:
on_message(event.obj.from_id, event.obj.text, event.obj.payload, event.obj.id)
elif event.type == VkBotEventType.GROUP_LEAVE:
on_leave()
Зачем нам либа если мы ей не пользуемся?statusOut = "Пожалуйста, авторизуйтесь для просмотра ссылки." + str(statusSave) + "&v=5.95&access_token=" + token #конечная ссылка на замену статуса с помощью метода в вк апи status.set
return requests.get(str(statusOut)) # заменяем статус.
Python:
vk.method('status.set', {'text': 'status'})