VK api python получает не нужный msg в цепочке сообщений
Вот код:
import vk_api
from vk_api.longpoll import VkLongPoll, VkEventType
from vk_api.keyboard import VkKeyboard, VkKeyboardColor
import sqlite3
txt1 = "1 - Напиши откуда и куда планируешь ехать.\n2 - Сколько человек поедет, будут ли дети\n3 - Напиши подъезд \n4 - Добавь комментарий к вызову.\nПример:\nОт ул. Фадеева 5, 7 подъезд.\nДо ул. Мира 3.\nПоедет 2 взрослых и 1 ребёнок\n"
session = vk_api.VkApi(token="")
diaid = 0
db = sqlite3.connect('user.db')
cur = db.cursor()
cur.execute("""
CREATE TABLE IF NOT EXISTS passanger (
userId BIGINT,
vkLink TEXT,
status VARCHAR,
pol VARCHAR,
age VARCHAR,
city VARCHAR,
name VARCHAR,
number VARCHAR,
colvoPoezdok BIGINT
)
""")
db.commit()
def send_message(user_id,message,keyboard=None):
post = {
"user_id" : user_id,
"message" : message,
"random_id" : 0,}
if keyboard != None:
post["keyboard"] = keyboard.get_keyboard()
else:
post = post
session.method("messages.send",post)
for event in VkLongPoll(session).listen():
if event.type == VkEventType.MESSAGE_NEW and event.to_me:
user_id = event.user_id
msg = event.text.lower()
if msg == "/start":
user = session.method("users.get", {"user_ids": user_id})
fullname = user[0]['first_name'] + ' ' + user[0]['last_name']
kbps = VkKeyboard(one_time=True)
kbps.add_button("Я пассажир ?",VkKeyboardColor.POSITIVE)
kbps.add_button("Я водитель ?", VkKeyboardColor.PRIMARY)
send_message(user_id,f"Привет, {fullname}!\nЯ бот-такси,\nПомогаю пассажирам найти такси,\nа водителю пассажира!\nСоздай свою анкету ???", kbps)
diaid = -3333
if diaid == -3333:
if msg == "я пассажир ?":
diaid = -1
if msg == "я водитель ?":
diaid = -2
if diaid == -1:
send_message(user_id, "Напиши свой номер телефона для связи с водителем")
diaid = -11
if msg.startswith("+7") == False and len(msg) == 12:
diaid = -404
if len(msg) == 11 and msg.startswith("+7") == False:
btn1()
if len(msg) == 12 and msg.startswith("+7") == True:
btn1()
if len(msg) == 12 and msg.startswith("+7") == False:
diaid = -404
if len(msg) < 11:
diaid = -404
print(msg)
def btn1():
global diaid
msg = event.text.lower()
cur.execute("INSERT INTO passanger VALUES (?,?,?,?,?,?,?,?,?)", (user_id,"https://vk.com/id"+str(user_id),"неизвестно","0","0","0","0",event.text,0))
diaid = 1
keyb = VkKeyboard(one_time=True, inline=False)
keyb.add_button("Вызвать такси ?",VkKeyboardColor.POSITIVE,payload=None)
keyb.add_line()
keyb.add_button("Заказать доставку ?",VkKeyboardColor.SECONDARY,payload=None)
keyb.add_line()
keyb.add_button("Моя анкета ?",VkKeyboardColor.PRIMARY,payload=None)
send_message(user_id,"Готово!\nВыберите услугу",keyb)
if diaid == 1:
if msg == "вызвать такси ?":
diaid = 2
if msg == "заказать доставку ?":
diaid = 3
if msg == "моя анкета ?":
diaid = 4
if diaid == 2:
kb2 = VkKeyboard()
kb2.add_location_button(payload=None)
send_message(user_id, txt1,kb2)
Когда я пишу пассажир, я получаю смс с номером, и, когда пишу номер, оно получает предыдущее смс, не номер, а "я пассажир"