Задать вопрос
Hackerman1
@Hackerman1
17 лет, плохое зрение.

Телеграм-бот и вывод текста с .ТХТ?

Как мне сделать так чтобы прога могла прочитать то что написано в файле тхт и вывести это сообщением от бота? Всё перепробовал ничё не выходит ошибку сервер отправляет что отправляемое сообщение пустое. Вот код:
import telebot

bot = telebot.TeleBot('1423798151:AAFSabDxxfYdgxN9y9rAZekuc7zcvD6wXWw')

Homework1 = open('Homework.txt')
Homework = (Homework1)

@bot.message_handler(commands=['hello'])
def start_message(message):
    bot.send_message(message.chat.id, 'Привет!')
	

@bot.message_handler(commands=['Homework', 'homework'])
def send_homework(message):
	global Homework
	if Homework == '':
		bot.send_message(message.chat.id, 'У меня пока нет домашнего задания')
	else:
		bot.send_message(message.chat.id, Homework)

@bot.message_handler(content_types=['text'])
def send_text(message):
    if message.text.lower() == 'пока':
        bot.send_message(message.chat.id, 'Давай до свидания!')



bot.polling()
  • Вопрос задан
  • 4365 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
1. Прочитайте хоть что нибудь про работу с файлами
2. Глобал не обязательно использовать
3. Что это делает? Homework = (Homework1)

with open('Homework.txt', 'r', encoding='utf-8') as f:
    homework = f.read()

# ....

@bot.message_handler(commands=['Homework', 'homework'])
def send_homework(message):
  if not homework:
    bot.send_message(message.chat.id, 'У меня пока нет домашнего задания')
  else:
    bot.send_message(message.chat.id, homework)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Guerro69
потому что функция open принимает два аргумента первый - путь до файла, второй - вариант работы с файлом, в данном случае "r" - read а так же у открытого файла есть метод read(), для того чтобы отобразить текст в файле. Вот что нужно сделать:
Homework1 = open('Homework.txt','r')
Homework = Homework1.read()
Homework1.close()
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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