Задать вопрос
  • Как улучшить код?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Вопрос,как улучшить код,чтобы при нажатие пробела нажатие на все координаты происходило одновременно

    Никак, в любом случае будет задержка. Попробуйте так, эксперементируйте с паузой, чтобы добиться максимально быстрых кликов:
    import keyboard as kb
    import pyautogui as pt
    
    pt.PAUSE = 0.01
    
    if __name__ == '__main__':
        coordinates = [
            (-1241, 624),
            (-303, 720),
            (604, 634),
            (1363, 679),
            (1363, 679),
            (2265, 654),
            (558, 1342),
            (2476, 1255),
        ]
    
        while True:
            if kb.is_pressed('Space'):
                for x, y in coordinates:
                    pt.click(x, y)
    Ответ написан
    4 комментария
  • React Graphql в чем ошибка?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    react-apollo@3.1.5 требует @types/react ^16.8.0, но Ваш проект использует @types/react@18.3.3.

    react-apollo project is deprecated
    Попробуйте @apollo/clien вместо react-apollo.
    Ответ написан
    Комментировать
  • Как лучше сделать поле в models для нескольких файлов?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Или есть какое-нибудь другое решение?

    Для Вашей задачи можно использовать сигнал post_delete, чтобы автоматически удалять связанные файлы из модели File, когда удаляется объект модели Question.
    Ответ написан
    Комментировать
  • Какую выбрать CMS для сайта на Next.js?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    заказчику требуется также CMS

    или подключить все на WordPress, но там все как-то сделано через одно место

    Вопрос стоимости и задач. WP далеко не идеальный инструмент, но дешевый и базовые фунции реализует легко.

    В ином случае, можно выбрать Strapi, cms под все, хоть админку для электрочайника делайте. Максимальная популярность в своем небольшом сегменте.
    Ответ написан
    1 комментарий
  • Как сделать на Python генерацию бейджика из ексель таблицы?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    1. Для gui pyqt или pyside.
    2. Для работы с excell openpyxl.
    3. Для работы с изображениями pillow.
    Ответ написан
    Комментировать
  • Почему не работает callback второй раз?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    - Зачем светить своим токеном?
    - Зачем 2 раза объявлять одну и туже функцию callback_message?
    - Внутри функции callback_message Вы использовали callback.message.chat.id для отправки сообщений, но callback.message является ссылкой на сообщение, которое инициировало callback, а не на сообщение, которое нужно отправить.
    - А как же обработка callback_data cadastral?
    - message.message_id минус 0?
    import telebot
    from telebot import types
    
    bot = telebot.TeleBot('token')
    file = open('./start1.jpg', 'rb')
    
    @bot.message_handler(commands=['start'])
    def start(message):
        markup = types.InlineKeyboardMarkup()
        markup.add(types.InlineKeyboardButton('Оценка', url='https://google.com'))
        markup.add(types.InlineKeyboardButton('Кадастровые работы', callback_data='cadastral'))
        markup.add(types.InlineKeyboardButton('Строительные экспертизы', callback_data='expertise'))
        bot.send_photo(message.chat.id, file, 
                       caption='Здравствуйте, это Бот-помощник группы компаний "Стандарт Оценка", я помогу Вам определиться с нужной услугой, оформить заявку и связаться с администратором. Выберете желаемую услугу', 
                       reply_markup=markup)
    
    @bot.callback_query_handler(func=lambda call: True)
    def callback_message(call):
        if call.data == 'cadastral':
            bot.delete_message(call.message.chat.id, call.message.message_id)
            bot.send_message(call.message.chat.id, 'Введите свое ФИО')
            bot.register_next_step_handler(call.message, message_input_step)
        elif call.data == 'expertise':
            bot.send_message(call.message.chat.id, 'Вы выбрали Строительные экспертизы')
        elif call.data == 'all':
            bot.send_message(call.message.chat.id, 'Все данные верны')
    
    def message_input_step(message):
        global name
        name = message.text
        bot.send_message(message.chat.id, 'Введите свой номер телефона')
        bot.register_next_step_handler(message, phone)
    
    def phone(message):
        global phone
        phone = message.text
        markup = types.InlineKeyboardMarkup()
        markup.add(types.InlineKeyboardButton('Все верно✅', callback_data='all'))
        markup.add(types.InlineKeyboardButton('Начать сначало❌', callback_data='cadastral'))
        bot.send_message(message.chat.id, f'Ваше ФИО: {name}\nВаш номер телефона: {phone}', reply_markup=markup)
    
    if __name__ == "__main__":
        bot.polling(none_stop=True)
    Ответ написан
    3 комментария
  • Почему next.js при билде выдает ошибку Cannot destructure property 'store' of 'useReduxContext2(...)' as it is null?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    А если так?
    // app/layout.js
    'client'
    
    import type { Metadata } from "next";
    import { Inter } from "next/font/google";
    import "@/base.scss";
    import { Provider } from 'react-redux';
    import { store } from '../redux/store';
    import Layout from "@/components/Layout";
    
    const inter = Inter({ subsets: ["latin"] });
    
    export const metadata: Metadata = {
      title: "Home | PlayCloud",
      description: "Unique web application for listening to a huge amount of music in a unique format",
    }
    
    export default function RootLayout({ children }: Readonly<{ children: React.ReactNode }>) {
      return (
        <html lang="en">
          <body className={inter.className}>
            <Provider store={store}>
              <Layout>
                {children}
              </Layout>
            </Provider>
          </body>
        </html>
      )
    }

    Cannot destructure property 'store' of 'useReduxContext2(...)' as it is null?

    Вам не нужно использовать useReduxContext2, потому что у Вас уже есть Provider, который делает контекст доступным для всех вложенных компонентов. Используйте useSelector и useDispatch из react-redux для получения доступа к состоянию и отправки в Redux.
    Ответ написан
  • Как выводить только записи в Wordpress?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Как вариант, для постов можно использовать get_posts():
    <?php
    
    $args = array(
        'post_type' => 'post', // posts
        'posts_per_page' => -1, // counts per page
        'order' => 'ASC', // по умолчанию get_posts() возвращает посты в порядке от новых к старым, изменим на обратное
    );
    
    $posts = get_posts($args);
    
    if (!empty($posts)) :
    
        foreach ($posts as $post) : setup_postdata($post); ?>
            <div>
                <h3><?php the_title(); ?></h3>
                <h4>Краткое описание:</h4>
                <p><?php the_excerpt(); ?></p>
                <a href="<?php the_permalink(); ?>">Ссылка на запись</a>
                <p>Тип записи: <?php echo get_post_type($post); ?></p> <!-- check post type -->
            </div>
        <?php endforeach;
    
        wp_reset_postdata();
    endif; ?>

    КартинкО

    6683aca90858a877454980.png

    P.S. вставлять в button превью и заголовок не самая лучшая идея...
    Ответ написан
    Комментировать
  • Размещать ли связанный сайт на поддомене, как QNA Habr?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Есть 2 сайта. Тематически второй можно разместить на поддомене.

    Какого рода материал на обоих сайтах? Если близкий по смыслу и подаче, то лучше на 1 домен подпапками, и наоборот.

    На крупные ресурсы я бы не стал ровняться, у них могут быть дополнительные факторы ранжирования, недоступные ресурсам поменьше.
    Ответ написан
    Комментировать
  • Могут ли по сайту найти админа?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Насколько реально получить из сайта на Вордпресс личную информацию админов?

    Зависит от того, кто будет искать. Если хулиганы, то лишь через перебор доступов или дырку в плагине, а вот если органы, то здесь другой риторический вопрос...
    Ответ написан
    3 комментария
  • Как декодироавать строку без искажений?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    server_response = "..."  # https://gist.github.com/serrhiy/56b1f296cb7b4fbf42febaf8c08347a1
    
    def decode_unicode_escapes(string):
        return re.sub(r'\\u([0-9A-Fa-f]{4})', lambda m: chr(int(m.group(1), 16)), string)
    
    unicode_decoded = decode_unicode_escapes(server_response)
    
    try:
        res = unicode_decoded.encode('utf-8').decode('utf-8')
    except UnicodeEncodeError as e:
        print(f"Ошибка: {e}.")
        res = unicode_decoded.encode('utf-8', errors='replace').decode('utf-8', errors='replace')
    
    print(res)  # <a href='https://www.immowelt.de/immoweltag/datenschutz' target="_blank" class="hm_link" title="Datenschutzerklärung der AVIV Germany GmbH">
    Ответ написан
  • Как в wordpress убрать noindex на страницах поиска?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Как вариант, remove_action():
    function test() {
        if (is_search()) {
            remove_action('wp_head', 'noindex', 10);
        }
    }
    
    add_action('wp', 'test');


    UPD:
    Возможно, кто то другой добавляет тег. Есть ли файл search.php в теме? Возможно в нем имеется noindex.
    https://stackoverflow.com/questions/28043745/wordp...
    Ответ написан
    3 комментария
  • Возможно ли настроить локализации для оптимизации видимости сайта в разных странах?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    развернуть на субдоменах

    Подпапки. Для геозависимые запросов рекомендую комбинировать https://habr.com/ru/articles/809681/
    Ответ написан
    2 комментария
  • Консультация по авторскому праву. Как правильно использовать чужие фото на своем сайте?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Может быть, есть какие-то другие варианты для решения подобных проблем? Что можете посоветовать?

    Один из вариантов:
    - Получить согласие на размещение.
    - Удалить незаконно размещённые материалы.
    - Заплатить штраф, компенсацию и выполнить решение суда.
    Ответ написан
    Комментировать
  • Как создать рассылку через личные сообщений Telegram Business API для новых пользователей?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Возможно ли это сделать средствами питона?

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

    Возможно.
    Ответ написан
  • Повлияет ли долг в Яндекс Директ на оплату Яндекс Бизнес?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Может ли Яндекс зачесть деньги, предназначенные для другого сервиса в счет старого долга?

    Если регистрационные данные организаций разные (директ и бизнес), которые принимали платеж, то - это разные организации, соответственно и ответственность разная (если не указано иное). А вот если данные одинаковые, то решение зависит от настроения левой пятки местного менеджера.
    Ответ написан
  • Является ли количество проектов в портфолио фактором ранжирования сайта?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Вопрос: является ли количество работ в разделе "портфолио" сайта фактором ранжирования в Яндексе и Google?

    Является, но не в контексте самих портфолио, а в контексте количества страниц с уникальным контентом. В ином случае, это больше будет во вред, а не на пользу (дубликаты или "малоценные" страницы).
    В поиске не нашёл информации, является ли это коммерческим фактором ранжирования или чем-то подобным.

    Ключ "портфолио", регион Москва и область, 1 замер:
    - Яндекс: на 90% информационный ключ.
    - Гугл: на 60% информационный ключ.

    P.S. "портфолио" как ключ - не очень эффективно, т.к. непонятно, что имеется ввиду (как сделать портфолио самостоятельно, купить портфолио, пример детского портфолио, пример портфолио рептилойдов), используйте более целевые ключи.
    Ответ написан
    Комментировать
  • Что делать если прогнали хрумером?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Если совсем новый ресурс, то возможно. Если старый, то нет.
    Ответ написан
    Комментировать
  • VSCode python не дает подсказки кода, как исправить?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
  • Как происходит сборка JS с множеством страниц и компонентов?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    во всех видео и статьях рассказывается, про единый файл app.js неужели один файл нужно прикреплять вообще на все страницы сайта и этот монстр будет по id или вызову компонентов понимать

    Или происходит сборка под каждую сложную сущность?

    Зависит от того, как настроите, но я бы сделал 1 директорию под 1 страницу, в ней находится html и js именно для этой страницы, в нее импортируются общие js библиотеки, общий js для страницы нужен для того, чтобы прописать логику именно под эту страницу. Правильно настроенный сборщик самостоятельно сгенерирует и подключит js файлы, необходимые для каждой страницы. Аналогично и по css.
    project/
    
    - home/
    
    -- home.html <-- подключение home.js/scss и библиотек (если они не требуют кастомной настроки)
    -- home.js <-- импорт js библиотек и кастомная настройка именно под страницу home
    -- home.scss <-- импорт scss библиотек и кастомная настройка именно под страницу home
    
    - catalog/
    
    -- catalog.html <-- подключение catalog.js/scss и библиотек (если они не требуют кастомной настроки)
    -- catalog.js <-- импорт js библиотек и кастомная настройка именно под страницу catalog
    -- catalog.scss <-- импорт scss библиотек и кастомная настройка именно под страницу 
    
    - libs/
    
    -- popup.js
    -- form.js

    на выходе примерно такое:
    dist/
    - home.html <-- подключено main.js/css + home.js/css
    - catalog.html <-- подключено main.js/css + catalog.js/css
    
    - assests/
    
    -- main.js <-- общие
    -- main.css <-- общие
    -- home.js
    -- home.css
    -- catalog.js
    -- catalog.css
    Ответ написан
    Комментировать