@ilya_ya

Что за непонятная конструкция responce[items][0][id]?

Здравствуйте. я учу питон и решил написать своего чат бота дл я вк по видео урокам и статье на хабре.
Писал так же, как на видео уроке, все работает. НО для меня осталась не понятна некоторая часть кода.
#импортируем вк апи
from vk_api import *
#имортируем модуль времени
import time
#vk=VkApi(token='*****'')
#создаем переменную и входим в наше сообщество/аккаунт
vk=VkApi(login='******',password='****')
vk.auth()


val={'out':0,'count':100,'time_offset':60}
responce = vk.method('messages.get',val)
#учим бота получать сообщения
vk.method('messages.get',val)

#учим бота отправлять сообщения
def write_mes(user_id,s):
    vk.method('messages.send',{'user_id':user_id,'message':s})

#создаем цикл: пока нам пишут -мы отвечаем
while True:
    #создаем переменную ответа
    responce = vk.method('messages.get',val)
    
    if responce['items']:
        val['last_message_id']=responce['items'][0]['id']
    for item in responce['items']:

        if responce['items'][0]['body']=='йоу':
            write_mes(item['user_id'],'йоу-йоу')
        if responce['items'][0]['body']=='привет':
            write_mes(item['user_id'],'и тебе привет')
        else:
            write_mes(item['user_id'], 'эээээ')


    time.sleep(1)

не понятно вот тут
if responce['items']:#что это за конструкция
        val['last_message_id']=responce['items'][0]['id']#что это за конструкция

Гуглил-не нашлось
Помогите пожалуйста, кому не трудно
  • Вопрос задан
  • 371 просмотр
Пригласить эксперта
Ответы на вопрос 3
sim3x
@sim3x
type(responce)  # dict
type(responce['items'])  # list
type(responce['items'][0])  # dict


Пройдитесь еще раз по учебнику по питону
Ответ написан
Antonchik
@Antonchik
Программирую на HTML
# responce['items'] - это массив сообщений 
if responce['items']: #Если есть items
        # Записываем в val['last_message_id'] id последнего сообщения 
        # id последнего сообщения хранится в первом элементе массива 'items' в поле id
        val['last_message_id']=responce['items'][0]['id']
Ответ написан
Комментировать
DarkWizardUa
@DarkWizardUa
Математик, кодер
Я не занимался вк ботами, но занимаюсь тг ботами, по-этому попробую помочь.
Поскольку response - это ответ, сообщение от пользователя, т.е. масив, который содержит все об ответе, где response['items'] это будет значение либо True - есть ответ, либо False - нет ответа, но в тоже время он каким-то образом еще и масив, потому что response['items'][0]['id'] это id сообщения
Ответ написан
Ваш ответ на вопрос

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

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