Всем привет. Небольшая просьба "сильно ногами не бить" Python изучаю самостоятельно буквально пару месяцев.
Хотел попросить помощи с кодом для тереграмм канала анекдот. Моя задумка такая, что бы после запуска бота через определенное количество времени (примерно час) в мой канал отправлялось сообщение которое рандомно берется и читается из папки (в папке лежат только файлы в txt формате и их там много примерно пару тысяч) но сталкнулся с такой проблемой. Если указываю директорию и конкретно файл file = open(r'C:\txt\175.txt', encoding='UTF-8') то сообщение выводится в канал нормально т.к указад кодировку UTF-8. Но как только прописываю with open(os.path.join(DIR, random.choice(os.listdir(DIR)))) as file: получается "абра кадабра" полная неразбериха. Подскажите как правильно сделать пожалуйста.
И еще вопрос до кучи
как лучще это сделать безприрывно. Читал что если через цикл while True: то это кустарно, а хотелось бы правильно.
1-й код выводит сообщение как в текстовом файле
2-й код выдает абракадабра))
Хотел попросить помощи с кодом для тереграмм канала анекдот. Моя задумка такая, что бы после запуска бота через определенное количество времени (примерно час) в мой канал отправлялось сообщение которое рандомно берется и читается из папки (в папке лежат только файлы в txt формате и их там много примерно пару тысяч) но сталкнулся с такой проблемой. Если указываю директорию и конкретно файл file = open(r'C:\txt\175.txt', encoding='UTF-8') то сообщение выводится в канал нормально т.к указад кодировку UTF-8. Но как только прописываю with open(os.path.join(DIR, random.choice(os.listdir(DIR)))) as file: получается "абра кадабра" полная неразбериха. Подскажите как правильно сделать пожалуйста.
И еще вопрос до кучи
1-й код выводит сообщение как в текстовом файле
2-й код выдает абракадабра))
Python:
import telebot
import time
bot = telebot.TeleBot('Мой токен')
time.sleep(5)
file = open(r'C:\txt\180.txt', encoding='UTF-8')
txt = file.read()
file.close()
bot.send_message('@мой канал', txt)
bot.polling()
Python:
import telebot
import os, random
import time
bot = telebot.TeleBot('Мой токен')
DIR = r'C:\Users\botte\PycharmProjects\test\txt'
time.sleep(5)
with open(os.path.join(DIR, random.choice(os.listdir(DIR)))) as file:
bot.send_message('@мой канал', file)
bot.polling()
Последнее редактирование: