рдПрдХ рдШрдВрдЯреЗ рдореЗрдВ MySQL рдХреЗ рд╕рд╛рде рдкрд╛рдпрдерди рдкрд░ рд╡реАрдХреЗ рдХреЗ рд▓рд┐рдП рдмреЙрдЯ, рднрд╛рдЧ 1

рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХрдИ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ Vkontakte рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЙрдЯ рд▓рд┐рдЦрдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рд╕рднреА рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдорд┐рдпрд╛рдВ рд╣реИрдВред рд╡реЗ рдПрдХ рдмрд╣реБрдд рд╣реА рдиреНрдпреВрдирддрдо рдЖрдзрд╛рд░ рджреЗрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдордЭрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ рдХрд┐ рдХреБрдЫ рдЪреАрдЬреЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред

рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдореИрдВ рдпрд╣ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдмрдбрд╝реЗ рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рд╕рд░рд▓ рдмреЙрдЯ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред

рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рд╣рдореЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП?


  • рд╕рдВрд╕реНрдХрд░рдг 2.7 рдХреЗ рдмрд╛рдж рд╕реЗ рдкрд╛рдпрдерди (рд╕рднреА рд╕рдВрд╕реНрдХрд░рдг 2.7.16 рдФрд░ 3.7.3 рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)
  • PyMySQL рдореЙрдбреНрдпреВрд▓
  • Vk_api рдореЙрдбреНрдпреВрд▓
  • рдЕрдиреБрд░реЛрдз рдореЙрдбреНрдпреВрд▓
  • VKontakte Group (рдзреНрдпрд╛рди рджреЗрдВ! рдмреЙрдЯ рд╕рдореВрд╣ рдХреЗ рдкрдХреНрд╖ рд╕реЗ рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдФрд░ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдЦрд╛рддреЗ рдХреА рддрд░рдл рд╕реЗ рдирд╣реАрдВ)
  • рдбреЗрдЯрд╛рдмреЗрд╕ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рд╕рд╣рд┐рдд, рдЖрджрд┐)

рд╕рдВрдмрдВрдз


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝реЗрдВрдЧреЗ:

import vk_api from vk_api.utils import get_random_id from from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType import pymysql.cursors import requests 

рдЕрдм рдЖрдк рдмреЙрдЯ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рднреА рдбреЗрдЯрд╛ config.py рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИред рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХрд╣реАрдВ рднреА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди


рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, PyMySQL рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдПрдВ:

 def get_connection(): connection = pymysql.connect(host='you_host', user='you_user', password='you_password', db='you_db' charset='utf8mb4', cursorclass=mymysql.cursors.DictCursor) return connection 

рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд▓реМрдЯрд╛рдПрдЧрд╛ред рддрджрдиреБрд╕рд╛рд░, рд╣рдо рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╣рдо "you_" рджреЗрдЦрддреЗ рд╣реИрдВред

рдмреЙрдЯ рдХрдиреЗрдХреНрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдЕрдкрдиреЗ рд╕рдореВрд╣ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:



