import vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import random
token = "token"
vk = vk_api.VkApi(token=token)
longpoll = VkBotLongPoll(vk, 12345678)
##################################################################################################
def sender(chat_id, message):
vk.method("messages.send", {"chat_id": chat_id, "message": message, "random_id": 0})
def rename(chat_id, title):
vk.method("messages.editChat", {"chat_id": cid, "title": title})
def greeting(chat_id, user_ids):
user = vk.method("users.get", {"user_ids": user_ids})
fullname = user[0]["first_name"]
gg = "[id" + str(user_ids) + "|" + str(fullname) + "], здравствуй, чувствуй себя как дома."
vk.method("messages.send", {"chat_id": chat_id, "message": gg, "random_id": 0})
##################################################################################################
while True:
for event in longpoll.listen():
if event.type == VkBotEventType.MESSAGE_NEW:
msg = event.object.message['text'].lower()
bodyone = msg.split()
id = event.message.from_id
cid = event.chat_id
if event.object.message['action']['type'] == "chat_invite_user":
greeting(cid, id)
if event.object.message['action']['type'] == "chat_pin_message":
sender(cid, "Открепляй.")
Как видно выше, есть 2 триггера, один на присоединение участника, второй на закрепление сообщения, оба работают как надо, но если в беседу написать что-то иное, даже просто "привет", выдаёт такую вот ошибку:
Traceback (most recent call last):
File "путь к .py файлу", line 47, in <module>
if event.object.message['action']['type'] == "chat_pin_message":
KeyError: 'action'
>>>