📁 Урок 6: Файли та збереження даних
💡 Сьогодні ти навчишся працювати з файлами: читати текст, зберігати жартів, і правильно тримати токен окремо від коду.
🔹 Крок 1: Читання файлу
📌 sample.txt → просте читання
from bendbandbot import SimpleBot
bot = SimpleBot('ТВІЙ_ТОКЕН')
def start(update):
with open('sample.txt', 'r', encoding='utf-8') as f:
text = f.read()
bot.send(update, text)
bot.on_command('start', start)
bot.start()
📌 encoding='utf-8' потрібен, щоб кирилиця не ламалась у Windows.
🔹 Крок 2: Токен у файлі
🔐 безпечне зберігання ключа
Створи файл token.key і встав туди токен одним рядком.
from bendbandbot import SimpleBot
with open('token.key', 'r', encoding='utf-8') as f:
token = f.read().strip()
bot = SimpleBot(token)
bot.on_command('start', 'Бот працює!')
bot.start()
📌 strip() прибирає перенос рядка в кінці файлу.
🔹 Крок 3: Файл як список (жарти)
📚 кожен рядок = один жарт
import random
from bendbandbot import SimpleBot
with open('token.key', 'r', encoding='utf-8') as f:
token = f.read().strip()
bot = SimpleBot(token)
def send_joke(update):
with open('jokes.txt', 'r', encoding='utf-8') as f:
jokes = f.readlines()
joke = random.choice(jokes).strip()
bot.send(update, joke)
bot.on_command('joke', send_joke)
bot.start()
📌 readlines() перетворює файл у список рядків Python.
🔹 Крок 4: Збереження нових жартів
💾 простий запис без складних обробок
import random
from bendbandbot import SimpleBot
with open('token.key', 'r', encoding='utf-8') as f:
token = f.read().strip()
bot = SimpleBot(token)
def handle_message(update):
text = update.message.text.strip()
if text.startswith('/'):
return
if text == "":
return
with open('jokes.txt', 'a', encoding='utf-8') as f:
f.write(text + '\n')
bot.send(update, '😂 Жарт збережено!')
bot.on_message(handle_message)
def send_joke(update):
try:
with open('jokes.txt', 'r', encoding='utf-8') as f:
jokes = f.readlines()
joke = random.choice(jokes).strip()
bot.send(update, joke)
except:
bot.send(update, '😢 Жартів ще немає')
bot.on_command('joke', send_joke)
bot.start()
💡 Тут ти вже маєш міні-систему: бот запам’ятовує дані у файл і потім їх використовує.