Не получается получить текст сообщения в vk_api. (Пробовал text, message, obj.text)
import vk_api
from vk_api.longpoll import VkLongPoll, VkEventType
import json
from config import bottoken
from all_msg import mass, mass_key
from handlers.database_handler import DatabaseSitesHandler
import sqlite3
conn = sqlite3.connect('need.db')
cur = conn.cursor()
cur.execute("""CREATE TABLE IF NOT EXISTS users(
userid INT,
etap INT);
""")
cur.execute("""CREATE TABLE IF NOT EXISTS sites(
licensy_id INT,
site_name TEXT);
""")
conn.commit()
session = vk_api.VkApi(token=bottoken)
dbsites = DatabaseSitesHandler('need.db', 'sites')
def send_message(user_id, message):
session.method("messages.send", {
"user_id": user_id,
"message": message,
"random_id": 0
})
def commands(t, u):
text = t
user_id = u
if '/addsite' in text:
text = text.split(' ')
t = dbsites.try_insert_data(text[1], text[2])
send_message(user_id, t)
elif '/delsite' in text:
text = text.split(' ')
t = dbsites.try_delete_data(text[1])
send_message(user_id, t)
elif '/mark' in text:
text = text[6:]
send_message(user_id, text)
else:
send_message(user_id, dbsites.select_all)
def is_msg(func):
def _wrapper(*args, **kwargs):
for event in VkLongPoll(session).listen():
print(event.text)
t = event.obj.text
if event.type == VkEventType.MESSAGE_NEW and event.to_me and '/' not in t:
func(event, *args, **kwargs)
else:
commands(t, event.user_id)
return _wrapper
@is_msg
def sendmsg(event):
text = event.text.lower()
user_id = event.user_id
el = 0
with sqlite3.connect("need.db") as con:
cur = con.cursor()
info = cur.execute('SELECT * FROM users WHERE userid=?', (int(user_id), ))
k = info.fetchone()
if k is None:
cur.execute(f"""INSERT INTO users(userid, etap)
VALUES({int(user_id)}, {int(0)});""")
con.commit()
else:
el = int(k[1])
el %= 3
if mass[el] != []:
send_message(user_id, mass[el])
else:
send_message(user_id, mass[el])
if el == 2:
k = dbsites.select_all
for ell in k:
send_message(user_id, f' {ell[0]}\nЛицензия: №{ell[1]}\n')
sqlite_connection = sqlite3.connect('need.db')
cursor = sqlite_connection.cursor()
sql_update_query = f"""Update users set etap = {el + 1} where userid = {user_id}"""
cursor.execute(sql_update_query)
sqlite_connection.commit()
cursor.close()
sendmsg()
Ошибка в строке 56
Traceback (most recent call last):
File "D:\code\github.com\MIKHANGO\zaim_bot\main.py", line 101, in
sendmsg()
File "D:\code\github.com\MIKHANGO\zaim_bot\main.py", line 56, in _wrapper
print(event.text)
AttributeError: 'Event' object has no attribute 'text'