Итак, сегодня я расскажу о том, как написать бота на Python 3 в 2021 году...
Содержание:
Подготовка - Шаг 1
Основной код - Шаг 5
Финальная версия - После Шага 9
Шаг 1
Первым делом надо установить питон и среду в которой вам будет удобно работать с ним... У языка Python есть основной сайт, где вы можете скачать версию, которая вам понравилась (я буду разбирать версии 3.0+). Далее установим среду разработки, это место, где вы будете писать код, лично я рекомендую (Sublime Text 3).
Также стоит создать группу в социальной сети ВК, а далее следуем инструкции
- Переходим в "Управление"
- Работа с API и создаем токен (при создании - отметить все галочки)
- Далее переходим в "Сообщения"
- Включаем сообщения сообщества
- Переходим в "Настройки для бота"
- Включаем возможности ботов
Примечания:
- Во время установки Python 3, внизу будет кнопка в виде: "Add to PATH..." - ее следует нажать, иначе ваши функции будут урезаны
- В приложенных далее фото я уже настроил Sublime Text 3 на свой вкус
Шаг 2
Запускаем cmd от имени администратора (при запуске в обычном режиме у меня не получалось) и вписываем следующее:
pip install vk_api
Таким образом мы устанавливаем библиотеку для работы с сервисом ВКонтакте
Шаг 3
Создаем текстовый документ и переименуем его в main.py, так будет удобнее
Примечание:
- .py - разрешение файла, думаю есть много гайдов, как включить показ разрешений папок, файлов и так далее
Шаг 4
Открываем нашу среду для разработки и закидываем туда наш файл, чтобы открыть его... Далее уже пойдет процесс написания бота
Шаг 5
- Импортируем установленные ранее библиотеки:
import vk_api
from vk_api.longpoll import VkLongPoll, VkEventType
Теперь мы можем работать с ними
Шаг 6
- Авторизируемся в боте:
vk_session = vk_api.VkApi(token = "СЮДА ВСТАВЬТЕ СОЗДАННЫЙ РАНЕЕ ТОКЕН")
session_api = vk_session.get_api()
longpoll = VkLongPoll(vk_session)
Итак, теперь наш бот при запуске создает связь с группой
Шаг 7
- Добавим функцию, которая будет принимать id пользователя и отправлять ему сообщения:
def send_nudes(id, text):
vk_session.method('messages.send', {'user_id' : id, 'message' : text, 'random_id' : 0})
Шаг 8
- Наверстаем условия для работы бота:
for event in longpoll.listen():
-Пока событие можно просмотреть
if event.type == VkEventType.MESSAGE_NEW:
-Если событие - это новое сообщение
if event.to_me:
-Если это сообщение для бота
msg = event.text.lower()
-Делает текст, который присылается маленьким
id = event.user_id
-Создает переменную id = id пользователя
Шаг 9
- Пример кода:
if msg == 'начать' or msg == 'привет':
-Если нам пришло сообщение "начать" или "привет"
-После msg ==, в '' должно быть написано сообщение, которое к нам пришло с МАЛЕНЬКОЙ БУКВЫ
send_nudes(id, '♥Привет!!!')
-Отправить сообщение "♥Привет!!!"
send_nudes(id, '♥Как тебя зовут?')
-Отправить сообщение "♥Как тебя зовут?"
Вот и все по сути...
- Финальная версия кода:
import vk_api
from vk_api.longpoll import VkLongPoll, VkEventType
vk_session = vk_api.VkApi(token = "ВАШ ТОКЕН")
session_api = vk_session.get_api()
longpoll = VkLongPoll(vk_session)
def send_nudes(id, text):
vk_session.method('messages.send', {'user_id' : id, 'message' : text, 'random_id' : 0})
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW:
if event.to_me:
msg = event.text.lower()
id = event.user_id
if msg == 'начать' or msg == 'привет':
send_nudes(id, 'Привет!!!')
send_nudes(id, '♥Как тебя зовут?')
Надеюсь, что моя статья помогла вам,
С наилучшими пожеланиями,
your.reviewer