Переносим логику в ВК

Эхо в ВК работает. Но эхо это скучно, ты уже умеешь больше. Перенесём в ВКонтакте настоящую логику: пусть бот по-разному отвечает на разные слова, как наше меню в Telegram. И заодно закрепим главную мысль курса: принцип один, площадки разные.

После урока сможешь: объяснить тему «Переносим логику в ВК» и выполнить связанный с ней учебный шаг без подсказки.

Иллюстрация: бот на двух площадках — робот переносит свою логику между двумя пустыми чат-окнами

Где живёт логика

В Telegram у нас на каждое поведение был свой обработчик с табличкой @. Во ВКонтакте всё происходит внутри цикла. Значит, и нашу логику пишем там же, через знакомые if / elif / else. По сути это то же ветвление, что и в угадайке или напоминалке.

Отвечаем по словам

for event in longpoll.listen():
    if event.type == VkEventType.MESSAGE_NEW and event.to_me:
        text = event.text.lower()
        if text == "привет":
            otpravit(event.user_id, "Привет! Я бот ВКонтакте.")
        elif text == "погода":
            otpravit(event.user_id, "За окном отлично, но я этого не вижу.")
        else:
            otpravit(event.user_id, "Напиши «привет» или «погода».")
  • text = event.text.lower() переводит сообщение в маленькие буквы, так бот поймёт и «Привет», и «ПРИВЕТ», и «привет».
  • Дальше обычная развилка: сравниваем текст с известными словами и шлём нужный ответ.
  • На всё незнакомое срабатывает else с подсказкой. Точно как в Telegram, только проверки собраны в цикле, а не разнесены по обработчикам.

Положи рядом этот код и любое своё меню из Модуля 2. Суть одинаковая: получил сообщение, посмотрел, что в нём, выбрал ответ. Поменялись слова-команды библиотеки, а способ думать остался твой. Вот это и есть настоящий навык: ты не зубрил один мессенджер, ты понял, как устроены боты вообще.

Куда расти

Во ВКонтакте тоже есть кнопки, они называются клавиатура сообщества и задаются чуть сложнее, через готовый помощник VkKeyboard. Если захочешь, разберёшься по примерам, ты уже на это способен. А в нашем курсе главным было показать перенос, и ты его сделал.

Контрольный вопрос. Чтобы бот ВК понимал и «Привет», и «ПРИВЕТ», текст приводят к нижнему регистру методом event.text.____(). Напиши имя метода.

Подсказка: text.lower()

Онлайн-проверка ответа появится позже

Задание. Возьми любого своего бота из прошлых модулей (меню, угадайку или напоминалку) и собери его упрощённую версию во ВКонтакте. Бот реально работает в ВК, перенесена осмысленная логика (не только эхо), и ты можешь объяснить, что в коде поменялось, а что осталось тем же. Пришли короткое видео работы бота во ВКонтакте и одной строкой напиши, какого бота переносил.

Подсказка: Логику пиши через if/elif внутри цикла longpoll. Меняется обёртка отправки и приёма, сама логика остаётся той же.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Онлайн-проверка ответа появится позже

Зачёт, если:
✅ бот реально работает в ВК;
✅ перенесена осмысленная логика, не только эхо;
✅ можешь объяснить, что в коде поменялось, а что осталось прежним;
✅ прислано видео работы во ВКонтакте и строка, какого бота переносил.

Назад  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  Вперёд →

Школа Виктора Комлева