Почему возникает ошибка 'sqlite3.Cursor' object has no attribute 'message' в inline режиме?

@bot.callback_query_handler(func=lambda c: True)
def inline(c):
if c.data == 'savepower':
   cid = c.message.chat.id
   con = sqlite3.connect('users.sqlite')
   c = con.cursor()
   c.execute('SELECT * FROM users WHERE id='+str(cid)+'')
   row = c.fetchone()
   con.close()
   if int(row[1])==0: 
      bot.send_message(cid ,'Сохраните потребление.', reply_markup=markuppower)	
   else:
      bot.send_message(cid, 'Save power.' , reply_markup=markuppower)
elif c.data == 'accountback':
   cid = c.message.chat.id
   con = sqlite3.connect('users.sqlite')
   c = con.cursor()
   c.execute('SELECT * FROM users WHERE id='+str(cid)+'')
   row = c.fetchone()
   con.close()
   if int(row[1])==0: 
      keyboard = types.InlineKeyboardMarkup(row_width=2)
      k1 = types.InlineKeyboardButton(text="Настройки ", callback_data='settingsaccount')
      keyboard.add(k1)
      bot.edit_message_text(chat_id=c.message.chat.id, message_id=c.message.message_id, text='*Ваш профиль:*', parse_mode='Markdown', reply_markup=keyboard)
   else:
      keyboard = types.InlineKeyboardMarkup(row_width=2)
      k1 = types.InlineKeyboardButton(text="Settings ", callback_data='settingsaccount')
      keyboard.add(k1)
      bot.edit_message_text(chat_id=c.message.chat.id, message_id=c.message.message_id, text='*Your profile:*', parse_mode='Markdown', reply_markup=keyboard)


Использую sqlite3 для сохранения пользовательского языка в бд.
c.data == 'savepower': — выполняется спокойно. И для русского и для английского. Подключается к бд, забирает 0 или 1 и отвечает пользователю (bot.send_message) согласно if... else..

Но в c.data == 'accountback': мне нужно, чтобы бот редактировал исходное сообщение (bot.edit_message_text) и вот тут бот выдаёт ошибку 'sqlite3.Cursor' object has no attribute 'message'.

В похожей конструкции как c.data == 'savepower': была такая же ошибка, но она была из-за лишнего cid = c.message.chat.id и решилась простым удалением оного. Здесь же я никак не могу понять как решить эту проблему.
  • Вопрос задан
  • 1126 просмотров
Решения вопроса 1
lavr_fedotov
@lavr_fedotov Автор вопроса
Увидел ошибку.

c = con.cursor()
и
c.message.chat.id

Переименовываем с и всё работает.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
29 нояб. 2024, в 09:43
100000 руб./за проект
29 нояб. 2024, в 07:44
20000 руб./за проект