Ответы пользователя по тегу Python
  • Как парсить товар на Алиэкспресс python?

    @Hitreno
    Советую сразу учить либу Playwright на python (есть ещё на js) от microsoft, т.к. она весьма свежая и как по мне удобнее всех прочих
    Ответ написан
    Комментировать
  • Хероку ругается на библиотеку, что делать?

    @Hitreno
    Не знаю насчёт конкретно хероку, но на какой-нибудь виртуальный сервер можно загружать сам архив с файлами библиотеки и устанавливать либу из файла
    pip3 install путь_к_либе.tar.gz
    Ответ написан
    Комментировать
  • Как в python tkinter повернуть фигуру или картинку?

    @Hitreno
    Для начала тибе нужна пагуглить, но я зделол это за тибя, вот смотри тут.
    Кстати, этат вопрос вовси не сложныи
    Ответ написан
  • Как завершить программу при получение отрицательного ответа?

    @Hitreno
    UPD: Табуляция появилась, проблема в if/else - если срабатывает if, то не срабатывает else, логично. Возможно и обратное - if не сработал и сработал else, но и if и else вместе сработать не могут. В этом и проблема - переменная log назначается в if, тогда как используется в else, поэтому если if не срабатывает переменная просто не создаётся. Попробуйте вынести объявление переменных, используемых в else, из конструкции if/else

    1. Вы не сделали табуляцию кода в вопросе, без чего не понять, где у вас заканчивается if, else и прочее.

    2. Если вы посмотрите на вывод терминала, который вы привели в конце, то там чёрным по белому написано - name 'log' is not defined (переменной с именем log не существует). Из-за проблем с табуляцией точную проблему назвать не могу.

    P.S. Использование для базы данных txt файл является очень странным решением. В питоне предустановлена библиотека sqlite3, позволяющая делать все работы с данными в вашем скрипте намного проще и корректнее. Вы же используете для записи данных деревянный забор и тупой гвоздь вместо предназначенной для этого бумаги.
    Ответ написан
    Комментировать
  • Вызвать клавиатуру в прошлом меню?

    @Hitreno
    Вы объявили клавиатуру markup внутри функции welcome, поэтому клавиатуру нельзя вызвать из другой функции (callback_inline). Объявите клавиатуру вне функций, до всех хэндлеров, так будет работать.
    Рабочий код
    import telebot
    import config
    import random
    
    from telebot import types
    
    bot = telebot.TeleBot(config.TOKEN)
    
    markup = types.InlineKeyboardMarkup(row_width=2)
    item1 = types.InlineKeyboardButton(" Получить", callback_data='good')
    item2 = types.InlineKeyboardButton(" Помощь", callback_data='bad')
    markup.add(item1, item2)
    
    @bot.message_handler(commands=['start'])
    def welcome(message):
      sti = open('static/welcome.tgs', 'rb')
      bot.send_sticker(message.chat.id, sti)
    
      bot.send_message(message.chat.id, "Добро пожаловать, {0.first_name}!\nНажми на - <b>Получить</b>, и я тебе скину нужные данные.".format(message.from_user, bot.get_me()),
        parse_mode='html', reply_markup=markup)
    
    @bot.message_handler(content_types=['text'])
    def lalala(message):
      if message.chat.type == 'private':
    
        if message.text == 'admin':
          bot.send_message(message.chat.id)
          
        else:
          bot.send_message(message.chat.id, 'Если есть вопросы то напишите @')
    
    @bot.callback_query_handler(func=lambda call: True)
    def callback_inline(call):
        try:
            if call.message:
    
                if call.data == 'good':
                	line = random.choice(open('pass.txt', encoding="utf-8").readlines())
                	bot.edit_message_text(message_id=call.message.id, chat_id=call.message.chat.id, text=f'''<code>{line}</code>''', parse_mode='HTML')
                    #СУДА НУЖНО ДОБАВИТЬ КЛАВИАТУРУ С ПРИВЕТСТВИЯ
                elif call.data == 'bad':
                    bot.send_message(call.message.chat.id, 'Если есть вопросы то напишите @')
    
        except Exception as e:
            print(repr(e))
    
    # RUN
    bot.polling(none_stop=True)
    Ответ написан
    Комментировать
  • Бесконечный запуск кода на python anyware?

    @Hitreno
    По ВК и python anywhere точно не знаю, но телеграмм боты на сервере стали работать стабильно когда заменил polling (LongPool в вашем случае) на вебхуки
    Ответ написан
    Комментировать