1. Сомневаюсь, что код работает. readlines() возвращает список, а вы пытаетесь вызывать строковый метод
2. Попробуйте просто распечатать содержимое переменной t из первой функции, увидите, что текста там по сути и нет, потому что, при открытии в режиме с
+
, указатель сразу ставится в конец файла, естественно пропуская все остальные символы
3. Используйте with ... as
4. Не делайте так, как сделали вы. Это очень плохой вариант для хранения данных. Если вам нужно записывать ID пользователей, просто воспользуйтесь библиотекой JSON и храните ID в виде списка чисел. Записывайте данные в файл и читайте его соответственно через нее же. В итоге ваши две большие страшные функции будут заменены на:
import json
@bot.message_handler(commands=['start'])
def start(message):
with open('Файл.txt', 'r') as f:
users = json.load(f)
if message.chat.id not in users:
users.append(message.chat.id)
with open('Файл.txt', 'w') as f:
json.dump(users, f)
bot.send_message(message.chat.id, f'Привет, {message.chat.id}')
@bot.message_handler(commands=['test'])
def test (message):
with open('Файл.txt', 'r') as f:
users = json.load(f)
bot.send_message(message.chat.id, f'Количество пользователей: {len(users)}')