Задать вопрос
  • Как правильно зашифровать бд SQLite?

    @teenager_python
    V N, попробуй сначала создать пустую базу данных через sqlcipher, а уже потом создавать таблицы и заполнять их
  • Читайте детали вопроса. Как получить список пользователей чата aiogram?

    @teenager_python
    mmmxi, количество да без проблем выводиться, а вот именно пользователи
  • Читайте детали вопроса. Как получить список пользователей чата aiogram?

    @teenager_python
    mmmxi, слушай ну я уже час сижу пытаюсь сам сделать, вообще никак, я конечно не прям профессионал в этом, но я уже столько костылей перепробовал
  • Не работает бд в php?

    @teenager_python
    Ипатьев, посмотрите код человека, при проверке подключения -
    $mysql = new mysqli('176.107.160.36', 'limbo', 'Fear333M', 'vanilla');
      if ($mysql->compact_errno) 
        exit('Ошибка подключения к бд');
      $mysql->query("INSERT INTO `sait` (`login`, `password`) VALUES ('$login', '$password')");

    человек задавший вопрос использует это -
    ($mysql->compact_errno
    , вы знакомы с таким свойством, как
    compact_errno
    , а такого свойства наскольо мне известно не существует, соотвественно после этого работа кода у человека прерывается
  • Не работает бд в php?

    @teenager_python
    Права доступа к базе данных: убедитесь, что пользователь limbo имеет права на выполнение запросов на вставку данных в таблицу sait. Вы можете проверить права доступа, используя команду GRANT в MySQL.
  • Python: не выполняются условия, что делать?

    @teenager_python
    a = int(message.get_args())
    if a <= 1000:
    sum = 0.007 * a
    print(1000)
    elif a <= 10000:
    sum = a * 0.015
    print(10000)
    elif a <= 100000:
    sum = a * 0.025
    print(100000)
  • Можно ли с помощью selenium(python) реализовать такие решения? И насколько они удачны?

    @teenager_python
    Да, с помощью Selenium в Python можно реализовать автоматизацию взаимодействия с сайтом-магазином, включая скроллинг, открытие товаров в новых вкладках и сбор информации с каждого товара.

    Для реализации такого решения можно использовать методы WebDriver, такие как execute_script() и find_elements_by_xpath(). При каждом скроллинге можно собирать ссылки на новые товары и открывать их в новой вкладке с помощью метода driver.execute_script("window.open('"+url+"', '_blank')"). Затем можно переключаться на открытую вкладку с помощью метода driver.switch_to.window(driver.window_handles[-1]), собирать информацию и закрывать вкладку с помощью метода driver.close(), затем переключаться на первоначальную вкладку с помощью метода driver.switch_to.window(driver.window_handles[0]). Этот процесс можно повторять до тех пор, пока не будет достигнут конец страницы.

    Для реализации такого решения можно использовать методы WebDriver, такие как execute_script() и find_elements_by_xpath(). Сначала нужно прокрутить страницу вниз до самого низа с помощью метода driver.execute_script("window.scrollTo(0, document.body.scrollHeight);"). Затем можно собирать ссылки на все товары на странице с помощью метода driver.find_elements_by_xpath(). После этого можно переходить на каждый товар по очереди, собирать информацию и переходить обратно на страницу со списком товаров.

    Более удачное решение зависит от конкретного случая и может включать в себя использование различных методов Selenium, таких как WebDriverWait(), ActionChains() и execute_async_script(), а также оптимизацию кода и использование многопоточности для ускорения работы скрипта. Важно учитывать, что использование Selenium может быть достаточно ресурсоемким, поэтому стоит обращать внимание на оптимизацию скрипта и устанавливать разумные задержки между действиями.

    Но как сказкали выше, парсить с помощью Selenium, не самое лучшее решение
  • Почему не получаю обратной связи от бота?

    @teenager_python Автор вопроса
    Vindicar, посидел, потыкался, начал теперь хотя бы после отладки получат ошибку, а связана она с директориями:
    ERROR:root:[Errno 2] No such file or directory: 'voice/file_0.oga'
    Traceback (most recent call last):
    File "c:\Users\BEEZZYY\Desktop\Music\zakaz", line 33, in handle_message
    with sr.AudioFile(file_path) as source:
    File "C:\Users\BEEZZYY\AppData\Local\Programs\Python\Python310\lib\site-packages\speech_recognition\__init__.py", line 241, in __enter__
    self.audio_reader = wave.open(self.filename_or_fileobject, "rb")
    File "C:\Users\BEEZZYY\AppData\Local\Programs\Python\Python310\lib\wave.py", line 509, in open
    return Wave_read(f)
    File "C:\Users\BEEZZYY\AppData\Local\Programs\Python\Python310\lib\wave.py", line 159, in __init__
    f = builtins.open(f, 'rb')
    FileNotFoundError: [Errno 2] No such file or directory: 'voice/file_0.oga'
  • Почему не получаю обратной связи от бота?

    @teenager_python Автор вопроса
    Vindicar, я бы даже сказал, что он воспринимает только текст, потому что даже картинки он не воспринимает
  • Почему не получаю обратной связи от бота?

    @teenager_python Автор вопроса
    Vindicar, в итоге почему он не считывает тип данных AUDIO?
  • Почему не получаю обратной связи от бота?

    @teenager_python Автор вопроса
    Vindicar, сделал обработчик, почему-то он не воспринимает сообщения в виде музыки, хотя текст воспринимает

    import os
    import speech_recognition as sr
    import nltk
    from nltk.sentiment.vader import SentimentIntensityAnalyzer
    from nltk.corpus import wordnet
    from afinn import Afinn
    import logging
    from aiogram import Bot, Dispatcher, types
    from aiogram.types import ContentType
    from aiogram.utils import executor
    
    # Указываем токен бота
    bot = Bot(token='token')
    dp = Dispatcher(bot)
    
    # Включаем логирование
    logging.basicConfig(level=logging.INFO)
    
    # Обработчик голосовых сообщений
    @dp.message_handler()
    async def handle_all_messages(message: types.Message):
        content_type = message.content_type
        print(f"Received message of type {content_type}")
    
    # Запускаем бота
    if __name__ == '__main__':
        executor.start_polling(dp, skip_updates=True)


    INFO:aiogram:Bot: MyTranslater [@MyTranslaterrr_bot]
    WARNING:aiogram:Updates were skipped successfully.
    INFO:aiogram.dispatcher.dispatcher:Start polling.
    Received message of type text
  • Как посмотреть статус исполнения скрипта?

    @teenager_python
    Александр Нестеров, немного ошибся, но там вроде есть аналоги
  • Как определить в строке символы и заменить их?

    @teenager_python
    Ильнар Камалетдинов,
    const splitter = document.querySelector('#sdk');
        
    splitter.addEventListener("click", () => {
            
      function splitString(stringToSplit, separator) {
        var arrayOfStrings = stringToSplit.split(new RegExp("[ ,]"));
                
        var csde = document.querySelector('#krw');
        csde.value = arrayOfStrings.join(' | ');
      }
    
      var tempestString = document.querySelector('#krw').value;
      splitString(tempestString);
    });
  • Почему не получаю обратной связи от бота?

    @teenager_python Автор вопроса
    Ответа не последовало, даже с учетом написанного выше
  • Используя библиотеку PyTelegrammBotApi столкнулся с проблемой бесконечного вывода сообщений из текстового файла, как это можно исправить?

    @teenager_python
    Проблема, которую вы описали, возникает из-за того, что цикл for в вашей функции work() не имеет условия выхода и продолжает выводить сообщения из файла, пока он не будет полностью прочитан.

    Чтобы исправить эту проблему, вы можете добавить условие выхода из цикла for, когда все нужные сообщения уже были отправлены. Например, вы можете добавить счетчик и проверять, не превышает ли он количество сообщений в файле.

    Также, когда все нужные сообщения были отправлены, вы можете отправить пользователю какое-то сообщение, чтобы он знал, что вывод из файла закончен. Например, вы можете отправить сообщение "Все сообщения отправлены" или что-то в этом духе.

    @bot.message_handler(content_types=['int', 'text'])
    def work(message):
        if message.text == '1 курс':
            message_count = 0
            for y in x:
                if y.replace("\n", "") == time.strftime("%d %b", time.localtime(message.date)):
                    for y1 in x:
                        if y1 != '_\n':
                            bot.send_message(message.chat.id, y1)
                            time.sleep(1)
                            message_count += 1
                            if message_count >= max_message_count:  # условие выхода из цикла
                                break
                        elif y1 == '_\n':
                            bot.send_message(message.chat.id, "Все сообщения отправлены")  # сообщение о завершении
                            return  # выход из функции


    Здесь max_message_count - это максимальное количество сообщений, которые вы хотите отправить. Когда количество отправленных сообщений достигает этого значения, цикл for прерывается и функция work() завершается.

    А вообще лучше как вам сказали выше, разбить все на маленькие функции, ибо в дальнейшем это принесет вам намного больше пользы
  • Как остановить цикл при нажатии на кнопку aiogram?

    @teenager_python
    В библиотеке aiogram, чтобы остановить цикл при нажатии на кнопку, вы можете использовать метод register_callback_query_handler() в сочетании с stop_propagation=True, чтобы предотвратить дальнейшую обработку событий.
    # Создаем состояние, в котором мы ожидаем нажатие на кнопку
    class MyStates(StatesGroup):
        waiting_for_button = State()
    
    # Обработчик команды /start
    @dp.message_handler(commands=["start"])
    async def start(message: types.Message):
        # Отправляем сообщение с кнопкой
        keyboard = types.InlineKeyboardMarkup()
        button = types.InlineKeyboardButton(text="Остановить", callback_data="stop")
        keyboard.add(button)
        await message.answer("Нажмите на кнопку, чтобы остановить цикл", reply_markup=keyboard)
    
        # Устанавливаем состояние "waiting_for_button"
        await MyStates.waiting_for_button.set()
    
    # Обработчик нажатия на кнопку
    @dp.callback_query_handler(Text(equals="stop"), state=MyStates.waiting_for_button)
    async def stop_callback(query: CallbackQuery, state: FSMContext):
        # Останавливаем цикл и удаляем состояние
        await query.answer("Цикл остановлен")
        await state.finish()
        # Вызываем stop_propagation=True, чтобы предотвратить дальнейшую обработку событий
        return await query.message.edit_text("Вы остановили цикл", reply_markup=None, disable_web_page_preview=True, stop_propagation=True)
    
    # Запускаем бота
    if __name__ == "__main__":
        executor.start_polling(dp, skip_updates=True)
  • Не находит контроллер. Что делать?

    @teenager_python Автор вопроса
    serhiops,
    Arduino: 1.8.19 (Windows Store 1.8.57.0) (Windows 10), Плата:"Arduino Nano, ATmega328P"

    Скетч использует 3034 байт (9%) памяти устройства. Всего доступно 30720 байт.

    Глобальные переменные используют 225 байт (10%) динамической памяти, оставляя 1823 байт для локальных переменных. Максимум: 2048 байт.

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xb0

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xb0

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xb0

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xb0

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xb0

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xb0

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xb0

    Problem uploading to board. See https://support.arduino.cc/hc/en-us/sections/36000... for suggestions.

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xb0

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xb0

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xb0

    Этот отчёт будет иметь больше информации с
    включенной опцией Файл -> Настройки ->
    "Показать подробный вывод во время компиляции"
  • Не находит контроллер. Что делать?

    @teenager_python Автор вопроса
    serhiops, пробовал все порты, либо просто зависает, либо ошибка, что выше
  • Причина зависания рендера?

    @teenager_python Автор вопроса
    Сначала думал, проблема в том, что не хватает плагина RSMB, плагин установил, проблема не решилась.