Может ли телеграм бот создавать, а потом удалять txt файлы?
Мне нужно, чтобы после команды стар создавал пустой txt файл. Потом он задаёт пару вопросов и записывает их в файл(это я уже сделал). Этот файл он должен отправить в другой чат и удалить этот файл. Вот такой алгоритм создать - заполнить - отправить - удалить.Как это реализовать?
def questionA1(message):
name2 = message.text
open(R'C:\Users\Ray\Desktop\List.txt', 'a').write('Name:' + name2 + '\n')
bot.send_message(message.from_user.id, 'Please enter your last name')
bot.register_next_step_handler(message, questionA2)
def questionA2(message):
LastName2 = message.text
open(R'C:\Users\Ray\Desktop\List.txt', 'a').write('Last name:' + LastName2 + '\n')
bot.send_message(message.from_user.id, 'Please enter your number')
bot.register_next_step_handler(message, questionA3)
def questionA3(message):
number2 = message.text
open(R'C:\Users\Ray\Desktop\List.txt', 'a').write('Number:' + number2 + '\n')
bot.send_message(message.from_user.id, 'Номер')
bot.register_next_step_handler(message, send)
Вот код. Это телеграм бот. библиотека pytelegrambotapi
Ответы (1 шт):
Автор решения: Violet
→ Ссылка
from pathlib import Path
from glob import glob
from datetime import datetime
@bot.message_handler(commands=['start'])
def start(message):
Path('files/{}.txt'.format(message.chat.id)).touch()
msg = bot.send_message(message.chat.id, 'Первый вопрос')
bot.register_next_step_handler(msg, start_2)
def start_2(message):
msg = bot.send_message(message.chat.id, 'Второй вопрос')
bot.register_next_step_handler(msg, start_3, message.text)
def start_3(message, answer_1):
msg = bot.send_message(message.chat.id, 'Третий вопрос')
bot.register_next_step_handler(msg, start_4, answer_1, message.text)
def start_4(message, answer_1, answer_2):
print('ответ на первый вопрос', answer_1)
print('ответ на второй вопрос', answer_2)
print('ответ на третий вопрос', message.text)
open('files/{}.txt'.format(message.chat.id), 'w').write(str(datetime.now()) + ' ' + str(message.chat.id) + '\n' +
answer_1 + ' ' + answer_2 + ' ' + message.text)
for txt_file in glob(r'files\*.txt'):
f = open(txt_file, 'rb')
bot.send_document(123, f)
f.close()
Path(glob(r'files\*.txt')[0]).unlink()
- создаём файл, название которого id пользователя, с помощью
Path - используя
register_next_step_handlerсоздаём шаги, передавая ответы - открываем файл который создали на запись, пишем в него: время, id, три ответа.
globпоможет нам выбрать все текстовые файлы из каталога.- откроем, отправим, закроем, удалим с помощью
Path