простой Бот логгер на aiogram (бот для телеграма который запоминает все сообщения и выдаёт их)

Приготовьтесь совершить прорыв в управлении данными мессенджера с нашим Ботом-логгером на aiogram. Начните писать новую главу в истории цифровых коммуникаций уже сегодня и откройте для себя невиданные ранее горизонты сохранения информации!

import random
from aiogram import Bot, Dispatcher, types
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from api_token import token

WORDS_FILE = "words.txt"
PHRASES_FILE = "phrases.txt"

bot = Bot(token)
storage = MemoryStorage()
dp = Dispatcher(bot, storage=storage)


#Эта строка указывает, что следующая функция будет обрабатывать сообщения, начинающиеся с команды "/start".
@dp.message_handler(commands=["start"])
# Эта функция приветствует пользователя и рассказывает о возможностях бота.
async def start(message: types.Message):
    await message.reply("Привет! Я бот, который может выдавать случайные слова и фразы.")

#Эта строка указывает, что следующая функция будет обрабатывать сообщения, начинающиеся с команды "/word".
@dp.message_handler(commands=["word"])
# Эта функция открывает файл со словами, выбирает случайное слово из файла
#и отправляет его в качестве ответа пользователю.
async def random_word(message: types.Message):
    with open(WORDS_FILE, "r") as file:
        all_words = file.readlines()
        random.shuffle(all_words)
        selected_word = random.choice(all_words).strip()
    await message.reply(selected_word)
# Эта строка указывает, что следующая функция будет обрабатывать сообщения, начинающиеся с команды "/ph".
@dp.message_handler(commands=["ph"])
#Эта функция открывает файл с фразами,
#выбирает случайную фразу из файла и отправляет её в качестве ответа пользователю.
async def random_phrase(message: types.Message):
    with open(PHRASES_FILE, "r") as file:
        all_phrases = file.readlines()
        random.shuffle(all_phrases)
        selected_phrase = random.choice(all_phrases).strip()
    await message.reply(selected_phrase)

# Эта строка указывает, что следующая функция будет обрабатывать любые сообщения, не являющиеся командами.
@dp.message_handler()
#Эта функция разделяет текст сообщения на слова и сохраняет их в файлы со словами и фразами.
async def save_words_and_phrases(message: types.Message):
    words_and_phrases = message.text.split()
    with open(WORDS_FILE, "a") as words_file:
        for word in words_and_phrases:
           words_file.write(word + "\n")
    with open(PHRASES_FILE, "a") as phrases_file:
        phrases_file.write(" ".join(words_and_phrases))
        phrases_file.write("\n")

# Здесь происходит запуск бота через библиотеку aiogram.
if __name__ == '__main__':
    from aiogram import executor
    executor.start_polling(dp)
На главную YouTube Telegram Предыдущая страница Следующая страница