Я новичок в Python, но моя работа заставила меня использовать Python.я создал бот-телеграмму, в которой есть функция для хранения ввода пользователя в google sheet (pygsheet) и обновления определенной ячейки в соответствии с вводом пользователя (в моем случае обновление статуса обслуживания).поток: пользователь вводит номер обслуживания -> он будет искать в некоторых файлах -> после того, как будет найден нужный файл, он будет искать в ячейке -> отображать номер обслуживания со старым статусом -> пользователь обновитstatus -> новый статус сохраняется в ячейке.
Я изо всех сил пытаюсь найти ссылку на код, надеюсь, кто-то может мне помочь, спасибо: ") по крайней мере, дайте мне пример кода *От 1006 * до обновить значение в ячейке . Кстати, используя pygsheet и pandas .
вот мой код для хранения пользовательского ввода в google sheet (номер техобслуживания - nomor tiket):
# 1. Input Gamas
# user input in bot telegram
def inputgamas(bot,update):
update.message.reply_text('Silahkan Mengisi : ' +
'\n 1. Pilih Nama STO :' ,reply_markup=markup )
return NOMOR_TIKET
def induk_Gamas(bot, update, user_data):
user_data['Nama STO'] = update.message.text
print(user_data)
update.message.reply_text('Silahkan Mengisi : ' +
'\n 1. Pilih Nama STO : ' + str(user_data['Nama STO']) +
'\n 2. Nomor Tiket Induk :')
return JUMLAH_IMPACT
def jumlah_Impact(bot, update, user_data):
user_data['Nomor Tiket Induk'] = update.message.text
print(user_data)
update.message.reply_text('Silahkan Mengisi : ' +
'\n 1. Pilih Nama STO : ' + str(user_data['Nama STO']) +
'\n 2. Nomor Tiket Induk :' + str(user_data['Nomor Tiket Induk']) +
'\n 3. Jumlah Impact : ')
return JENIS_PERANGKAT
def jenis_Perangkat(bot, update, user_data):
user_data['Jumlah Impact'] = update.message.text
print(user_data)
update.message.reply_text('Silahkan Mengisi : ' +
'\n 1. Pilih Nama STO : ' + str(user_data['Nama STO']) +
'\n 2. Nomor Tiket Induk :' + str(user_data['Nomor Tiket Induk']) +
'\n 3. Jumlah Impact : ' + str(user_data['Jumlah Impact']) +
'\n 4. Jenis Perangkat : ' )
return NAMA_PERANGKAT
def nama_Perangkat(bot, update, user_data):
user_data['Jenis Perangkat'] = update.message.text
print(user_data)
update.message.reply_text('Silahkan Mengisi : ' +
'\n 1. Pilih Nama STO : ' + str(user_data['Nama STO']) +
'\n 2. Nomor Tiket Induk :' + str(user_data['Nomor Tiket Induk']) +
'\n 3. Jumlah Impact : ' + str(user_data['Jumlah Impact']) +
'\n 4. Jenis Perangkat : ' + str(user_data['Jenis Perangkat']) +
'\n 5. Nama Perangkat : ')
return JENIS_GANGGUAN
def jenis_Gangguan (bot, update, user_data):
user_data['Nama Perangkat'] = update.message.text
print(user_data)
update.message.reply_text('Silahkan Mengisi : ' +
'\n 1. Pilih Nama STO : ' + str(user_data['Nama STO']) +
'\n 2. Nomor Tiket Induk :' + str(user_data['Nomor Tiket Induk']) +
'\n 3. Jumlah Impact : ' + str(user_data['Jumlah Impact']) +
'\n 4. Jenis Perangkat : ' + str(user_data['Jenis Perangkat']) +
'\n 5. Nama Perangkat : ' + str(user_data['Nama Perangkat']) +
'\n 6. Jenis Gangguan : ' )
return SEBAB_GAMAS
def sebab_Gamas (bot, update, user_data):
user_data['Jenis Gangguan'] = update.message.text
print(user_data)
update.message.reply_text('Silahkan Mengisi : ' +
'\n 1. Pilih Nama STO : ' + str(user_data['Nama STO']) +
'\n 2. Nomor Tiket Induk :' + str(user_data['Nomor Tiket Induk']) +
'\n 3. Jumlah Impact : ' + str(user_data['Jumlah Impact']) +
'\n 4. Jenis Perangkat : ' + str(user_data['Jenis Perangkat']) +
'\n 5. Nama Perangkat : ' + str(user_data['Nama Perangkat']) +
'\n 6. Jenis Gangguan : ' + str(user_data['Jenis Gangguan']) +
'\n 7. Sebab Gamas : ' )
return DESCRIPTION
def description (bot, update, user_data):
user_data['Sebab Gamas'] = update.message.text
print(user_data)
update.message.reply_text('Silahkan Mengisi : ' +
'\n 1. Pilih Nama STO : ' + str(user_data['Nama STO']) +
'\n 2. Nomor Tiket Induk :' + str(user_data['Nomor Tiket Induk']) +
'\n 3. Jumlah Impact : ' + str(user_data['Jumlah Impact']) +
'\n 4. Jenis Perangkat : ' + str(user_data['Jenis Perangkat']) +
'\n 5. Nama Perangkat : ' + str(user_data['Nama Perangkat']) +
'\n 6. Jenis Gangguan : ' + str(user_data['Jenis Gangguan']) +
'\n 7. Sebab Gamas : ' + str(user_data['Sebab Gamas']) +
'\n 8. Description : ')
return TANGGAL_OPEN
def tanggal_OpenTicket (bot,update, user_data):
user_data['Description'] = update.message.text
print(user_data)
update.message.reply_text('Silahkan Mengisi : ' +
'\n 1. Pilih Nama STO : ' + str(user_data['Nama STO']) +
'\n 2. Nomor Tiket Induk :' + str(user_data['Nomor Tiket Induk']) +
'\n 3. Jumlah Impact : ' + str(user_data['Jumlah Impact']) +
'\n 4. Jenis Perangkat : ' + str(user_data['Jenis Perangkat']) +
'\n 5. Nama Perangkat : ' + str(user_data['Nama Perangkat']) +
'\n 6. Jenis Gangguan : ' + str(user_data['Jenis Gangguan']) +
'\n 7. Sebab Gamas : ' + str(user_data['Sebab Gamas']) +
'\n 8. Description : ' + str(user_data['Description']) +
'\n 9. Tanggal Open Ticket : ' )
return STATUS
def status (bot,update, user_data):
user_data['Tanggal Open Ticket'] = update.message.text
print(user_data)
update.message.reply_text('Silahkan Mengisi : ' +
'\n 1. Pilih Nama STO : ' + str(user_data['Nama STO']) +
'\n 2. Nomor Tiket Induk :' + str(user_data['Nomor Tiket Induk']) +
'\n 3. Jumlah Impact : ' + str(user_data['Jumlah Impact']) +
'\n 4. Jenis Perangkat : ' + str(user_data['Jenis Perangkat']) +
'\n 5. Nama Perangkat : ' + str(user_data['Nama Perangkat']) +
'\n 6. Jenis Gangguan : ' + str(user_data['Jenis Gangguan']) +
'\n 7. Sebab Gamas : ' + str(user_data['Sebab Gamas']) +
'\n 8. Description : ' + str(user_data['Description']) +
'\n 9. Tanggal Open Ticket : ' + str(user_data['Tanggal Open Ticket']) +
'\n 10.Status : ')
return END2
#user input is stored in google sheet according to the STO name
def end2(bot, update, user_data):
user_data['Status'] = update.message.text
user_data['Timestamps'] = str(datetime.datetime.now())
final_data = pd.Series(user_data)
final_data = pd.DataFrame(final_data).transpose()
print(final_data)
gc = pygsheets.authorize(service_file='creds.json')
date = datetime.datetime.today().strftime('%Y-%m-%d')
try:
sheet = gc.open('GAMAS_' + user_data['Nama STO'])
except:
gc.create('GAMAS_' + user_data['Nama STO'],folder='1IaX6Q0JGIsdBAwTaAoestL1nXuXx93rP') #bikin beda folder
sheet = gc.open('GAMAS_' + user_data['Nama STO'])
worksheet = sheet[0]
values = worksheet.get_all_records()
current_data = pd.DataFrame(values)
frames = [current_data, final_data]
result = pd.concat(frames)
result = result[['Timestamps','Nama STO','Nomor Tiket Induk','Jumlah Impact','Jenis Perangkat','Nama Perangkat','Jenis Gangguan','Sebab Gamas','Description','Tanggal Open Ticket', 'Status']]
worksheet.set_dataframe(result,(1,1))
update.message.reply_text('Berikut ini yang telah anda isikan : ' +
'\n 1. Pilih Nama STO : ' + str(user_data['Nama STO']) +
'\n 2. Nomor Tiket Induk :' + str(user_data['Nomor Tiket Induk']) +
'\n 3. Jumlah Impact : ' + str(user_data['Jumlah Impact']) +
'\n 4. Jenis Perangkat : ' + str(user_data['Jenis Perangkat']) +
'\n 5. Nama Perangkat : ' + str(user_data['Nama Perangkat']) +
'\n 6. Jenis Gangguan : ' + str(user_data['Jenis Gangguan']) +
'\n 7. Sebab Gamas : ' + str(user_data['Sebab Gamas']) +
'\n 8. Description : ' + str(user_data['Description']) +
'\n 9. Tanggal Open Ticket : ' + str(user_data['Tanggal Open Ticket']) +
'\n 10.Status : ' + str(user_data['Status']) +
'\n \n \n Terimakasih! Pengisian Selesai :) ')
update.message.reply_text (
"\n- /inputgamas untuk melanjutkan memasukkan nomot tiket induk Gamas"
"\n- /updategamas untuk mengupdate status penanganan Gamas"
"\n- /cekgamas untuk melihat status penanganan Gamas"
"\n- /menu untuk kembali ke menu awal" )
user_data.clear()
return ConversationHandler.END
некоторые файлы листов на диске Google, в которых хранится введенная пользователем
ячейка 'status', которая должнаобновляться пользовательским вводом