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

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛


рдореИрдВ рдЗрд╕ рддрдереНрдп рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рдорд╛рдВрдЧрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп MySQL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред

рднрд╛рдЧ 3 рдПрдХ рддрд░рд╣ рдХрд╛ рдЬреЛрдбрд╝ рд╣реЛрдЧрд╛, рдЬрд╣рд╛рдВ рд╣рдо рдмреЙрдЯ рдХреЗ рд▓рд┐рдП рдХреАрдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдФрд░ рд▓реЗрдЦреЛрдВ рдХрд╛ рдпрд╣ рдЪрдХреНрд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдЯреНрд░реЗрдирд┐рдВрдЧ


рд╣рд╛рде рдкрд░ рдЕрдВрддрд┐рдо рд▓реЗрдЦ рдХреЗ рдмрд╛рдж, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣ рдХреЛрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

import vk_api from vk_api.utils import get_random_id from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType import pymysql.cursors import requests def get_connection(): connection = pymysql.connect(host='you_host', user='you_user', password='you_password', db='you_db' charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor) return connection <anchor>habracut</anchor> vk_session = vk_api.VkApi(token="a6f87v8c9a9sa87a7af9a0f9f9v8a6s6c5b5m6n8bds09asc8d7b87d87bd87n") vk = vk_session.get_api() longpoll = VkBotLongPoll(vk_session, "637182735") #  for event in longpoll.listen(): 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) 

рдЖрдЗрдП рдПрдХ рдмреЙрдЯ рдмрдирд╛рдПрдВ рдЬреЛ рд╣рдореЗрдВ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдпрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдо рджреЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдЬреАрд╡рди" рдФрд░ "рдореГрддред" рдлрд┐рд░ рдЗрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рджрд░реНрдЬ рдХрд░реЗрдВ рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдпрд╣ рдкрд░рд┐рдгрд╛рдо рд╣рдореЗрдВ рднреЗрдЬреЗрдВред

рдкрд╣рд▓реЗ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рддреИрдпрд╛рд░ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

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

 CREATE DATABASE `firstbot`; CREATE TABLE `mode`(Id_User INT(11), Mode VARCHAR(6) DEFAULT("NOT"), PRIMARY KEY(Id_User)); 

рдЗрд╕ рдкрд░ рд╣рдорд╛рд░реА рддрд╛рд▓рд┐рдХрд╛ рдХреА рд░реВрдкрд░реЗрдЦрд╛ рддреИрдпрд╛рд░ рд╣реЛрдЧреАред рдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдмрдВрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред рд╡реЗрдмрд╕рд╛рдЗрдЯ (рд▓рд┐рдВрдХ рдиреАрдЪреЗ рд╣реЛрдЧрд╛)

рдПрдХ рд╕рдорд╛рд░реЛрд╣ рдмрдирд╛рдПрдБ рдЬреЛ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдбреЗрдб рдпрд╛ рд▓рд╛рдЗрд╡ рд▓реМрдЯреЗрдЧрд╛:

 #   random import random def random_mode(): #      1  200 return random.choice(["Live","Dead"]) 

рдЕрдм рд╣рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рд╣рдорд╛рд░реЗ рдорд╛рдиреЛрдВ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рднреЗрдЬрддрд╛ рд╣реИред

 def add_to_database(function_mode, x): #   connection = getConnection() #     cursor = connection.cursor() #  sql = "INSERT INTO mode (Id_User, Mode) VALUES (%s, %s) ON DUPLICATE KEY UPDATE Mode = %s" #       cursor.execute(sql, (x, function_mode, function_mode)) #  connection.commit() #  connection.close() #  return function_mode 

рд╣рдордиреЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдпрд╛ рдЬреЛ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ рдпрд╛ рдЙрд╕рдХрд╛ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░ рджреЗрдЧрд╛, рдЕрдЧрд░ рд╡рд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╣рд╛рдВ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, DUPLICATE KEY UPDATE рддрдХ рд╕рдм рдХреБрдЫ рд╣рдорд╛рд░реЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд░рдЦрддрд╛ рд╣реИред рдпрджрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдПрдХ рдХреЙрд▓рдо рд╣реИ, рддреЛ рдирдП рдореВрд▓реНрдп рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рджрд░реНрдЬ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП ON DUPLICATE KEY UPDATE рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред

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

 def select_from_database(x): connection = get_connection() cursor = connection.cursor() sql = "SELECT Mode FROM mode WHERE Id_User = %s" cursor.execute(sql, (x,)) #        for i in cursor: mode_send = i['Mode'] #      if cursor.fetchall() == (): mode_send = '   ' connection.close() return mode_send 

рдХрд░реНрд╕рд░.fetchall () рд╣рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдЕрдиреБрд░реЛрдз рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╢рд░реНрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рд╕рдЯреАрдХ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рдЪреЗрддрд╛рд╡рдиреА рдорд╛рди рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЬреЛ рдХреБрдЫ рднреА рд╣реИ рд╡рд╣ рдХреЛрдб рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реИ рддрд╛рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░реЗ рдЬреИрд╕рд╛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВред

 if event.obj.text == '': if event.from_user: id_user = event.obj.from_id vk.messages.send( user_id=event.obj.from_id, random_id=get_random_id(), message=" : " + add_to_database(random_mode(), id_user)) if event.obj.text == ' ': if event.from_user: idUser = event.obj.from_id vk.messages.send( user_id=event.obj.from_id, random_id=get_random_id(), message=" : " + select_from_database(id_user) 

рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЕрдкрдиреЗ рдмреЙрдЯ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓рддреА рд╣реИ



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


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

рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ


PyMySQL рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреЗрдЬ
MySQL рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреЗрдЬ
рд░реВрд╕реА рдореЗрдВ PyMySQL рдкреНрд░рд▓реЗрдЦрди
Vk_api рдкреНрд░рд▓реЗрдЦрди
Vkontakte рдПрдкреАрдЖрдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝
рдЦреБрдж рдмреЙрдЯ рдХрд╛ рдХреЛрдб

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


All Articles