Top.Mail.Ru
Ответы

Python vk api AttributeError: 'NoneType' object has no attribute 'startswith'

Вот в этом коде появляется ошибка
import vk_api
from vk_ api.bot _longpoll import VkBotLongPoll, VkBotEventType

# Ключ доступа сообщества ВК
token = ''

# ID группы ВК
group_id = id

# Создаем объект API
vk_session = vk_api.VkApi(token=token)
vk = vk_session.get_api()


# Функция для отправки сообщения
def send_message(peer_id, message):
vk.messages.send(peer_id=peer_id, random_id=vk_api.utils.get_random_id(), message=message)


# Функция для кика участника
def kick_user(group_id, user_id):
vk.messages.removeChatUser(chat_id=group_id, user_id=user_id)


# Функция для бана участника
def ban_user(group_id, user_id):
vk.messages.removeChatUser(chat_id=group_id, user_id=user_id, member_id=user_id)


# Обработка событий беседы
longpoll = VkBotLongPoll(vk_session, group_id)

for event in longpoll.listen():
if event.type == VkBotEventType.MESSAGE_NEW:
if event.obj.text.startswith('/kick'):
# Получаем ID пользователя для кика
user_id = event.obj.from_id
kick_user(group_id, user_id)
send_message(event.obj.peer_id, f'Пользователь c ID {user_id} был кикнут из беседы.')
elif event.obj.text.startswith('.ban'):
user_id = event.obj.from_id
ban_user(group_id, user_id)
send_message(event.obj.peer_id, f'Пользователь c ID {user_id} был забанен в беседе.')

По дате
По рейтингу
Аватар пользователя
Мыслитель

Потому-что вызываешь метод "startswith" с значением None.
Сначала нужно делать проверку:

12
 for event in longpoll.listen():   
if event.type == VkBotEventType.MESSAGE_NEW and event.obj.text: