πŸ€– Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Π±ΠΎΡ‚Π° Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅ Π½Π° Python: простой Π³Π°ΠΉΠ΄

Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Π±ΠΎΡ‚Π° VK с использованиСм Python?

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² Π±ΠΎΡ‚Π° VK с использованиСм Python ΠΎΡ‡Π΅Π½ΡŒ просто. Для этого Π²Π°ΠΌ понадобятся:

  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° VK API для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с VK Bot API
  • Π’ΠΎΠΊΠ΅Π½ доступа вашСго Π±ΠΎΡ‚Π° VK

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ дСмонстрируСт, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Π±ΠΎΡ‚Π° VK:

import vk_api
from vk_api.keyboard import VkKeyboard, VkKeyboardColor

# Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ VkApi
vk_session = vk_api.VkApi(token='YOUR_TOKEN_HERE')
vk = vk_session.get_api()

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹
keyboard = VkKeyboard()

# Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ "НаТми мСня" с Ρ†Π²Π΅Ρ‚ΠΎΠΌ "Π—Π΅Π»Π΅Π½Ρ‹ΠΉ"
keyboard.add_button('НаТми мСня', color=VkKeyboardColor.POSITIVE)

# Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ строки с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ
keyboard.add_line()

# Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ "ΠžΡ‚ΠΌΠ΅Π½Π°" с Ρ†Π²Π΅Ρ‚ΠΎΠΌ "Π‘Π΅Π»Ρ‹ΠΉ"
keyboard.add_button('ΠžΡ‚ΠΌΠ΅Π½Π°', color=VkKeyboardColor.DEFAULT)

# ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сообщСния с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΎΠΉ
vk.messages.send(
    user_id=USER_ID,
    message='ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ',
    keyboard=keyboard.get_keyboard()
)

Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ 'YOUR_TOKEN_HERE' Π½Π° ваш Ρ‚ΠΎΠΊΠ΅Π½ доступа Π±ΠΎΡ‚Π° VK ΠΈ USER_ID Π½Π° ID ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сообщСниС с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΎΠΉ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ большС ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ строк, ΡƒΠΊΠ°Π·Π°Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ†Π²Π΅Ρ‚Π° ΠΊΠ½ΠΎΠΏΠΎΠΊ. ПослС этого Π±ΠΎΡ‚ VK Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ создали.

Π£Π΄Π°Ρ‡ΠΈ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅!

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Π±ΠΎΡ‚Π° Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅ Π½Π° Python

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Π±ΠΎΡ‚Π° Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅, написанного Π½Π° языкС программирования Python. Кнопки ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ взаимодСйствиС с вашим Π±ΠΎΡ‚ΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятным для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

1. Установка Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас установлСны Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ vk_api ΠΈ python-vkbot. Если ΠΎΠ½ΠΈ Π½Π΅ установлСны, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:


pip install vk_api
pip install python-vkbot
  

2. Авторизация Π² Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ созданиС ΠΊΠ½ΠΎΠΏΠΎΠΊ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½ доступа для вашСго Π±ΠΎΡ‚Π° Π² Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅. Для этого:

  1. Π—Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° сайт https://vk.com/dev ΠΈ создайтС Standalone-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
  2. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π΅Π³ΠΎ client_id.
  3. Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄ ΠΏΠΎ ссылкС:
    https://oauth.vk.com/authorize?client_id=YOUR_CLIENT_ID&scope=messages&redirect_uri=https://oauth.vk.com/blank.html&display=page&v=5.131&response_type=token
    Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ YOUR_CLIENT_ID Π½Π° ваш client_id.
  4. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΠΊΠ΅Π½ доступа ΠΈΠ· адрСсной строки ΠΈ сохранитС Π΅Π³ΠΎ.

3. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½ доступа, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ созданию ΠΊΠ½ΠΎΠΏΠΎΠΊ. Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ:


import vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
from vk_api.keyboard import VkKeyboard, VkKeyboardColor

# Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π±ΠΎΡ‚Π°
vk_session = vk_api.VkApi(token='YOUR_ACCESS_TOKEN')
longpoll = VkBotLongPoll(vk_session, 'YOUR_GROUP_ID')
vk = vk_session.get_api()

# Ѐункция ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСния с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ
def send_message(user_id, message, keyboard=None):
    vk.messages.send(
        user_id=user_id,
        message=message,
        random_id=0,
        keyboard=keyboard
    )

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ
keyboard = VkKeyboard(one_time=True)
keyboard.add_button('Кнопка 1', color=VkKeyboardColor.POSITIVE)
keyboard.add_button('Кнопка 2', color=VkKeyboardColor.POSITIVE)
keyboard.add_line()  # ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Π²Ρ‚ΠΎΡ€ΡƒΡŽ строку
keyboard.add_button('Кнопка 3', color=VkKeyboardColor.NEGATIVE)

# ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сообщСния с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ
send_message(user_id=USER_ID, message='ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π²Ρ‹Π±Π΅Ρ€ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ:', keyboard=keyboard.get_keyboard())
  

4. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ

НаконСц, ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ послС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ send_message:


# ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий
for event in longpoll.listen():
    if event.type == VkBotEventType.MESSAGE_NEW:
        if event.obj.get('text') == 'Кнопка 1':
            send_message(user_id=event.obj.get('from_id'), message='Π’Ρ‹ Π½Π°ΠΆΠ°Π»ΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ 1')
        elif event.obj.get('text') == 'Кнопка 2':
            send_message(user_id=event.obj.get('from_id'), message='Π’Ρ‹ Π½Π°ΠΆΠ°Π»ΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ 2')
        elif event.obj.get('text') == 'Кнопка 3':
            send_message(user_id=event.obj.get('from_id'), message='Π’Ρ‹ Π½Π°ΠΆΠ°Π»ΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ 3')
  

5. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности

ΠšΡ€ΠΎΠΌΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ с тСкстом, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ с ссылками ΠΈΠ»ΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… событий. Π­Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ слоТной ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ для создания Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±ΠΎΡ‚Π°.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Π±ΠΎΡ‚Π° Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅ Π½Π° Python. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ взаимодСйствиС с вашими ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ вашСго Π±ΠΎΡ‚Π° Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ Π² использовании.

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ Π² вашСм Π±ΠΎΡ‚Π΅, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΡ… ΠΏΠΎ своСму ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Vkontakte BOT (vk_api python) [2] | ΠšΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°, ΠΊΠ½ΠΎΠΏΠΎΡ‡ΠΊΠΈ.

ΠšΠ›ΠΠ’Π˜ΠΠ’Π£Π Π Π”Π›Π― VK Π‘ΠžΠ’Π ЗА 10 МИНУВ Π‘Π«Π‘Π’Π Πž И Π£Π”ΠžΠ‘ΠΠž

ГСнСрация ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° простой ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. ΠšΡƒΡ€Ρ "Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ‡Π°Ρ‚-Π±ΠΎΡ‚Π° Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅ Π½Π° python". Π§Π°ΡΡ‚ΡŒ 5

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ” Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ пСрСнос Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅?

πŸ“ˆΠšΠ°ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ тСкст Π² idle python: простыС способы для Π»ΡƒΡ‡ΡˆΠ΅ΠΉ видимости

πŸ“š Как ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊ списку Python: практичСскоС руководство!

πŸ€– Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Π±ΠΎΡ‚Π° Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅ Π½Π° Python: простой Π³Π°ΠΉΠ΄

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ int Π² Python: руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ–ŠοΈ Как ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

πŸ” Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ string Π² python: ΠΎΠ±Π·ΠΎΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