Prefácio
Peço desculpas pelo fato de não ter escrito sobre como trabalhar com o banco de dados no primeiro artigo, mas esta parte tem como objetivo trabalhar com o MySQL.
A Parte 3 será uma espécie de adição, onde consideraremos trabalhar com o teclado para o bot e esse ciclo de artigos terminará.
Preparação
Após o último artigo em mãos, devemos ter este código:
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")
Vamos criar um bot que nos retornará um resultado positivo ou negativo. Por exemplo, "Vida" e "Morto". Em seguida, insira-o no banco de dados e, no futuro, envie esse resultado para nós.
Primeiro, precisamos ter nosso próprio banco de dados com uma tabela pronta.
Se alguém não souber criar tabelas, eis o código que você precisa inserir enquanto estiver no console do mysql:
CREATE DATABASE `firstbot`; CREATE TABLE `mode`(Id_User INT(11), Mode VARCHAR(6) DEFAULT("NOT"), PRIMARY KEY(Id_User));
Sobre isso, a estrutura da nossa tabela estará pronta. Mais informações sobre como criar e modificar tabelas podem ser encontradas desativadas. site (o link estará abaixo).
Crie uma função que retornará aleatoriamente Dead or Live:
Agora temos que criar uma função que envie nossos valores para o banco de dados.
def add_to_database(function_mode, x):
Criamos uma função que adiciona uma pessoa ao banco de dados ou termina seu trabalho, se ele já estiver lá. No nosso caso, tudo até ON DUPLICATE KEY UPDATE coloca nossos resultados no banco de dados. Se o banco de dados já tiver uma coluna com o ID do nosso usuário, o novo valor não será inserido no banco de dados, mas será atualizado pelo qual ON DUPLICATE KEY UPDATE é responsável.
Mas, além do fato de inserirmos valores no banco de dados, precisamos obtê-los. Para fazer isso, crie essa função.
def select_from_database(x): connection = get_connection() cursor = connection.cursor() sql = "SELECT Mode FROM mode WHERE Id_User = %s" cursor.execute(sql, (x,))
cursor.fetchall () descompacta a solicitação que recebemos e a exibe. Usando a condição, verificamos se o registro no banco de dados está correto. Caso contrário, atribuímos o valor de aviso desejado.
Tudo o que resta para nós é coletar o código completamente e adicionar algumas linhas para que tudo funcione como queremos.
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)
E assim obtemos uma resposta do nosso bot

Sumário
Com a ajuda do trabalho realizado, criamos um bot que sabe trabalhar com o MySQL. Isso não termina sua funcionalidade. É muito mais amplo e maior, e limitado apenas pela sua imaginação.
O código não é ideal e eu apenas o escrevi para mostrar como o MySQL funciona. Se você conhece melhor os métodos, fique à vontade para usá-los. Também aceitarei qualquer ajuda para melhorar o código atual.
Links úteis
Página oficial do PyMySQLPágina oficial do MySQLDocumentação do PyMySQL em russoDocumentação Vk_apiDocumento da API do VkontakteO código do bot em si