Задать вопрос
  • Бот работает но не отвечает на команды что делать?

    @zloybase64 Автор вопроса
    Код заработал,верная версия:
    import os
    import logging
    import random
    from background import keep_alive  #импорт функции для поддержки работоспособности
    from aiogram import Bot, Dispatcher, types
    from aiogram.utils import executor
    
    # Настройка журналирования
    logging.basicConfig(
        format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
        level=logging.INFO)
    logger = logging.getLogger(__name__)
    
    # Инициализация бота и диспетчера
    bot = Bot(token=os.environ['token'])
    dp = Dispatcher(bot)
    
    keep_alive()  #запускаем flask-сервер в отдельном потоке
    
    
    # Функция для выбора случайного сообщения из файла
    def get_random_message():
      with open('words.txt', 'r') as file:
        lines = file.readlines()
        message = random.choice(lines)
      return message.strip()
    
    
    # Функция для сохранения сообщений в файле
    def save_message_to_file(message):
      if message.startswith('/'):
        return  # не сохраняем команды в файле
    
      with open('words.txt', 'a') as file:
        file.write(message + '\n')
    
    
    # Функция для сохранения слов в файле
    def save_words_to_file(words):
      with open('words.txt', 'a') as file:
        file.write('\n'.join(words) + '\n')
    
    
    # Обработчик команды /start
    @dp.message_handler(commands=['start'])
    async def cmd_start(message: types.Message):
      """Команда /start"""
      await message.reply('Привет, я Бот!')
    
    
    # Обработчик команды /help
    @dp.message_handler(commands=['help'])
    async def cmd_help(message: types.Message):
      """Команда /help"""
      await message.reply(
          'Вы можете отправлять мне сообщения, и я буду их повторять. Администраторы могут удалить сообщения с помощью команды /delete.'
      )
    
    
    # Обработчик команды /delete для удаления сообщений (только для администраторов)
    @dp.message_handler(commands=['delete'])
    async def cmd_delete(message: types.Message):
      chat_id = message.chat.id
      message_id = message.reply_to_message.message_id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, удаляем сообщение
        try:
          await bot.delete_message(chat_id=chat_id, message_id=message_id)
        except Exception as e:
          # Если бот не может удалить сообщение, сообщаем пользователю об ошибке
          await bot.send_message(chat_id=chat_id,
                                 text=f'Не удалось удалить сообщение: {e}')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете удалять сообщения.'
        )
    
    
    # Обработчик команды /clear для очистки файла words.txt
    @dp.message_handler(commands=['clear'])
    async def cmd_clear(message: types.Message):
      chat_id = message.chat.id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, очищаем файл
        with open('words.txt', 'w') as file:
          file.write('')
        await bot.send_message(chat_id=chat_id, text='Файл words.txt был очищен.')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете очищать файл words.txt.'
        )
    
    
    # Обработчик команды /view для просмотра содержимого файла words.txt
    @dp.message_handler(commands=['view'])
    async def cmd_view(message: types.Message):
      chat_id = message.chat.id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, читаем содержимое файла
        with open('words.txt', 'r') as file:
          content = file.read()
        await bot.send_message(chat_id=chat_id,
                               text=f'Содержимое файла words.txt:\n\n{content}')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете просматривать файл words.txt.'
        )
    
    
    @dp.message_handler(content_types=types.ContentType.TEXT)
    async def echo(message: types.Message):
      text = message.text
      save_message_to_file(text)  # Сохраняем сообщение в файле
    
      # Получаем случайное сообщение из файла
      random_message = get_random_message()
    
      await message.answer(random_message)
    
    
    # Запуск бота
    if __name__ == '__main__':
      executor.start_polling(dp, skip_updates=True)
  • Бот работает но не отвечает на команды что делать?

    @zloybase64 Автор вопроса
    febday, извиняюсь за путаницу у меня откуда-то в коде повторения появились
  • Бот работает но не отвечает на команды что делать?

    @zloybase64 Автор вопроса
    febday, теперь он не пишет мне ничего и не сохраняет сообщения,но команды стали работать
    import os
    import logging
    import random
    from background import keep_alive  #импорт функции для поддержки работоспособности
    from aiogram import Bot, Dispatcher, types
    from aiogram.utils import executor
    
    # Настройка журналирования
    logging.basicConfig(
        format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
        level=logging.INFO)
    logger = logging.getLogger(__name__)
    
    # Инициализация бота и диспетчера
    bot = Bot(token=os.environ['token'])
    dp = Dispatcher(bot)
    
    keep_alive()  #запускаем flask-сервер в отдельном потоке
    
    
    # Функция для выбора случайного сообщения из файла
    def get_random_message():
      with open('words.txt', 'r') as file:
        lines = file.readlines()
        message = random.choice(lines)
      return message.strip()
    
    
    # Функция для сохранения сообщений в файле
    def save_message_to_file(message):
      if message.startswith('/'):
        return  # не сохраняем команды в файле
    
      with open('words.txt', 'a') as file:
        file.write(message + '\n')
    
    
    # Функция для сохранения слов в файле
    def save_words_to_file(words):
      with open('words.txt', 'a') as file:
        file.write('\n'.join(words) + '\n')
    
    
    # Обработчик команды /start
    @dp.message_handler(commands=['start'])
    async def cmd_start(message: types.Message):
      """Команда /start"""
      await message.reply('Привет, я Бот!')
    
    
    # Обработчик команды /help
    @dp.message_handler(commands=['help'])
    async def cmd_help(message: types.Message):
      """Команда /help"""
      await message.reply(
          'Вы можете отправлять мне сообщения, и я буду их повторять. Администраторы могут удалить сообщения с помощью команды /delete.'
      )
    
    
    # Обработчик команды /delete для удаления сообщений (только для администраторов)
    @dp.message_handler(commands=['delete'])
    async def cmd_delete(message: types.Message):
      chat_id = message.chat.id
      message_id = message.reply_to_message.message_id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, удаляем сообщение
        try:
          await bot.delete_message(chat_id=chat_id, message_id=message_id)
        except Exception as e:
          # Если бот не может удалить сообщение, сообщаем пользователю об ошибке
          await bot.send_message(chat_id=chat_id,
                                 text=f'Не удалось удалить сообщение: {e}')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете удалять сообщения.'
        )
    
    
    # Обработчик команды /clear для очистки файла words.txt
    @dp.message_handler(commands=['clear'])
    async def cmd_clear(message: types.Message):
      chat_id = message.chat.id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, очищаем файл
        with open('words.txt', 'w') as file:
          file.write('')
        await bot.send_message(chat_id=chat_id, text='Файл words.txt был очищен.')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете очищать файл words.txt.'
        )
    
    
    # Обработчик команды /view для просмотра содержимого файла words.txt
    @dp.message_handler(commands=['view'])
    async def cmd_view(message: types.Message):
      chat_id = message.chat.id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, читаем содержимое файла
        with open('words.txt', 'r') as file:
          content = file.read()
        await bot.send_message(chat_id=chat_id,
                               text=f'Содержимое файла words.txt:\n\n{content}')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете просматривать файл words.txt.'
        )
    
    
    # Запуск бота
    if __name__ == '__main__':
      executor.start_polling(dp, skip_updates=True)
    
    
    # Определение обработчика сообщений
    @dp.message_handler(content_types=types.ContentType.TEXT)
    async def echo(message: types.Message):
      text = message.text
      save_message_to_file(text)  # Сохраняем сообщение в файле
    
      # Получаем случайное сообщение из файла
      random_message = get_random_message()
    
      await message.answer(random_message)
    
    
    # Функция для сохранения слов в файле
    def save_words_to_file(words):
      with open('words.txt', 'a') as file:
        file.write('\n'.join(words) + '\n')
    
    
    # Обработчик команды /start
    @dp.message_handler(commands=['start'])
    async def cmd_start(message: types.Message):
      """Команда /start"""
      await message.reply('Привет, я Бот!')
    
    
    # Обработчик команды /help
    @dp.message_handler(commands=['help'])
    async def cmd_help(message: types.Message):
      """Команда /help"""
      await message.reply(
          'Вы можете отправлять мне сообщения, и я буду их повторять. Администраторы могут удалить сообщения с помощью команды /delete.'
      )
    
    
    # Обработчик команды /delete для удаления сообщений (только для администраторов)
    @dp.message_handler(commands=['delete'])
    async def cmd_delete(message: types.Message):
      chat_id = message.chat.id
      message_id = message.reply_to_message.message_id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, удаляем сообщение
        try:
          await bot.delete_message(chat_id=chat_id, message_id=message_id)
        except Exception as e:
          # Если бот не может удалить сообщение, сообщаем пользователю об ошибке
          await bot.send_message(chat_id=chat_id,
                                 text=f'Не удалось удалить сообщение: {e}')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете удалять сообщения.'
        )
    
    
    # Обработчик команды /clear для очистки файла words.txt
    @dp.message_handler(commands=['clear'])
    async def cmd_clear(message: types.Message):
      chat_id = message.chat.id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, очищаем файл
        with open('words.txt', 'w') as file:
          file.write('')
        await bot.send_message(chat_id=chat_id, text='Файл words.txt был очищен.')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете очищать файл words.txt.'
        )
    
    
    # Обработчик команды /view для просмотра содержимого файла words.txt
    @dp.message_handler(commands=['view'])
    async def cmd_view(message: types.Message):
      chat_id = message.chat.id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, читаем содержимое файла
        with open('words.txt', 'r') as file:
          content = file.read()
        await bot.send_message(chat_id=chat_id,
                               text=f'Содержимое файла words.txt:\n\n{content}')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете просматривать файл words.txt.'
        )
    
    
    @dp.message_handler(content_types=types.ContentType.TEXT)
    async def echo(message: types.Message):
      text = message.text
      save_message_to_file(text)  # Сохраняем сообщение в файле
    
      # Получаем случайное сообщение из файла
      random_message = get_random_message()
    
      await message.answer(random_message)
    
    
    # Запуск бота
    if __name__ == '__main__':
      executor.start_polling(dp, skip_updates=True)
  • Бот работает но не отвечает на команды что делать?

    @zloybase64 Автор вопроса
    febday, сделал,бот все равно игнорит команды
    import os
    import logging
    import random
    from background import keep_alive  #импорт функции для поддержки работоспособности
    from aiogram import Bot, Dispatcher, types
    from aiogram.utils import executor
    
    # Настройка журналирования
    logging.basicConfig(
        format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
        level=logging.INFO)
    logger = logging.getLogger(__name__)
    
    # Инициализация бота и диспетчера
    bot = Bot(token=os.environ['token'])
    dp = Dispatcher(bot)
    
    keep_alive()  #запускаем flask-сервер в отдельном потоке
    
    
    # Функция для выбора случайного сообщения из файла
    def get_random_message():
      with open('words.txt', 'r') as file:
        lines = file.readlines()
        message = random.choice(lines)
      return message.strip()
    
    
    # Функция для сохранения сообщений в файле
    def save_message_to_file(message):
      if message.startswith('/'):
        return  # не сохраняем команды в файле
    
      with open('words.txt', 'a') as file:
        file.write(message + '\n')
    
    
    import os
    import logging
    import random
    from background import keep_alive  #импорт функции для поддержки работоспособности
    from aiogram import Bot, Dispatcher, types
    from aiogram.utils import executor
    
    # Настройка журналирования
    logging.basicConfig(
        format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
        level=logging.INFO)
    logger = logging.getLogger(__name__)
    
    # Инициализация бота и диспетчера
    bot = Bot(token=os.environ['token'])
    dp = Dispatcher(bot)
    
    keep_alive()  #запускаем flask-сервер в отдельном потоке
    
    
    # Функция для выбора случайного сообщения из файла
    def get_random_message():
      with open('words.txt', 'r') as file:
        lines = file.readlines()
        message = random.choice(lines)
      return message.strip()
    
    
    # Функция для сохранения сообщений в файле
    def save_message_to_file(message):
      if message.startswith('/'):
        return  # не сохраняем команды в файле
    
      with open('words.txt', 'a') as file:
        file.write(message + '\n')
    
    
    # Определение обработчика сообщений
    @dp.message_handler(content_types=types.ContentType.TEXT)
    async def echo(message: types.Message):
      text = message.text
      save_message_to_file(text)  # Сохраняем сообщение в файле
    
      # Получаем случайное сообщение из файла
      random_message = get_random_message()
    
      await message.answer(random_message)
    
    
    # Функция для сохранения слов в файле
    def save_words_to_file(words):
      with open('words.txt', 'a') as file:
        file.write('\n'.join(words) + '\n')
    
    
    # Обработчик команды /start
    @dp.message_handler(commands=['start'])
    async def cmd_start(message: types.Message):
      """Команда /start"""
      await message.reply('Привет, я Бот!')
    
    
    # Обработчик команды /help
    @dp.message_handler(commands=['help'])
    async def cmd_help(message: types.Message):
      """Команда /help"""
      await message.reply(
          'Вы можете отправлять мне сообщения, и я буду их повторять. Администраторы могут удалить сообщения с помощью команды /delete.'
      )
    
    
    # Обработчик команды /delete для удаления сообщений (только для администраторов)
    @dp.message_handler(commands=['delete'])
    async def cmd_delete(message: types.Message):
      chat_id = message.chat.id
      message_id = message.reply_to_message.message_id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, удаляем сообщение
        try:
          await bot.delete_message(chat_id=chat_id, message_id=message_id)
        except Exception as e:
          # Если бот не может удалить сообщение, сообщаем пользователю об ошибке
          await bot.send_message(chat_id=chat_id,
                                 text=f'Не удалось удалить сообщение: {e}')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете удалять сообщения.'
        )
    
    
    # Обработчик команды /clear для очистки файла words.txt
    @dp.message_handler(commands=['clear'])
    async def cmd_clear(message: types.Message):
      chat_id = message.chat.id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, очищаем файл
        with open('words.txt', 'w') as file:
          file.write('')
        await bot.send_message(chat_id=chat_id, text='Файл words.txt был очищен.')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете очищать файл words.txt.'
        )
    
    
    # Обработчик команды /view для просмотра содержимого файла words.txt
    @dp.message_handler(commands=['view'])
    async def cmd_view(message: types.Message):
      chat_id = message.chat.id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, читаем содержимое файла
        with open('words.txt', 'r') as file:
          content = file.read()
        await bot.send_message(chat_id=chat_id,
                               text=f'Содержимое файла words.txt:\n\n{content}')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете просматривать файл words.txt.'
        )
    
    
    # Запуск бота
    if __name__ == '__main__':
      executor.start_polling(dp, skip_updates=True)
    
    
    # Определение обработчика сообщений
    @dp.message_handler(content_types=types.ContentType.TEXT)
    async def echo(message: types.Message):
      text = message.text
      save_message_to_file(text)  # Сохраняем сообщение в файле
    
      # Получаем случайное сообщение из файла
      random_message = get_random_message()
    
      await message.answer(random_message)
    
    
    # Функция для сохранения слов в файле
    def save_words_to_file(words):
      with open('words.txt', 'a') as file:
        file.write('\n'.join(words) + '\n')
    
    
    # Обработчик команды /start
    @dp.message_handler(commands=['start'])
    async def cmd_start(message: types.Message):
      """Команда /start"""
      await message.reply('Привет, я Бот!')
    
    
    # Обработчик команды /help
    @dp.message_handler(commands=['help'])
    async def cmd_help(message: types.Message):
      """Команда /help"""
      await message.reply(
          'Вы можете отправлять мне сообщения, и я буду их повторять. Администраторы могут удалить сообщения с помощью команды /delete.'
      )
    
    
    # Обработчик команды /delete для удаления сообщений (только для администраторов)
    @dp.message_handler(commands=['delete'])
    async def cmd_delete(message: types.Message):
      chat_id = message.chat.id
      message_id = message.reply_to_message.message_id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, удаляем сообщение
        try:
          await bot.delete_message(chat_id=chat_id, message_id=message_id)
        except Exception as e:
          # Если бот не может удалить сообщение, сообщаем пользователю об ошибке
          await bot.send_message(chat_id=chat_id,
                                 text=f'Не удалось удалить сообщение: {e}')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете удалять сообщения.'
        )
    
    
    # Обработчик команды /clear для очистки файла words.txt
    @dp.message_handler(commands=['clear'])
    async def cmd_clear(message: types.Message):
      chat_id = message.chat.id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, очищаем файл
        with open('words.txt', 'w') as file:
          file.write('')
        await bot.send_message(chat_id=chat_id, text='Файл words.txt был очищен.')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете очищать файл words.txt.'
        )
    
    
    # Обработчик команды /view для просмотра содержимого файла words.txt
    @dp.message_handler(commands=['view'])
    async def cmd_view(message: types.Message):
      chat_id = message.chat.id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, читаем содержимое файла
        with open('words.txt', 'r') as file:
          content = file.read()
        await bot.send_message(chat_id=chat_id,
                               text=f'Содержимое файла words.txt:\n\n{content}')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете просматривать файл words.txt.'
        )
    
    
    @dp.message_handler(content_types=types.ContentType.TEXT)
    async def echo(message: types.Message):
      text = message.text
      save_message_to_file(text)  # Сохраняем сообщение в файле
    
      # Получаем случайное сообщение из файла
      random_message = get_random_message()
    
      await message.answer(random_message)
    
    
    # Запуск бота
    if __name__ == '__main__':
      executor.start_polling(dp, skip_updates=True)
  • Бот работает но не отвечает на команды что делать?

    @zloybase64 Автор вопроса
    febday,
    import os
    import logging
    import random
    from background import keep_alive  #импорт функции для поддержки работоспособности
    from aiogram import Bot, Dispatcher, types
    from aiogram.utils import executor
    
    # Настройка журналирования
    logging.basicConfig(
        format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
        level=logging.INFO)
    logger = logging.getLogger(__name__)
    
    # Инициализация бота и диспетчера
    bot = Bot(token=os.environ['token'])
    dp = Dispatcher(bot)
    
    keep_alive()  #запускаем flask-сервер в отдельном потоке
    
    
    # Функция для выбора случайного сообщения из файла
    def get_random_message():
      with open('words.txt', 'r') as file:
        lines = file.readlines()
        message = random.choice(lines)
      return message.strip()
    
    
    # Функция для сохранения сообщений в файле
    def save_message_to_file(message):
      if message.startswith('/'):
        return  # не сохраняем команды в файле
    
      with open('words.txt', 'a') as file:
        file.write(message + '\n')
    
    
    import os
    import logging
    import random
    from background import keep_alive  #импорт функции для поддержки работоспособности
    from aiogram import Bot, Dispatcher, types
    from aiogram.utils import executor
    
    # Настройка журналирования
    logging.basicConfig(
        format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
        level=logging.INFO)
    logger = logging.getLogger(__name__)
    
    # Инициализация бота и диспетчера
    bot = Bot(token=os.environ['token'])
    dp = Dispatcher(bot)
    
    keep_alive()  #запускаем flask-сервер в отдельном потоке
    
    
    # Функция для выбора случайного сообщения из файла
    def get_random_message():
      with open('words.txt', 'r') as file:
        lines = file.readlines()
        message = random.choice(lines)
      return message.strip()
    
    
    # Функция для сохранения сообщений в файле
    def save_message_to_file(message):
      if message.startswith('/'):
        return  # не сохраняем команды в файле
    
      with open('words.txt', 'a') as file:
        file.write(message + '\n')
    
    
    # Определение обработчика сообщений
    @dp.message_handler(content_types=types.ContentType.TEXT)
    async def echo(message: types.Message):
      text = message.text
      save_message_to_file(text)  # Сохраняем сообщение в файле
    
      # Получаем случайное сообщение из файла
      random_message = get_random_message()
    
      await message.answer(random_message)
    
    
    # Функция для сохранения слов в файле
    def save_words_to_file(words):
      with open('words.txt', 'a') as file:
        file.write('\n'.join(words) + '\n')
    
    
    # Обработчик команды /start
    @dp.message_handler(commands=['start'])
    async def cmd_start(message: types.Message):
      """Команда /start"""
      await message.reply('Привет, я Бот!')
    
    
    # Обработчик команды /help
    @dp.message_handler(commands=['help'])
    async def cmd_help(message: types.Message):
      """Команда /help"""
      await message.reply(
          'Вы можете отправлять мне сообщения, и я буду их повторять. Администраторы могут удалить сообщения с помощью команды /delete.'
      )
    
    
    # Обработчик команды /delete для удаления сообщений (только для администраторов)
    @dp.message_handler(commands=['delete'])
    async def cmd_delete(message: types.Message):
      chat_id = message.chat.id
      message_id = message.reply_to_message.message_id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, удаляем сообщение
        try:
          await bot.delete_message(chat_id=chat_id, message_id=message_id)
        except Exception as e:
          # Если бот не может удалить сообщение, сообщаем пользователю об ошибке
          await bot.send_message(chat_id=chat_id,
                                 text=f'Не удалось удалить сообщение: {e}')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете удалять сообщения.'
        )
    
    
    # Обработчик команды /clear для очистки файла words.txt
    @dp.message_handler(commands=['clear'])
    async def cmd_clear(message: types.Message):
      chat_id = message.chat.id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, очищаем файл
        with open('words.txt', 'w') as file:
          file.write('')
        await bot.send_message(chat_id=chat_id, text='Файл words.txt был очищен.')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете очищать файл words.txt.'
        )
    
    
    # Обработчик команды /view для просмотра содержимого файла words.txt
    @dp.message_handler(commands=['view'])
    async def cmd_view(message: types.Message):
      chat_id = message.chat.id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, читаем содержимое файла
        with open('words.txt', 'r') as file:
          content = file.read()
        await bot.send_message(chat_id=chat_id,
                               text=f'Содержимое файла words.txt:\n\n{content}')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете просматривать файл words.txt.'
        )
    
    
    # Запуск бота
    if __name__ == '__main__':
      executor.start_polling(dp, skip_updates=True)
    
    
    # Определение обработчика сообщений
    @dp.message_handler(content_types=types.ContentType.TEXT)
    async def echo(message: types.Message):
      text = message.text
      save_message_to_file(text)  # Сохраняем сообщение в файле
    
      # Получаем случайное сообщение из файла
      random_message = get_random_message()
    
      await message.answer(random_message)
    
    
    # Функция для сохранения слов в файле
    def save_words_to_file(words):
      with open('words.txt', 'a') as file:
        file.write('\n'.join(words) + '\n')
    
    
    # Обработчик команды /start
    @dp.message_handler(commands=['start'])
    async def cmd_start(message: types.Message):
      """Команда /start"""
      await message.reply('Привет, я Бот!')
    
    
    # Обработчик команды /help
    @dp.message_handler(commands=['help'])
    async def cmd_help(message: types.Message):
      """Команда /help"""
      await message.reply(
          'Вы можете отправлять мне сообщения, и я буду их повторять. Администраторы могут удалить сообщения с помощью команды /delete.'
      )
    
    
    # Обработчик команды /delete для удаления сообщений (только для администраторов)
    @dp.message_handler(commands=['delete'])
    async def cmd_delete(message: types.Message):
      chat_id = message.chat.id
      message_id = message.reply_to_message.message_id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, удаляем сообщение
        try:
          await bot.delete_message(chat_id=chat_id, message_id=message_id)
        except Exception as e:
          # Если бот не может удалить сообщение, сообщаем пользователю об ошибке
          await bot.send_message(chat_id=chat_id,
                                 text=f'Не удалось удалить сообщение: {e}')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете удалять сообщения.'
        )
    
    
    # Обработчик команды /clear для очистки файла words.txt
    @dp.message_handler(commands=['clear'])
    async def cmd_clear(message: types.Message):
      chat_id = message.chat.id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, очищаем файл
        with open('words.txt', 'w') as file:
          file.write('')
        await bot.send_message(chat_id=chat_id, text='Файл words.txt был очищен.')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете очищать файл words.txt.'
        )
    
    
    # Обработчик команды /view для просмотра содержимого файла words.txt
    @dp.message_handler(commands=['view'])
    async def cmd_view(message: types.Message):
      chat_id = message.chat.id
    
      if message.from_user.id in [
          admin.user.id
          for admin in await bot.get_chat_administrators(chat_id=chat_id)
      ]:
        # Если пользователь, отправивший команду, является администратором, читаем содержимое файла
        with open('words.txt', 'r') as file:
          content = file.read()
        await bot.send_message(chat_id=chat_id,
                               text=f'Содержимое файла words.txt:\n\n{content}')
      else:
        # Если пользователь не является администратором, сообщаем ему об ошибке
        await bot.send_message(
            chat_id=chat_id,
            text=
            'Вы не являетесь администратором этого чата, поэтому вы не можете просматривать файл words.txt.'
        )
    
    
    # Запуск бота
    if __name__ == '__main__':
      executor.start_polling(dp, skip_updates=True)
  • Бот работает но не отвечает на команды что делать?

    @zloybase64 Автор вопроса
    febday, все работает,но команды нет(