Нужно сделать ТГ Бота, который будет записывать ответы пользователя в Google Sheets

Всем привет! Нужна помощь. Пытаюсь написать бота для ТГ на питоне. Задача в следующей: бот должен последовательно присылать вопросы после каждого ответа пользователя. Ответы пользователя должны фиксироваться в гугл таблице.

Я совсем новичок, и мой код выглядит так:

import telebot
import gspread

bot = telebot.TeleBot('Токен')
gc = gspread.service_account(filename='creds.json')
wks = gc.open('Имя таблицы').sheet1
otvet1 = None
otvet2 = None


@bot.message_handler(commands=['start'])
def main(message):
    bot.send_message(message.chat.id, f'Добрый день, {message.from_user.first_name}, ТЕКСТ ')
    bot.register_next_step_handler(message, vopros1)


def vopros1(message):
    global otvet1
    bot.send_message(message.chat.id, 'Вопрос 1')
    otvet1 = message.text.strip()
    wks.append_row('a1', otvet1)
    bot.register_next_step_handler(message, vopros2)
def vopros2(message):
    global otvet2
    bot.send_message(message.chat.id, 'Вопрос 2')
    otvet2 = message.text.strip()
    wks.append_row('b1', otvet2)

@bot.message_handler()
def end(message):
    bot.send_message(message.chat.id, 'Завершение опроса')


bot.polling(none_stop=True)
    

На текущий момент получилось, чтобы вопросы были последовательные, но бот не фиксирует ответы в таблицу. Не совсем понимаю разницу между wks.append_row и wks.update


Ответы (1 шт):

Автор решения: AnnaBazueva

Если Вы задержите курсор мышки на методе append_row, то IDE отобразит документацию.

В VS Code это выглядит так:
Подсказка по методу append_row Нужную Вам подсказку я подчеркнула красной линией.

append_row добавляет вниз таблицы строку с данными.
В Вашем случае заполняется один столбец, но метод готов заполнить все ячейки в строке,
и ожидает список значений!!!

wks.append_row([otvet1,]) - попробуйте так.

P.S. Операции записи в таблицу лучше обернуть в try; except,
что бы обработать ошибки если они возникнут при записи.

→ Ссылка