Не получается сохранять информацию о пользователях бота, использую Telebot - Python
Мне для дальнейшей работы нужно запустить бота, который создавал историю(лог) о пользователе. Написал что написал, но информация не сохраняется в (.xls), а выводится в терминал. Может есть код по типу этого но более короткий/удобный? Если есть лишнее время умоляю подправьте меня и помогите его дописать, за ранее огромное спасибо!
import telebot
from telebot import types
import xlsxwriter
import datetime as dt
count = 1
workbook = xlsxwriter.Workbook('message.xls')
worksheet = workbook.add_worksheet()
worksheet.write(0, 0, 'Дата')
worksheet.write(0, 1, 'Время')
worksheet.write(0, 2, 'Вид сообщения')
worksheet.write(0, 3, 'Отправитель')
worksheet.write(0, 4, 'ID отправителя')
worksheet.write(0, 5, 'Сообщения и id')
bot = telebot.TeleBot('XXXXXXXXXXXXXXXX')
@bot.message_handler(commands=['start'])
def button(message):
welcom = types.ReplyKeyboardMarkup(True, False)
knopka1 = types.KeyboardButton('Инструкция')
knopka2 = types.KeyboardButton('FAQ')
knopka3 = types.KeyboardButton('Предлагаемые услуги')
welcom.add(knopka1, knopka2, knopka3)
send = bot.send_message(message.chat.id,'Привет! Рады приветсвовать каждого кто зашел на нашь проект! Желаем удачно проведенного дня и хорошей сделки:)', reply_markup = welcom)
bot.register_next_step_handler(send, process_step)
def process_step(message):
if message.text == 'Инструкция':
instr = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=1)
knopka4 = types.KeyboardButton('Назад')
instr.add(knopka4)
send = bot.send_message(message.chat.id, 'Это инструция для чайников!', reply_markup = instr)
bot.register_next_step_handler(send)
@bot.message_handler(content_types =['text'])
def send_text(message):
print(message)
global count
if message.content_type == 'text':
if message.text != '':
worksheet.write(count, 0, str(dt.datetime.now().date()))
worksheet.write(count, 1, str(dt.datetime.now().time())[0:8])
worksheet.write(count, 2, 'текст')
worksheet.write(count, 3, str(message.from_user.first_name) + str(message.from_user.last_name))
worksheet.write(count, 4, message.from_user.id)
worksheet.write(count, 5, message.text)
count += 1
else:
workbook.close()
bot.polling(non_stop=True)
Источник: Stack Overflow на русском