рдПрдкреАрдЖрдИ рдЯреИрдм рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдПрдХ рдкрд╣реБрдВрдЪ рдХреБрдВрдЬреА рдмрдирд╛рдПрдВ (рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмреЙрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред



"рд▓реЙрдиреНрдЧ рдкреЛрд▓ рдПрдкреАрдЖрдИ" рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░реЗрдВред рдирд╡реАрдирддрдо рдЙрдкрд▓рдмреНрдз рд╕рдВрд╕реНрдХрд░рдг рднреА рдЪреБрдиреЗрдВ



"рдИрд╡реЗрдВрдЯ рдкреНрд░рдХрд╛рд░" рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЖрдкрдХреА рдЬрд╝рд░реВрд░рдд рдХреА рд╕рднреА рдЪреАрдЬрд╝реЛрдВ рдХреЛ рднреА рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВред рдореИрдВрдиреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛



рдФрд░ рдЖрдЦрд┐рд░реА рд╡рд╛рд▓рд╛ред рд╕рдВрджреЗрд╢> рдмреЙрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдмреЙрдЯреНрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВред рдЕрдм рдЖрдк рд╕реНрд╡рдпрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред



рдПрдХ рдмреЙрдЯ рдХреЛ рдПрдХ рд╕рдореВрд╣ рд╕реЗ рдЬреЛрдбрд╝рдирд╛


рдЕрдм рд╣рдо рдмреАрдУрдЯреА рдХреЗ рд╕рдВрдмрдВрдз рдХреЛ рд▓рдВрдмреЗ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдФрд░ рд╡реАрдХреЗ рдХреА рдУрд░ рд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдВрдЧреЗ:

 vk_session = vk_api.VkApi(token=" ,      ") # vk_session = vk_api.VkApi(token = "a6f87v8c9a9sa87a7af9a0f9f9v8a6s6c5b5m6n8bds09asc8d7b87d87bd87n" vk = vk_session.get_api() longpoll = VkBotLongPoll(vk_session, "id   ") # longpoll = VkBotLongPoll(vk_session, "637182735") for event in longpoll.listen(): #  if event.type == VkBotEventType.MESSAGE_NEW: 

рдЕрдм рд╣рдордиреЗ рдЦреБрдж рдмреЙрдЯ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ рдФрд░ рдЖрдЧреЗ рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЙрдирдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдЧрд╛ред

рдмреЙрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ


рдЖрдЗрдП рд╣рдорд╛рд░реЗ рд╕рдВрджреЗрд╢реЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рд╕рдВрджреЗрд╢ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЙрдЯ рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдХреЗ рдмрд╛рдж рд╣рдо рдЗрд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:

 if event.type == VkBotEventType.MESSAGE_NEW: #   #       if event.obj.text != '': #       if event.from_user: vk.messages.send( user_id=event.obj.from_id, random_id=get_random_id(), message=event.obj.text) 

рдЕрдм vk.messages.send () рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдпрд╣ vk_api рдореЙрдбреНрдпреВрд▓ рдХреА рдорд╛рдирдХ рд╡рд┐рдзрд┐ рд╣реИред рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Vkontakte рдкреНрд░рд▓реЗрдЦрди (рд▓рд┐рдВрдХ рдиреАрдЪреЗ рд╣реЛрдЧрд╛) рдкрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

User_id рддрд░реНрдХ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрджреЗрд╢ рдХрд┐рд╕ рдЦрд╛рддреЗ рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, event.obj.from_id рдЙрд╕ рдЦрд╛рддреЗ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рд╣рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрд╛ рд╣реИред рдпрд╛рдиреА рд╣рдо рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдиреЗ рдЗрд╕реЗ рд╣рдореЗрдВ рднреЗрдЬрд╛ рд╣реИред
рдЗрд╕ рддрд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ!

Random_id рддрд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ Vkontakte 2 рдмрд╛рд░ рд╕рдВрджреЗрд╢ рди рднреЗрдЬреЗрдВред рдЗрд╕ рддрд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ!

рд╕рдВрджреЗрд╢ рддрд░реНрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдХреМрди рд╕рд╛ рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдПред Event.obj.text рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рд╕рдВрджреЗрд╢ рдХреЗ рдкрд╛рда рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рддрд░реНрдХ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Vkontakte рдкреЗрдЬ рдкрд░ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рддрд░реНрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд▓рд╛рдВрдЪ


рдЕрдм рд╣рдорд╛рд░рд╛ рдмреЙрдЯ рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рд╣рдо рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдмреЙрдЯ рдХреЛ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдкрд░рд┐рдгрд╛рдо


рдпрд╣ рднрд╛рдЧ 1 рдЦрддреНрдо рд╣реЛ рдЧрдпрд╛ рд╣реИ рд╣рдордиреЗ рдмреЙрдЯ рдЪрд╛рд▓реВ рдХрд░рдирд╛ рд╕реАрдЦрд╛ред рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ, рд╕рд╛рде рд╣реА рд╕рдВрджреЗрд╢ рднреЗрдЬреЗрдВред

рднрд╛рдЧ 2 рдореЗрдВ рд╣рдо рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрджреЗрд╢ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PyMySQL рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реА рддрд░рд╣ред

рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдЙрдкрдпреЛрдЧреА рд╕рдВрд╕рд╛рдзрди


рдЖрдзрд┐рдХрд╛рд░рд┐рдХ vkontakte рдПрдкреАрдЖрдИ рдкреНрд░рд▓реЗрдЦрди
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ PyMySQL рдореЙрдбреНрдпреВрд▓ рдкреЗрдЬ

Source: https://habr.com/ru/post/hi452162/


All Articles