Почему PyTelegramBotAPI не записывает message.chat.id в файл .txt?

Здравствуйте! Пишу телеграм-бота с использованием telebot и pyTelegramBotAPI, написал код, который будет сохранять id пользователя в файл .txt. Но почему-то он напрочь отказывается работать. Вот так он работает (сохраняет сообщение пользователя в .txt):
import telebot
from telebot import types
bot = telebot.TeleBot('xxxx')
@bot.message_handler(commands=['start'])
def start(m):
    msg = bot.send_message(m.chat.id, "Напишите текст для ввода в txt файл")
    bot.register_next_step_handler(msg, name)
def name(m):
    if m.text:
        try:
            bot.send_message(m.chat.id, "Готово!")
            handle = open("test.txt", "w")
            handle.write(m.text)
            handle.close()
        except:
            bot.send_message(m.chat.id, "Неподдерживаемый тип файла!")
    else:
        bot.send_message(m.chat.id, "Неподдерживаемый тип файла! Отправьте текст!")

bot.polling()

А если заменить
bot.send_message(m.chat.id, "Готово!")
            handle = open("test.txt", "w")
            handle.write(m.text)
            handle.close()

на:
bot.send_message(m.chat.id, "Готово!")
            handle = open("test.txt", "w")
            handle.write(m.chat.id)
            handle.close()

- не работает. В чем может быть причина?(Пока цель сохранить id только одного пользователя) Кстати ИЗ .txt он отлично берет id и отправляет ему сообщение. Выглядит это примерно так:
handle = open("test.txt", "r")
    data = handle.readlines()
    bot.send_message(m.chat.id, data)
    handle.close()

Объясните пожалуйста как исправить, буду очень благодарен!
  • Вопрос задан
  • 1192 просмотра
Решения вопроса 1
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
handle = open("test.txt", "a")
handle.write(str(m.chat.id))
handle.write('\n')

Файл лучше открывать на дозапись.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы