record = cur.execute('SELECT * FROM tags_db WHERE Path=?', (path, ))
result = record.fetchall()
if not result:
# и далее ...
sql = cur.execute('SELECT * FROM tags_db WHERE path=?', (path, ) )
Я добавил еще один столбец, назвал его id (Хотя это вообще не id) и слелал начальное заполнение таблицы. Заполнял я его так (0, "None", "None", "None"......)
И дальше я просто менял (UPDATE) нужное поле где id = 0
update dz set body = 'новый текст ДЗ' where subject = 'алгебра';
select body from dz where subject = 'алгебра';
algebra = bot.send_message(message.chat.id, "Запишите дз")
cursorObj.execute('INSERT INTO dz VALUES (?, )', (algebra, ))
Здесь явное непонимание основ. В данном примере algebra содержит объект message. И вы его пытаетесь запихнуть в первое поле таблицы dz. По-хорошему подобная процедура должна добавлять/обновлять поле с содержанием задания по ключу "Предмет" (+"день недели", т.к. насколько понимаю он тоже должен учитываться).{"понедельник": {"алгебра":"здесь какое-то дз по алгебре", "физика":"дз по физике"}, "вторник":{ ....}}
# создается соединение
conn = sqlite3.connect('homework.db')
# объект-курсор
c = conn.cursor()
# одноразово создаем таблицу для хранения домашних заданий в разрезе дня недели и предмета
c.execute('''CREATE TABLE IF NOT EXISTS homework (weekday number, subject text, body text)''')
# затем нужно будет заполнить таблицу необходимыми данными
# по "ключевым" значениям "день недели" + "предмет" меняем текст домашней работы в нашей таблице
c.execute('''UPDATE homework SET body=? WHERE weekday=? AND subject=?''', (body, weekday, subject))
# изменения данных в базе должны "сохраняться" через commit
conn.commit()
# примерно так может выглядеть функция, запрашивающая данные по "день"+"предмет"
def get_homework(conn, weekday, subject):
c = conn.cursor()
# получаем данные (текст задания) по нашему ключу из двух полей (день+предмет)
c.execute('''SELECT body FROM homework WHERE weekday=? AND subject=?''', (weekday, subject))
return c.fetchone()[0]
если радиус допустим равен 40 то взяв точку с координатами x = 40 и y = 40 в результате будет True хотя должно быть False.
GRANT SELECT ON USERS TO USER
#Персональный раздел
@bot.message_handler(regexp="Personal menu")
def personal_message(message):
if message.from_user.id == privateUsers:
bot.send_message(message.chat.id, "Доступ разрешен ")
# Сюда необходимо встроить меню с inline кнопками
key = types.InlineKeyboardMarkup(True)
but_1 = types.InlineKeyboardButton(text="Погода 1", callback_data="weather1")
but_2 = types.InlineKeyboardButton(text="Погода 2", callback_data="weather2")
key.add(but_1, but_2)
bot.send_message(message.chat.id, "Кнопки для погоды", reply_markup=key)
@bot.callback_query_handler(func=lambda c:True)
def inlin(c):
if c.data == 'help':
bot.message(c.message.chat.id, '/help',)
.....
if c.data == 'secret':
bot.send_message(c.message.chat.id, '/secret')
if c.data == 'weather1':
bot.send_message(c.message.chat.id, 'Что-то делаем с опцией погода1')
Судя по остальным ошибкам, Вам действительно стоит подучить основы языка.
text = text.replace('пд','пипец')
ну и остальное аналогично