📦 Урок 7: Структура повідомлення + пам’ять бота

💡 Telegram передає не текст, а об’єкт з даними користувача, чату і повідомлення.

🔹 Крок 1: Інспектор повідомлення + RAW

from bendbandbot import SimpleBot # 🔑 читаємо токен with open("token.key", "r", encoding="utf-8") as f: token = f.read().strip() # 🤖 створюємо бота bot = SimpleBot(token) def debug(update): user = update.message.from_user text = update.message.text # 📩 показ тексту bot.send(update, "📩 ТЕКСТ:\n" + text) # 👤 дані користувача bot.send(update, "👤 КОРИСТУВАЧ:\n" "ID: " + str(user.id) + "\n" "Ім'я: " + user.first_name + "\n" "Username: @" + str(user.username) ) # 🔥 RAW UPDATE bot.send(update, "🔥 RAW UPDATE:\n" + str(update) ) bot.on_message(debug) bot.start()

🔹 Крок 2: Пам’ять бота (users.txt + лічильник)

from bendbandbot import SimpleBot with open("token.key", "r", encoding="utf-8") as f: token = f.read().strip() bot = SimpleBot(token) def remember(update): user = update.message.from_user user_id = str(user.id) name = user.first_name file_name = "users.txt" # 📂 читаємо файл try: with open(file_name, "r", encoding="utf-8") as f: lines = f.readlines() except FileNotFoundError: lines = [] found = False new_lines = [] count = 0 # 🔍 перевірка користувача for line in lines: parts = line.strip().split("|") # 🛡 захист старого формату if len(parts) < 3: parts.append("1") if parts[0].strip() == user_id: found = True count = int(parts[2]) + 1 new_lines.append(parts[0] + " | " + parts[1] + " | " + str(count) + "\n") else: new_lines.append(line) # 🆕 новий користувач if not found: count = 1 new_lines.append(user_id + " | " + name + " | 1\n") bot.send(update, "🧠 Я тебе запам’ятав, " + name + "!") else: bot.send(update, "👀 Я тебе пам’ятаю, " + name + "!\n" "Ти вже написав " + str(count) + " повідомлень" ) # 💾 запис у файл with open(file_name, "w", encoding="utf-8") as f: f.writelines(new_lines) bot.on_message(remember) bot.start()

📂 users.txt формат

123 | Alex | 5 456 | Maria | 2 789 | Ivan | 10
✔ update = об’єкт, не текст ✔ RAW UPDATE показує всю структуру ✔ бот зберігає стан у файлі ✔ бот рахує повідомлення ✔ перша “пам’ять” системи