# создается соединение
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') @bot.callback_query_handler(func=lambda c:True)
def inlin(c):
if c.data == 'house':
myPlace = "Trëkhgorka, RU"
elif c.data == 'myplace':
myPlace = "Los Angeles, USA"
weather_message(c.message, myPlace)
Но и помимо этого есть принципиальные ошибки в коде.
Например, кусок
Здесь явное непонимание основ. В данном примере algebra содержит объект message. И вы его пытаетесь запихнуть в первое поле таблицы dz. По-хорошему подобная процедура должна добавлять/обновлять поле с содержанием задания по ключу "Предмет" (+"день недели", т.к. насколько понимаю он тоже должен учитываться).
Почитайте основы SQL, сразу станет понятнее, какую структуру данных выбрать и как с ними работать.
Если нет желания изучать SQL, можно использовать более простые структуры, например json или модуль shelve, для подобной задачи их в принципе тоже хватит, учитывая, что запись данных будет делать только админ, не придется особо думать о разделении доступа. Сможете туда писать в виде обычного словаря, вроде