@xx_bloodworld_xx

NoneType: 'NoneType' object is not subscriptable. Как быть, где допустил ошибку?

Делал код бота на вк. Запускается, но после того как я отправляю сообщение, консоль выдает ошибку:

Traceback (most recent call last):
  File "C:\Users\юзер\Desktop\Bot for group\main.py", line 39, in <module>
    VkBot().run()
  File "C:\Users\юзер\Desktop\Bot for group\main.py", line 27, in run
    user_id = msg['from_id']
TypeError: 'NoneType' object is not subscriptable
[Finished in 428.3s]

Фрагмент кода:

def run(self):
		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]

				print(user_id, text, '\n', fwd)
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
msg = event.object.message
user_id = msg['from_id']

Значит, msg - это None.
1. Читай документацию на используемую библиотеку, в каких случаях это может быть
2. Выполняй операции только если if msg is not None:
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы